Site icon bintorosoft.com

Web Stack auf Linux konfigurieren: Der komplette Leitfaden für Einsteiger

A tiny penguin chick sits on a keyboard, exploring the computer. Its fluffy appearance and curious expression create a delightful scene.

Die Konfiguration eines Web Stacks auf Linux ist eine grundlegende Fähigkeit für Einsteiger und IT-Studierende, die in die Welt der Webentwicklung und Netzwerkadministration einsteigen möchten. In diesem Leitfaden erklären wir Schritt für Schritt, wie Sie auf einem Linux-System einen kompletten Web Stack einrichten, bestehend aus Webserver, Datenbank, Programmiersprachen und notwendigen Tools. Ziel ist es, eine stabile und sichere Umgebung für Webanwendungen zu schaffen.

Vorbereitung und Systemanforderungen

Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass Ihr Linux-System auf dem neuesten Stand ist. Wir empfehlen eine Distribution wie Ubuntu oder CentOS.

Systemaktualisierung

sudo apt update
sudo apt upgrade -y

Für CentOS:

sudo yum update -y

Notwendige Pakete installieren

Einige Basis-Pakete sind für den Web Stack erforderlich:

sudo apt install wget curl unzip git -y

Installation des Webservers

Der Webserver ist das Herzstück eines Web Stacks. Die gängigsten Optionen sind Apache und Nginx.

Apache Webserver

sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl status apache2

Nach der Installation können Sie die Funktionsfähigkeit testen, indem Sie die IP-Adresse des Servers in einem Browser eingeben.

Nginx Webserver

sudo apt install nginx -y
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl status nginx

Datenbankinstallation

Datenbanken speichern dynamische Inhalte und Benutzerinformationen. MySQL/MariaDB sind die gängigsten Optionen.

MariaDB Installation

sudo apt install mariadb-server mariadb-client -y
sudo systemctl start mariadb
sudo systemctl enable mariadb

Datenbank absichern

sudo mysql_secure_installation

Folgen Sie den Anweisungen, um Root-Passwort zu setzen, anonyme Benutzer zu entfernen und den Remote-Zugriff zu deaktivieren.

Installation von PHP

PHP ist eine weit verbreitete Programmiersprache für Webanwendungen. Für die Integration mit Apache oder Nginx sind zusätzliche Module erforderlich.

PHP installieren

sudo apt install php php-mysql libapache2-mod-php -y

PHP mit Apache testen

sudo nano /var/www/html/info.php

In die Datei schreiben:

<?php
phpinfo();
?>

Danach im Browser aufrufen: http://IP-Adresse/info.php

Firewall und Sicherheit

Die Absicherung des Webservers ist essentiell, um unbefugten Zugriff zu verhindern.

Firewall konfigurieren

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable
sudo ufw status

Virtuelle Hosts einrichten

Virtuelle Hosts ermöglichen es, mehrere Websites auf einem Server zu hosten.

Apache Virtual Host

sudo nano /etc/apache2/sites-available/meinewebsite.conf

Beispielkonfiguration:

<VirtualHost *:80>
    ServerAdmin webmaster@meinewebsite.de
    ServerName meinewebsite.de
    ServerAlias www.meinewebsite.de
    DocumentRoot /var/www/meinewebsite
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo a2ensite meinewebsite.conf
sudo systemctl reload apache2

Backup-Strategien

Regelmäßige Backups schützen vor Datenverlust. Dabei können MySQL-Datenbanken und Webdateien gesichert werden.

MySQL-Datenbank sichern

mysqldump -u root -p meine_datenbank > backup.sql

Webverzeichnis sichern

tar -czvf web_backup.tar.gz /var/www/meinewebsite

Optional: SSL-Zertifikate einrichten

HTTPS ist heute Standard für sichere Webverbindungen. Let’s Encrypt bietet kostenlose Zertifikate.

sudo apt install certbot python3-certbot-apache -y
sudo certbot --apache

Folgen Sie den Anweisungen, um die Domain zu verifizieren und SSL zu aktivieren.

Grundlegende Netzwerkkonfiguration

Für die Webserver-Kommunikation ist die Netzwerkkonfiguration entscheidend. Stellen Sie sicher, dass IP-Adressen, Subnetze und Gateway korrekt konfiguriert sind.

IP-Adresse und Subnetz berechnen

Beispiel: IP-Adresse 192.168.1.10 mit Subnetzmaske 255.255.255.0

<math>
Subnetzadresse = 192.168.1.10 & 255.255.255.0 = 192.168.1.0
Broadcastadresse = 192.168.1.0 | ~255.255.255.0 = 192.168.1.255
</math>

Netzwerkinterface konfigurieren

Unter Ubuntu Server:

sudo nano /etc/netplan/00-installer-config.yaml

Beispiel:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: no
      addresses:
        - 192.168.1.10/24
      gateway4: 192.168.1.1
      nameservers:
          addresses: [8.8.8.8,8.8.4.4]
sudo netplan apply

Monitoring und Logs

Die Überwachung des Webservers hilft, Fehler frühzeitig zu erkennen und die Performance zu optimieren.

Apache-Logs prüfen

tail -f /var/log/apache2/error.log
tail -f /var/log/apache2/access.log

Nginx-Logs prüfen

tail -f /var/log/nginx/error.log
tail -f /var/log/nginx/access.log

Zusätzliche Tools für Entwickler

Für eine effiziente Entwicklung und Verwaltung des Web Stacks können folgende Tools installiert werden:

sudo apt install phpmyadmin git composer nodejs npm -y

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3

Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.

Meine Leistungen umfassen:

Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.

Exit mobile version