LAMP-Stack und Joomla einsetzen (m) eine Schritt-für Schritt Einrichtung

  • guten Tag liebe Joomla-Community.


    ich will einen LAMP installieren auf die ich dann eine Joomla bauen kann. Ich denke dass ich hier eine besteimmte Schrittfolge mir mal überlege - so dasss ich das auch gut hinbekomme. Hier in einem Grobüberblick die Schrittfolge, nach der ich insgesamt vorgehe:


    Zweck des Postings: wenn ich irgend was vergessen haben sollte, dann schreibt mir bitte. Danke!


    Die Installation eines LAMP auf ner Linux-Kiste (also Linux Apache MariaDB PHP). also vorweg das Ziel: - ich will einen LAMP einrichten;


    a. einen Apache2 webserver;

    b. eine eingerichteter MariaDB database-Server aufsetzen;

    c. PHP - lauffähig unter Apache; und last but not least

    d. phpMyAdmin konfiguriert mit pmadb database.

    e. dann ein Let's Encrypt SSL Zertifikat aufsetzen

    f. dann eine Joomla drauf bauen


    Also vorausgeschickt - ich brauche einen root-Zugang zum Notebook


    im Terminal stelle ich einen SU Zugang her:


    Code
    su –


    Nun gebe ich ein password ein


    Code
    Apache


    Die Schritt-für Schritt-Anleitung zur Installation des Apache2-Webservers als ein Basis-LAMP-setup.


    Installation des Apache2


    als Root:


    Code
    apt update


    Nun wird also der Apache 2 Webserver auf dem Server installiert


    Code
    apt install apache2 -y


    Das Starten des Apache2 Service: Um den Apache server zu starten geht man vor als root:


    Code
    service apache2 start


    wenn man den Apache server neustarten will


    Code
    service apache2 restart


    Das Stoppen des apache2 service:


    Code
    service apache2 stop


    Das automatische Starten des apache service nach dem reboot


    Code
    update-rc.d apache2 defaults


    Das Testen der Installation Apache2 hat (genauso wie Debian auch die html pages unter /var/www/html/


    mit dem Web-browser geh ich dann zum Test auf: ‘localhost’ or 127.0.0.1. hier sollte ich dann den default Apache2 sehen - also die "welcome page"


    darüber hinaus: Also, man könnte ja auch noch Folgendes tun: Wenn man auf dem Linux System als root eingeloggt ist,

    dann praktisch (zu allererst mal) erst Update durchgeführt, bevor man dann anfängt und für den LAMP also weitere Pakete installiert.


    Jetzt kommt das Wichtige - ich will Joomla aufsetzen auf den LAMP - und alle benötigten Tools und Bibliotheken und so weiter und so fort - die halt auch noch gleich installieren.


    Also - mit andern Worten gehe ich dann hier so vor: Ein erster check guckt nach den PHP versionen:


    Code
    sudo apt-cache policy php


    Code
    capt updatec

    Erst gucke ich welche Pakete gebraucht werden: Diese Pakte werden als Voraussetzung zur weiteren Installation bereitgestellt

    - das ist gewissermaßen der Anfang: Dann mach ich weiter


    Code
    apt install ca-certificates apt-transport-https lsb-release gnupg curl vim unzip -y


    a-certificates apt-transport-https lsb-release gnupg curl vim unzip -y[/code]


    Die Repos werden eingelesen: man kann davon ausgehen dass das Repository das enthält leider nicht immer die neusten PHP Versionen,

    Ich mache das immer am liebsten mit dem Sury Repository. ich hol das am liebsten mit wget: das ist m.E. die einfachste Methode:


    Code
    wget -q https://packages.sury.org/php/apt.gpg -O- | apt-key add -


    Code
    echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list

    Erneut den Paketindex aktualisieren.



    Der Test der PHP-Installation:


    Code
    Create file PHP file inside /var/www/html folder.
    sudo vim /var/www/html/info.php


    und da tu ich den folgenden code in die Datei.


    PHP
    <?php
    phpinfo();
    ?>


    ps - leider haben wir hier ein Zeichenlimit ----


    Zweck des Postings: wenn ich irgend was vergessen haben sollte, dann schreibt mir bitte. Danke!

    Interessiert an Joomla, Linux, SBC (Raspi & co) und sonstiger cooler IT-Dinge: ganz neu: https://affine.pro :: der Open-Source Nachfolger von miro, notion u. monday

  • Hi - wegen der Zeichenlimits hier noch eine kleine Ergänzung...


    Wenn man dann einen web browser öffnet und URL (mit der server IP oder dem domain-Name ergänzt in den Browser eingibt.

    Zweck des Postings: wenn ich irgend was vergessen haben sollte, dann schreibt mir bitte. Danke!



    und im Folgenden:

    Code
    apt install mariadb-server mariadb-client -y

    Nun kommt noch ein Befehl, um die Konfiguration des MariaDB-Servers abzuschließen.


    Code
    mysql_secure_installation

    bei einer alleresten /also gewissermaßen Basis-Abfrage des aktuellen Passworts muss man im Grunde eigentlich gar nichts eingeben, sondern einfach nur auf die Enter-Taste hauen.


    Man kann hier noch überlegen und konfigurieren - was das Passwd werden soll: M.a.W. des Root-Passworts mit Enter abnicken.

    An der nächsten Stelle gehts weiter: An diesem Schritt - da gehts um das Passwort für den Root-Benutzer des MariaDB-Servers - das wird nämlich nun vergeben (nicht der Linux root User).

    Achtung: hier ist Vorsicht geboten: Also - ich würde sagen dass man hier im Grunde mal bestätige alle folgenden Fragen nur überspringt: oder ziemlich rasch drüber geht - hier geht es um die folgenden Optionen:

    a. Anonym - passwd.

    b, (Verbieten) des externen Root-Logins - also ich würde sagen, das kann man ja im Grunde schon aus Sicherheitsgründen machen,

    c. Hier kann man noch ein Übriges machen: Man kann hier an dieser Stelle noch eine Testdatenbank - löschen - und dann die Zugriffsreche aktualisieren: das ist immer gut.)


    Wenn man also die oben gelisteten Schritte durchlaufen sind - dann ist der MariaDB-Server fertig installiert und auch schon basismässig konfiguriert. Danach kann man dann übergehen und phpMyAdmin installieren. Das ist dann ein weiterer Schritt.


    Jetzt wird noch phpMyAdmin installiert: Dazu - also an diesem Schritt wird nun mit dem Befehl weiter gemacht: cd /usr/share das Verzeichnis, in diesem phpMyAdmin installiert werden soll.

    Dann mache ich weiter - dann hole ich den PhpMyAdmin - das mach ich am liebsten Mit dem wget-Kommando


    Also deshalb: Um phpMyAdmin herunterzuladen, führen wir nun wget aus.


    Code
    wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpmyadmin.zip

    Entpacke das soeben heruntergeladene Archiv wie folgt.


    Code
    unzip phpmyadmin.zip


    Und dann fahre ich fort: Nach dem entpacken entferne nun das heruntergeladene Archiv.


    Code
    rm phpmyadmin.zip


    Anschließend muss der Name des entpackten Verzeichnis zu phpmyadmin umbenannt werden, mit folgendem Befehl.


    Code
    mv phpMyAdmin-*-all-languages phpmyadmin


    Wir vergeben anschließend die benötigten Rechte auf das phpMyAdmin-Verzeichnis mithilfe des Befehls.


    Jetzt tu ich die Rechte setzen:


    Code
    chmod -R 0755 phpmyadmin


    Jetzt noch die Datei config.sample.inc.php ubenennen zu config.inc.php.


    Code
    mv /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php


    Es geht weiter: Jetzt an dieser Stelle wird also eine Apache2-Konfigurationsdatei für phpMyAdmin noch gebaut: Das macht man am besten etwa so: Wir fahren fort mit Copy & Paste der folgenden CodeSchnippel



    Ich mache das immer so, dass ich hierzu einfach diesen og. Codeschnippel Copy paste einfüge (cat – EOF). Jetzt ist es besonders wichtig, die soeben hinzugefügte Apache2-Konfigurationsdatei auch noch richtig zu aktivieren.


    Code
    a2enconf phpmyadmin


    Ich lade an dieser Stelle immer den Apache neu: Das kann man zum Beispiel so machen und das Neuladen des Apache2-Webservers etwa wie folgt durchführen.


    Code
    systemctl reload apache2


    Dann wird noch ein Verzeichnis gebraucht: Also ich erstelle ein temporäres Verzeichnis für den phpMyAdmin.


    Code
    mkdir /usr/share/phpmyadmin/tmp/


    Und vergebe dem Webserver-Benutzer nun die benötigten Besitzerrechte für dieses temporäre Verzeichnis.


    Code
    chown -R www-data:www-data /usr/share/phpmyadmin/tmp/



    Wenn man noch etwas übriges tun will - dann kann man auch die authentication methode von “auth_socket” zu “mysql_native_password” switchen:


    man geht dazu mit dem CLI-Interface vor wie folgt:



    Login auf MySQL mit dem root login:


    Code
    sudo mysql -u root -p


    Mit dem Kommando checke ich die Authentifikationsmethode aller MySQL user accounts.


    Code
    mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
    MySQL User Accounts
    MySQL User Accounts
    Now we will configure the root account to authenticate with a password:

    .. und dazu noch:

    Code
    mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
    Run “FLUSH PRIVILEGES” to update changes.
    mysql> FLUSH PRIVILEGES;
    Check for updated changes.
    mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;


    und an dieser Stelle bau ich noch ein Let's Encrypt SSL Zertifikat:


    Lets Encript .....: und dann würde ich noch ein Let's Encrypt SSL Certificate installieren. Ich denke, dass ich da das Let's Encrypt SSL cert nehme; dann läuft die Domain auch auf HTTPS.

    Und dann zieh ich joomla - aus dem Download-Bereich Joomla das mach ich immer am liebsten mit wget


    Download der Joomla von der offiziellen website : https://downloads.joomla.org/


    Code
    cd /var/www/html/joomla
    
    
    wget -O joomla.zip https://downloads.Joomla.org/cms/Joomla/[die aktuelle Version] /Joomla_[die aktuelle Version] Stable-Full_Package.zip?format=zip
    
    
    unzip joomla.zip
    rm joomla.zip


    Setting der File-Permissions


    also am Anfang würd ich halt die Ordner lesbar machen

    Code
    chmod -R 755 /var/www/html/joomla
    chown -R apache:apache /var/www/html/joomla
    chcon -R -t httpd_sys_content_rw_t /var/www/html/joomla


    Und danach gehts an die Konfiguration des Apache vHost

    ich denke, dass es jetzt an der Zeit ist genau hier an dieser Stelle einen Apache configuration file

    Code
    .conf for the domain with the following command:
    
    
    vi /etc/httpd/conf.d/.meine-Domain.org/.conf


    also, hier an dieser Stelle dann das folgende ein


    Hier kann man den Ausdruck http://www.meine-Domain.org/ dann ersetzen mit dem aktuellen Domain Namen.


    jetzt geht es weiter mit dem Esc key, und in :wq! und Enter, um alles zu sichern.


    jetzt kommt der restart & check des apache mit dem folgenden Kommando

    Code
    systemctl restart httpd
    systemctl status httpd
    Enable Firewall:
    firewall-cmd --permanent --add-service=http
    firewall-cmd --permanent --add-service=https
    firewall-cmd --reload
    Configuring Joomla


    An dieser Stell kann ich dann auch schon den URL im Browser aufrufen. Das leitet mich dann zur Konfiguration der letzen Teile der Joomla Installation.

    Code
    https://www.meine-Domain.org/
    www.meine-Domain.org kann jetzt die IP ergänzt werden oder die domain auf den server konfiguriert werden.


    Dann gehts weiter mit den Datenbank-Details....

    Interessiert an Joomla, Linux, SBC (Raspi & co) und sonstiger cooler IT-Dinge: ganz neu: https://affine.pro :: der Open-Source Nachfolger von miro, notion u. monday

  • Persönlicher Tip von mir, so mache ich das immer local:
    Opensuse Leap 15.3 (15.4 Beta) - Yast aufrufen,
    "Web-und LAMP-Server" installieren, PHP8 + PHPMyadmin installieren, Apache + MariaDB starten,

    Passwort für den Root-User (PHPMyadmin) ändern in "kein Password" und fertig. Zeitaufwand ca. 45 Minuten.

  • hallo Jürgen, hallo Elwood


    vielen dank für Eure Beiträge, das ist ja super. Ihr seid wirklich sehr schnell.


    Danke für die tollen Hinweise. Die kann ich sehr gut gebrauchen. Euer Forum ist einfach mega stark.



    Wünsche Euch einen klasse Nachmittag


    Euer Jobaer ;)

    Interessiert an Joomla, Linux, SBC (Raspi & co) und sonstiger cooler IT-Dinge: ganz neu: https://affine.pro :: der Open-Source Nachfolger von miro, notion u. monday