Tutorial – LAMP mit Python

Lesedauer 5 Minuten
Posted: Di.. 24.10.2023-19:16Updated: Di.. 24.10.2023-20:37

 Dieses Tutorial führt Sie Schritt für Schritt durch den Prozess der Installation und Konfiguration eines Webservers unter Linux, der Apache als Webserver, MariaDB als Datenbanksystem und Python für serverseitige Skripte verwendet.

Webserver unter Linux aufsetzen mit Apache, MariaDB und Python

LAMP installieren
Created with help of LeChat Mistral AI

Kurzbeschreibung:
Dieses Tutorial führt Sie Schritt für Schritt durch den Prozess der Installation und Konfiguration eines Webservers unter Linux, der Apache als Webserver, MariaDB als Datenbanksystem und Python für serverseitige Skripte verwendet.

Strukturierte Übersicht:

  1. Systemvorbereitung

  2. Apache-Webserver installieren und konfigurieren

  3. MariaDB-Datenbank installieren und absichern

  4. Python und notwendige Module installieren

  5. Apache für Python konfigurieren

  6. Testen der Installation

Ohne Gewähr! Bitte beachten Sie, dass dies allgemeine Anweisungen sind und je nach Betriebssystem und spezifischer Versionen unterschiedlich sein können, Tippfehler nicht ausgeschlossen.

Um LAMP (Linux, Apache, MySQL, Python) zu installieren, können Sie die folgenden Schritte befolgen:

Hinweis: Da einige der Software-Pakete relativ häufig aktualisiert werden, sehen Sie sich bitte auch ggf. andere Anleitungen, wie z.B. die folgenden an:

Wir starten mit der Systemvorbereitung.

Kapitel 1: Systemvorbereitung

Schritt 1.1: Aktualisieren Sie Ihr System
Öffnen Sie ein Terminal und geben Sie folgende Befehle ein:

sudo apt update
sudo apt upgrade -y

Diese Befehle aktualisieren die Paketlisten und installieren verfügbare Updates.


Kapitel 2: Apache-Webserver installieren und konfigurieren

Schritt 2.1: Apache installieren
Öffnen Sie ein Terminal und geben Sie folgenden Befehl ein:

sudo apt install apache2 -y

Dieser Befehl installiert den Apache-Webserver auf Ihrem System.

Schritt 2.2: Apache-Dienst starten und aktivieren
Führen Sie folgende Befehle aus:

sudo systemctl start apache2
sudo systemctl enable apache2

Diese Befehle starten den Apache-Dienst und stellen sicher, dass er beim Systemstart automatisch gestartet wird.

Schritt 2.3: Firewall-Regeln anpassen (falls aktiviert)
Wenn Sie eine Firewall verwenden, müssen Sie den HTTP-Port (80) öffnen:

sudo ufw allow 'Apache'

Schritt 2.4: Apache-Installation testen
Öffnen Sie einen Webbrowser und geben Sie folgende Adresse ein:

http://localhost

oder

http://127.0.0.1

oder

http://Ihre_IP_Adresse

Sie sollten die Standard-Apache-Willkommensseite sehen.


Kapitel 3: MariaDB-Datenbank installieren und absichern

Schritt 3.1: MariaDB installieren
Öffnen Sie ein Terminal und geben Sie folgenden Befehl ein:

sudo apt install mariadb-server -y

Dieser Befehl installiert den MariaDB-Server auf Ihrem System.

Schritt 3.2: MariaDB-Dienst starten und aktivieren
Führen Sie folgende Befehle aus:

sudo systemctl start mariadb
sudo systemctl enable mariadb

Diese Befehle starten den MariaDB-Dienst und stellen sicher, dass er beim Systemstart automatisch gestartet wird.

Schritt 3.3: MariaDB absichern
Führen Sie das Sicherheitsskript von MariaDB aus:

sudo mysql_secure_installation

Folgen Sie den Anweisungen des Skripts:

  • Drücken Sie Enter für den Root-Benutzer (kein Passwort).

  • Geben Sie ‘Y’ ein, um ein Root-Passwort festzulegen, und wählen Sie ein sicheres Passwort.

  • Beantworten Sie die folgenden Fragen mit ‘Y’ (empfohlen):

    • Remove anonymous users?
    • Disallow root login remotely?
    • Remove test database and access to it?
    • Reload privilege tables now?

