HOW TO Apache2, PHP7.3, MariaDB, phpmyadmin unter Linux

  • Voraussetzung:
    - Debian
    - Zugriff via SSH oder Terminal


    Als erstes bringen wir unser System auf den neusten Stand:

    apt update && apt upgrade -y


    Als nächstes installieren wir weitere Pakete, die wir im Installationsverlauf benötigen:

    apt install ca-certificates apt-transport-https lsb-release curl nano unzip -y


    Nun müssen wir den Key für die PHP-Paketquellen hinzufügen:
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -
    echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list


    Nachdem wir die Paketquellen hinzugefügt haben, müssen wir nochmal die Paketlisten aktuallisieren:

    apt update


    Jetzt können wir den Apache2-Webserver installieren:

    apt install apache2 -y


    Wir installieren nun PHP 7.3 sowie einige wichtige PHP-Module (wenn du eine andere PHP-Version möchtest, kannst du sie einfach ändern): 

    apt install php7.3 php7.3-cli php7.3-curl php7.3-gd php7.3-intl php7.3-json php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-readline php7.3-xml php7.3-xsl php7.3-zip php7.3-bz2 libapache2-mod-php7.3 -y


    Nun zum MariaDB-Server und phpmyadmin:

    Wir installieren den MariaDB-Server und -Client:

    apt install mariadb-server mariadb-client -y


    Nun konfigurieren wir den MariaDB-Server

    mysql_secure_installation


    Bei der ersten Abfrage des aktuellen Passworts musst du nichts eingeben, sondern einfach mit der Enter-Taste bestätigen. Bestätige die nächste Frage bzgl. der Änderung des Root-Passworts wieder mit Enter. Nun musst du ein root Passwort für den MariaDB-Server vergeben. Achtung: Während der Eingabe erscheinen keine Zeichen. Bestätige alle darauffolgenden Fragen (Löschung des anonymen Benutzers, Verbieten des externen Root-Logins aus Sicherheitsgründen, Entfernen der Testdatenbank und Aktualisieren der Rechte) ebenfalls wieder mit Enter. Danach ist der MariaDB-Server fertig installiert und konfiguriert.

    Wir starten den Webserver einmal neu um Fehler zu vermeiden:
    systemctl restart apache2

    Jetzt starten wir mit der Installation von phpmyadmin. Dazu wechseln wir in das Verzeichnis und laden die .zip herunter:
    cd /usr/share && wget https://files.phpmyadmin.net/p…n-4.8.5-all-languages.zip


    Wir entpacken die .zip...
    unzip phpMyAdmin-4.8.5-all-languages.zip


    ...und löschen sie wieder

    rm phpMyAdmin-4.8.5-all-languages.zip


    Wir "nennen" den Ordner um

    mv phpMyAdmin-4.8.5-all-languages phpmyadmin


    Vergeben ihm Rechte

    chmod -R 0755 phpmyadmin


    Damit das ganze auch funktioniert, müssen wir noch eine Konfig-datei erstellen

    nano /etc/apache2/conf-available/phpmyadmin.conf


    Füge nun diese Zeilen in die phpmyadmin.conf ein:


    # phpMyAdmin Apache configuration

    Alias /phpmyadmin /usr/share/phpmyadmin

    <Directory /usr/share/phpmyadmin>

    Options SymLinksIfOwnerMatch

    DirectoryIndex index.php

    </Directory>

    # Disallow web access to directories that don't need it

    <Directory /usr/share/phpmyadmin/templates>

    Require all denied

    </Directory>

    <Directory /usr/share/phpmyadmin/libraries>

    Require all denied

    </Directory>

    <Directory /usr/share/phpmyadmin/setup/lib>

    Require all denied

    </Directory>


    Speichere nun mit STRG+X , dann Y und beende mit Enter.

    Wir aktivieren diese Konfig-Datei nun und laden dann noch den Apache2-Server neu:

    a2enconf phpmyadmin

    systemctl reload apache2


    Damit wir uns in phpmyadmin auch anmelden können, müssen wir einen neuen Adminuser erstellen:

    mysql -u root


    CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

    Ersetze hier nun username und password.


    GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;


    exit


    Jetzt kannst du dich unter IP/phpmyadmin oder Domain/phpmyadmin mit dem neuen Nutzer einloggen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!