Webserver (lokal)

Debian eignet sich hervorragend, um Webseiten lokal entwickeln zu können. Was unter Windows XAMPP macht, kann unter Debian mit wenigen Handgriffen eingerichtet werden:

I. Apache2-Webserver 

Installiere den Webserver Apache

# apt install apache2

Installiere einen mysql-Server:

# apt install mysql-server

ab Debian Buster installieren wir die MariaDB:

# apt install mariadb-server

Jetzt fehlt noch der PHP-Server und die zuständigen Module. Falls Module oder Erweiterungen fehlen, können diese immer noch nachinstalliert werden.

# apt install php7.3
# apt install php-mysql php7.3-curl php7.3-gd php7.3-mbstring php7.3-xml

Ab jetzt befindet sich ein funktionierender Webserver inkl. MariaDB unter:

/var/www/html

Um dauerhaft Besitzer des Verzeichnis zu werden, kann per chown der Besitzer gewechselt werden:

# chown -cR BENUTZERNAME /var/www/html

II. Eine Datenbank unter MariaDB erstellen

Wir erstellen hier die DB test1 und den User lightning und weisen dabei ein Passwort zu:

Pakete installieren:

# apt install mariadb-server
# mariadb

hiermit gelangen wir in den typischen MariaDB-Prompt.

Datenbank „test1“ anlegen:

# CREATE DATABASE test1;

Datenbank anzeigen lassen:

# SHOW DATABASES;

User „lightning“ und Passwort „finalfantasy13“ anlegen:

# CREATE USER 'lightning'@'localhost' IDENTIFIED BY 'finalfantasy13';

User anzeigen lassen:

# SELECT User FROM mysql.user;

User „lightning“ der Datenbank „test1“ zuweisen:

# GRANT ALL ON test1.* TO lightning@localhost IDENTIFIED BY 'finalfantasy13';

Zugewiesen User anzeigen lassen (Kontrolle):

# SHOW GRANTS for 'lightning'@'localhost';

die soeben erstellte Datenbank kann nun per USE ausgewählt werden.

MariaDB [(none)]> USE test1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [test1]

III. mod_rewrite unter Debian aktivieren

In diesem Beispiel wird das Modul mod_rewrite unter Debian aktiviert.

Hinweis: Alle verfügbaren Module befinden sich bei Debian unter:

/etc/apache2/mods-available/rewrite.load

und müssen nach:

/etc/apache2/mods-enabled/rewrite.load

kopiert werden.

Erstelle jetzt eine Datei mit nano oder deinem Editor:

# nano -w /etc/apache2/mods-enabled/rewrite.load

Füge folgendes in die Datei ein und speichere sie ab:

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

Editiere die Datei:

# nano -w /etc/apache2/apache2.conf

und ersetzte alle

AllowOverride None

mit

AllowOverride all

Speichere die Datei ab und starte den apache2-Server neu. Das Modul mod_rewrite ist nun geladen.

# /etc/init.d/apache2 restart

IV. proFTPD einrichten

Installiere das Paket proftpd

# apt install proftpd-basic

wechsle in das entsprechende Verzeichnis:

# cd /etc/proftpd

Erstelle den User „lightning“

# useradd lightning -d /var/www/html -s /bin/false

Weise dem User ein Passwort zu:

# passwd lightning

Bearbeite /etc/proftpd/proftpd.conf

# nano -w /etc/proftpd/proftpd.conf

Dabei sperren wir lightning in ihr home-Verzeichnis /var/www/html ein. Zusätzlich deaktivieren wir hier den Schalter „RequireValidShell“, da unter Punkt 3 dem User keine gültige Shell /bin/false zugewiesen wurde. Entferne dazu die Kommentarzeichen bei DefaultRoot und RequireValidShell.

# Use this to jail all users in their homes
DefaultRoot ~
# Users require a valid shell listed in /etc/shells to login.
# Use this directive to release that constrain.
RequireValidShell off

Starte den FTP-Server neu:

# /etc/init.d/proftpd restart