Schritt 3.4: Testen der MariaDB-Installation
Melden Sie sich bei MariaDB an:

sudo mysql -u root -p
CREATE DATABASE [DATENBANKNAME];
CREATE USER '[DATENBANKUSER]'@'localhost' IDENTIFIED BY '[IHRPASSWORT]';
GRANT ALL PRIVILEGES ON [DATENBANKNAME].* TO '[DATENBANKUSER]'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Geben Sie das Passwort ein, das Sie im vorherigen Schritt festgelegt haben.

Wenn Sie die MariaDB-Eingabeaufforderung sehen (MariaDB [(none)]>), war die Installation erfolgreich. Geben Sie ‘exit’ ein, um MariaDB zu verlassen.


Kapitel 4: Python und notwendige Module installieren

Schritt 4.1: Python installieren
In den meisten Linux-Distributionen ist Python bereits vorinstalliert. Überprüfen wir zunächst die installierte Version:

python3 --version

Wenn Python nicht installiert ist oder Sie eine neuere Version benötigen, führen Sie folgende Befehle aus:

sudo apt install python3 python3-pip -y

Schritt 4.2: Virtuelle Umgebung einrichten
Es ist eine gute Praxis, eine virtuelle Umgebung für Ihre Python-Projekte zu verwenden. Installieren Sie das venv-Modul:

sudo apt install python3-venv -y

Erstellen Sie dann eine virtuelle Umgebung für Ihr Webprojekt:

mkdir ~/mywebproject
cd ~/mywebproject
python3 -m venv venv

Aktivieren Sie die virtuelle Umgebung:

source venv/bin/activate

Schritt 4.3: Notwendige Python-Module installieren
Installieren Sie die benötigten Module für die Webentwicklung:

pip install flask mysqlclient

Flask ist ein leichtgewichtiges Web-Framework für Python, und mysqlclient ermöglicht die Verbindung zu MariaDB.

Schritt 4.4: Testen der Python-Installation
Erstellen Sie eine einfache Flask-Anwendung zum Testen. Erstellen Sie eine Datei namens app.py:

nano app.py

Fügen Sie folgenden Code ein:

from flask import Flask
app = Flask(<strong>name</strong>)
@app.route('/') def hello(): return "Hello, World!"
if <strong>name</strong> == '<strong>main</strong>': app.run(debug=True) 

Speichern Sie die Datei und schließen Sie den Editor (in nano: Strg+X, dann Y, dann Enter).

Starten Sie die Anwendung:

python app.py

Sie sollten eine Ausgabe sehen, die anzeigt, dass der Flask-Entwicklungsserver läuft.


Kapitel 5: Apache für Python konfigurieren

In diesem Kapitel werden wir Apache so konfigurieren, dass es Python-Anwendungen ausführen kann. Wir werden dafür mod_wsgi verwenden, ein Apache-Modul, das Python-Webanwendungen mit Apache verbindet.

Schritt 5.1: mod_wsgi installieren
Öffnen Sie ein Terminal und geben Sie folgenden Befehl ein:

sudo apt install libapache2-mod-wsgi-py3 -y

Dieser Befehl installiert mod_wsgi für Python 3.

Schritt 5.2: Apache-Konfiguration anpassen
Wir müssen die Apache-Konfiguration anpassen, um unsere Python-Anwendung zu hosten:

  1. Öffnen Sie die Standard-Apache-Konfigurationsdatei:

    sudo nano /etc/apache2/sites-available/000-default.conf
  2. Fügen Sie folgende Zeilen vor dem schließenden </VirtualHost> Tag hinzu:

    WSGIDaemonProcess myapp python-home=/home/yourusername/mywebproject/venv
       WSGIProcessGroup myapp
       WSGIScriptAlias / /home/yourusername/mywebproject/myapp.wsgi
       <Directory /home/yourusername/mywebproject>
       Require all granted
    </Directory>

    Ersetzen Sie “yourusername” durch Ihren tatsächlichen Benutzernamen.

  3. Speichern und schließen Sie die Datei (in nano: Strg+X, dann Y, dann Enter).

