LAMPP

Dieses Handbuch enthält eine schrittweise Installationsprozedur für den bekannten LAMP-Stack (Linux, Apache, MySQL und PHP / PhpMyAdmin) unter Verwendung einer Gentoo-Installationsumgebung.

Auszug Wikipedia:

LAMP ist ein Akronym für den kombinierten Einsatz von Programmen auf Basis von Linux, um dynamische Webseiten zur Verfügung zu stellen. Dabei stehen die einzelnen Buchstaben des Akronyms für die verwendeten Komponenten:

Betriebssystem Linux
Webserver Apache
Datenbank MySQL
Programmiersprache PHP

Diese Programmkombination definiert im Sinne einer Software-Distribution eine Infrastruktur, in deren Rahmen dynamische Webseiten und -anwendungen entwickelt und bereitgestellt werden können.

Schritt 1: Konfigurieren Sie die statische IP-Adresse

1. Bevor wir mit der Installation des LAMP-Stacks fortfahren, muss das System mit einer statischen IP-Adresse konfiguriert werden, was im Falle eines Servers ein „Muss“ ist. Bevor Sie jedoch mit der Konfiguration der statischen Netzwerkeinstellungen beginnen, verwenden Sie den Befehl ifconfig, um die Namen der Netzwerkschnittstellenkarten anzuzeigen.

#ifconfig -a

Wie Sie sehen, kann sich der Name der Netzwerkkarte von anderen unter Linux gebräuchlichen Namen wie ethX, ensXX oder anderen unterscheiden. Notieren Sie sich diesen Namen für weitere Einstellungen.

2. Wenn Sie zuvor einen DHCP-Server für Ihr Netzwerk verwendet haben, stellen Sie sicher, dass Sie den DHCP-Client auf Ihrem System mit den folgenden Befehlen herunterfahren und deaktivieren (ersetzen Sie IPs und Geräte durch Ihre Einstellungen).

# rc-update del dhcpcd default
# /etc/init.d/dhcpcd stop
# ifconfig enp3s0 down
# ifconfig enp3s0 del 192.168.178.40 netmask 255.255.255.0

3. Erstellen Sie dann eine symbolische Verbindung vom Netzwerk-Loopback-Gerät mit dem Namen der verbundenen Schnittstelle Ihrer Netzwerkkarte und erstellen Sie eine statische Konfigurationsdatei für dieses Gerät im Pfad /etc/conf.d/.

# ln -s /etc/init.d/net.lo  /etc/init.d/net.enp3s0
# nano -w  /etc/conf.d/net.enp3s0

/etc/init.d/net.enp3s0:

config_eno16777736="192.168.1.25 netmask 255.255.255.0 brd 192.168.1.255"
routes_eno16777736="default via 192.168.1.1"
dns_servers_eno16777736="192.168.1.1 8.8.8.8"

4. Nachdem Sie die statischen Konfigurationen der Netzwerkkarte bearbeitet haben, starten Sie die Netzwerkschnittstelle und überprüfen Sie die Netzwerkeinstellungen und die Verbindung mit den Befehlen ifconfig und ping. Wenn alles erfolgreich konfiguriert wurde, fügen Sie sie zum Starten hinzu.

# /etc/init.d/net.enp3s0 start
# ifconfig
# ping -c2 domain.tld
# rc-update add net.enp2s0 default

Wenn Sie möchten, dass DNS-Nameserver systemweit konfiguriert sind, bearbeiten Sie die Datei /etc/resolv.conf und fügen Sie für jede DNS-IP-Adresse eine Nameserver-Zeichenfolge hinzu.

Schritt 2: Installieren Sie LAMP

Jetzt ist es Zeit, mit der Installation von LAMP fortzufahren. Bearbeiten Sie die Datei make.conf und fügen Sie das USE-Flag apache2 hinzu, bevor Sie versuchen, zu installieren. Beispieldatei /etc/portage/make.conf :

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
COMMON_FLAGS="-O2 -pipe"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

# NOTE: This stage was built with the bindist Use flag enabled
PORTDIR="/var/db/repos/gentoo"
DISTDIR="/var/cache/distfiles"
PKGDIR="/var/cache/binpkgs"

# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C
L10N="de"
LC_CTYPE="en_US.UTF-8"
USE="X, alsa, jpg, jpeg, jpeg2k, png, gif, tk, apache2"

# emerge -av www-servers/apache

Führen Sie vor dem Starten des Apache-Dienstes den folgenden Befehl aus, um einen Servernamenfehler zu vermeiden, und starten Sie dann den httpd-Dämon.

# echo “ServerName localhost” >> /etc/apache2/httpd.conf

Nun den Apache starten:

# /etc/init.d/apache2 start

Bearbeiten Sie anschließend die Datei /etc/portage/make.conf und verwenden Sie die folgenden USE-Flags für PHP (USE-Flags müssen sich in einer einzelnen Zeile befinden). Beispieldatei:

USE="apache2 php pam berkdb bzip2 cli crypt ctype exif fileinfo filter gdbm hash iconv ipv6 json -ldap nls opcache phar posix readline session simplexml spell ssl tokenizer truetype unicode xml zlib -bcmath calendar -cdb cgi -cjk curl -debug -embed -enchant -firebird -flatfile -fpm (-frontbase) ftp gd -gmp imap -inifile -intl -iodbc -kerberos -ldap-sasl -libedit libmysqlclient -mhash -mssql mysql mysqli -oci8-instant-client -odbc -pcntl pdo -postgres -qdbm -recode (-selinux) -sharedmem -snmp -soap -sockets -sqlite (-sybase-ct) -systemd -sysvipc -threads -tidy -wddx -xmlreader -xmlrpc -xmlwriter -xpm -xslt zip jpeg png pcre session unicode"

PHP_TARGETS="php7.4"

Installieren Sie im nächsten Schritt die dynamische PHP-Skriptsprache.

# emerge -av php

Der aufkommende PHP-Prozess kann abhängig von Ihren Systemressourcen eine Weile dauern. Weisen Sie Apache nach Abschluss des Vorgangs an, PHP-Module zu verwenden, indem Sie die Datei /etc/conf.d/apache2 bearbeiten und PHP5 in der Anweisung APACHE2_OPTS hinzufügen.

# nano /etc/conf.d/apache2

Die selbst erstellten Dateien, die vom Apache verarbeitet werden sollen müssen im Verzeichnis /var/www/localhost/htdocs/ gespeichert werden.

Überprüfen Sie vor der Installation der MySQL-Datenbank die USE-Flags des Pakets und bearbeiten Sie bei Bedarf die Portage make.conf. Verwenden Sie die folgenden Befehle, um die MySQL-Server-Datenbank zu überprüfen und zu installieren.

Bevor Sie den MySQL-Server starten, stellen Sie mit dem folgenden Befehl sicher, dass die MySQL-Datenbank auf Ihrem System installiert ist.

# /usr/bin/mysql_install_db

Wenn kein Fehler kommt sondern der nächste Prompt ist alles ok.

Wenn der obige Befehl abbricht, weil der Hostname auf localhost lautet, kann man diesen auf einen anderen Wert z.B. gentoo ändern. Dazu ist /etc/conf.d/hostname zu ändern und /etc/init.d/hostname neu zu starten.

Starten Sie nun die MySQL-Datenbank und sichern Sie sie mit mysql_secure_installation, indem Sie das Root-Passwort ändern, die Root-Anmeldung außerhalb von localhost deaktivieren, anonyme Benutzer entfernen und die Datenbank testen.

Wenn Sie OpenRC verwenden, geben Sie diesen Befehl ein:

root #/etc/init.d/mysql start
* Re-caching dependency info (mtimes differ)…
* Starting mysqld (/etc/mysql/my.cnf) … [ ok ]

Bei der Benutzung von systemd kommt das folgende Kommando zur Anwendung:

root #systemctl restart mysqld.service

With >=dev-db/mariadb-10.1.18, use: root #systemctl restart mariadb.service

Danach ist das root Passwort zu setzen: root #/usr/bin/mysqladmin -u root -h localhost password 'new-password'

Sie können nun testen, dass Ihr Root-Passwort erfolgreich konfiguriert wurde, indem Sie versuchen, sich bei Ihrem MySQL-Server anzumelden: