Diese Anleitung beschreibt die Installation eines LAMP-Stacks (Linux, Apache, MariaDB, PHP) auf Arch Linux unter Berücksichtigung der Besonderheiten bei der Konfiguration von Apache mit PHP.
1. System aktualisieren
Zunächst wird das System aktualisiert:
sudo pacman -Syu
2. Apache installieren und konfigurieren
Apache dient als Webserver zur Bereitstellung von Webseiten.
Installation
sudo pacman -S apache
Apache als Dienst starten und aktivieren
sudo systemctl start httpd sudo systemctl enable httpd
Apache-Konfiguration anpassen
Öffne die Datei `/etc/httpd/conf/httpd.conf`:
sudo nano /etc/httpd/conf/httpd.conf
Deaktiviere das threaded MPM-Modul (`mpm_event`) und aktiviere das kompatible Prefork-Modul:
# LoadModule mpm_event_module modules/mod_mpm_event.so LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
Speichere die Datei und schließe den Editor.
Berechtigungen für den Web-Ordner `/srv/http` setzen
Um einem Benutzer das Erstellen von Dateien und Ordnern ohne `sudo` zu ermöglichen, führe folgende Befehle aus:
sudo chown -R $USER:http /srv/http sudo chmod -R 775 /srv/http
Damit der Benutzer dauerhaft Zugriff hat, füge ihn der Gruppe `http` hinzu:
sudo usermod -aG http $USER
Anschließend abmelden und erneut anmelden, damit die Gruppenänderung wirksam wird.
3. PHP installieren und konfigurieren
PHP wird für die Verarbeitung dynamischer Webinhalte verwendet.
Installation
sudo pacman -S php php-apache php-mysqli
PHP in Apache einbinden
Bearbeite die Datei `/etc/httpd/conf/httpd.conf` erneut und füge folgende Zeilen hinzu:
LoadModule php_module modules/libphp.so AddHandler php-script .php DirectoryIndex index.php index.html
Speichere die Datei.
Test der PHP-Installation
Erstelle eine Testseite:
echo "<?php phpinfo(); ?>" > /srv/http/info.php
Starte Apache neu:
sudo systemctl restart httpd
Öffne nun im Browser:
http://localhost/info.php
Wenn die PHP-Informationsseite angezeigt wird, war die Installation erfolgreich.
4. MariaDB installieren und konfigurieren
MariaDB ist die relationale Datenbank für den LAMP-Stack.
Installation
sudo pacman -S mariadb mariadb-clients
Datenbank initialisieren
sudo mariadb-install-db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
MariaDB als Dienst starten und aktivieren
sudo systemctl start mariadb sudo systemctl enable mariadb
Sicherheit konfigurieren
Das Sicherheits-Skript ausführen:
sudo mysql_secure_installation
Folge den Anweisungen, um das Root-Passwort zu setzen und unsichere Standardkonfigurationen zu entfernen.
MySQL-Login testen
Um die Verbindung zur MariaDB-Datenbank zu testen, nutze den folgenden Befehl:
sudo mysql -u root -p
Gib anschließend das Root-Passwort ein, das du während der Konfiguration gesetzt hast. Wenn du die MariaDB-Konsole siehst, funktioniert der Login erfolgreich.
Benutzer für phpMyAdmin erstellen
Um einen neuen Benutzer zu erstellen, der über phpMyAdmin neue Datenbanken anlegen kann, führe folgende Befehle aus:
sudo mysql -u root -p
Melde dich mit dem Root-Passwort an und gib dann folgende SQL-Befehle ein:
CREATE USER 'phpmyadmin_user'@'localhost' IDENTIFIED BY 'dein_passwort'; GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin_user'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
Hinweis: Ersetze `’dein_passwort’` durch ein sicheres Passwort.
5. phpMyAdmin installieren und konfigurieren
phpMyAdmin ist eine Weboberfläche zur Verwaltung von MariaDB.
Installation
sudo pacman -S phpmyadmin
Zusätzliche PHP-Erweiterungen aktivieren
Aktiviere die Erweiterung `mysqli`, indem du folgende Zeile in der Datei `/etc/php/php.ini` entkommentierst:
extension=mysqli
Cookie-Verschlüsselung konfigurieren
Bearbeite die Konfigurationsdatei von phpMyAdmin (`/etc/webapps/phpmyadmin/config.inc.php`) und setze einen sicheren Schlüssel für die Cookie-Verschlüsselung:
$cfg['blowfish_secret'] = 'EinLangerUndSichererSchlüssel123!@#';
Ersetze `’EinLangerUndSichererSchlüssel123!@#’` durch einen eigenen, zufällig generierten Schlüssel. Dieser Schlüssel sollte mindestens 32 Zeichen lang sein.
Konfiguration in Apache
Öffne die Apache-Konfigurationsdatei:
sudo nano /etc/httpd/conf/httpd.conf
Füge folgende Zeilen hinzu:
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin" <Directory "/usr/share/webapps/phpMyAdmin"> Options FollowSymLinks AllowOverride None Require all granted </Directory>
Speichere die Datei und starte Apache neu:
sudo systemctl restart httpd
Zugriff auf phpMyAdmin
Öffne im Browser:
http://localhost/phpmyadmin
Melde dich mit dem Benutzer `phpmyadmin_user` und dem gewählten Passwort an.
6. Firewall konfigurieren (optional)
Falls die Firewall `ufw` verwendet wird, müssen die Ports 80 und 443 freigegeben werden:
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw reload