Schritt 5.3: WSGI-Datei erstellen
Erstellen Sie eine WSGI-Datei, die als Einstiegspunkt für Ihre Python-Anwendung dient:

  1. Erstellen Sie die Datei:

    nano /home/yourusername/mywebproject/myapp.wsgi
  2. Fügen Sie folgenden Inhalt hinzu:

    import sys sys.path.insert(0, '/home/yourusername/mywebproject')
    from app import app as application

    Ersetzen Sie wieder “yourusername” durch Ihren tatsächlichen Benutzernamen.

  3. Speichern und schließen Sie die Datei.

Schritt 5.4: Apache neu starten
Starten Sie Apache neu, um die Änderungen zu übernehmen:

sudo systemctl restart apache2

Schritt 5.5: Berechtigungen anpassen
Stellen Sie sicher, dass Apache auf Ihre Projektdateien zugreifen kann:

sudo chown -R www-data:www-data /home/yourusername/mywebproject

Ersetzen Sie “yourusername” durch Ihren tatsächlichen Benutzernamen.


Kapitel 6: Testen der Installation

In diesem Kapitel werden wir alle installierten Komponenten testen, um sicherzustellen, dass unser Webserver korrekt funktioniert.

Schritt 6.1: Apache-Webserver testen

  1. Öffnen Sie einen Webbrowser auf Ihrem System.

  2. Geben Sie in die Adressleiste ein:

    http://localhost

    oder

    http://Ihre_IP_Adresse
  3. Sie sollten die Apache2 Default Page sehen.

Schritt 6.2: MariaDB-Datenbank testen

  1. Öffnen Sie ein Terminal.

  2. Verbinden Sie sich mit MariaDB:

    sudo mysql -u root -p
  3. Geben Sie Ihr Root-Passwort ein.

  4. Wenn Sie die MariaDB-Eingabeaufforderung sehen, ist die Verbindung erfolgreich.

  5. Führen Sie einen einfachen SQL-Befehl aus:

    SHOW DATABASES;
  6. Sie sollten eine Liste der Datenbanken sehen.

  7. Geben Sie exit ein, um MariaDB zu verlassen.

Schritt 6.3: Python und Flask testen

  1. Navigieren Sie zu Ihrem Projektverzeichnis:

    cd ~/mywebproject
  2. Aktivieren Sie die virtuelle Umgebung, falls noch nicht geschehen:

    source venv/bin/activate
  3. Starten Sie die Flask-Anwendung:

    python app.py
  4. Öffnen Sie einen Webbrowser und geben Sie ein:

    http://localhost:5000
  5. Sie sollten “Hello, World!” sehen.

Schritt 6.4: Apache mit Python (mod_wsgi) testen

  1. Installieren Sie mod_wsgi:

    sudo apt install libapache2-mod-wsgi-py3
  2. Erstellen Sie eine WSGI-Datei für Ihre Flask-Anwendung:

    nano ~/mywebproject/myapp.wsgi
  3. Fügen Sie folgenden Inhalt ein:

    import sys sys.path.insert(0, '/home/yourusername/mywebproject')
    from app import app as application
  1. Speichern und schließen Sie die Datei.

  2. Konfigurieren Sie Apache:

    sudo nano /etc/apache2/sites-available/000-default.conf
  3. Fügen Sie vor </VirtualHost> folgende Zeilen hinzu:

    WSGIDaemonProcess myapp python-home=/home/yourusername/mywebproject/venv
       WSGIScriptAlias / /home/yourusername/mywebproject/myapp.wsgi
       <Directory /home/yourusername/mywebproject>
       WSGIProcessGroup myapp
       WSGIApplicationGroup %{GLOBAL}
       Require all granted
    </Directory>
  4. Speichern und schließen Sie die Datei.

  5. Starten Sie Apache neu:

    sudo systemctl restart apache2
  6. Öffnen Sie einen Browser und gehen Sie zu

    http://localhost

    oder

    http://Ihre_IP_Adresse
  7. Sie sollten “Hello, World!” sehen.

Installation abgeschlossen
Installation erfolgreich
Created with help of LeChat Mistral AI

Dieser Beitrag wurde bisher 19 mal gelesen.