Ankündigung

Einklappen
Keine Ankündigung bisher.

apache einrichten auf einem Linux-System

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • apache einrichten auf einem Linux-System

    Guten Abend PHP-Community

    in einem LAMP System hab ich ein paar Probleme: also das Starten des Apache - das geht nicht einwandfrei.

    Code:
    Passwort:
    root@mx:/home/martin# systemctl restart apache2
    System has not been booted with systemd as init system (PID 1). Can't operate.
    Failed to connect to bus: Der Rechner ist nicht aktiv
    root@mx:/home/martin# sudo apachectl restart
    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
    root@mx:/home/martin# sudo service apache2 restart
    [....] Restarting Apache httpd web server: apache2AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
    . ok
    root@mx:/home/martin# sudo apachectl restart
    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
    root@mx:/home/martin# ^C
    Was meint die o.g. Zeile - dass ich den Apache mit einer Domain einrichten soll(te)

    ich hab den LAMP eingerichte - nach dieser Anleitung: https://think.unblog.ch/lamp-stack-a...-installieren/

    Einen schönen Abend Euch allen.

    VG

    Update: ps - für die weitere Zeit hab ich mir mal vorgenommen, eine WordPress darauf zu installieren: Hier habe ich praktischerweise ein sehr interessantes Manual gefunden
    Um es mal vorwegzunehmen: finde Manuals sehr ausfühürlich

    b. Installing WordPress on a Linux (LAMP) Server
    https://www.linuxquestions.org/quest...-server-37355/

    Mein System - das ist ein Linux-Notebook mit MX-Linux drauf


  • #2
    Das ist nur eine Warnung die sagt, dass dem Webserver noch keine Domain zugewiesen ist.

    Du kannst sie ignorieren oder in /etc/apache2/apache2.conf die Zeile hinzufügen:

    Code:
    ServerName localhost
    Alternativ die Domain über die deine Webseite später laufen soll.

    Kommentar


    • #3
      Hallo Zeichen32
      vielen Dank für deine Rückmeldung. Freue mich sehr. Das hilft weiter

      Viele Grüße
      PregMatch

      Wünsch Euch allen einen schoenen Samstag


      update: es geht mir bei dieser Aktion um die Installation der WordPress

      ich gehe dabei so vor: - der LAMP-Stack - den hab ich mal grundlegend eingerichet:

      .... eh ich den webbasierte WordPress Setup einrichte, werde ich einige Elemente im WordPress-Verzeichnis noch überarbeiten:

      - Anpassung des Eigentums und der Berechtigungen:
      Es geht darum, die Dateiberechtigungen und Dateibesitzer entsprechend anzupassen und einzurichten,

      Es geht also darum, dass ich mich um die korrekten Dateirechte mich kümmere -m.a.W. darum dass

      a. die Anpassung des Eigentums und der Berechtigungen
      es ist ziemlich wichtig, dass die Dateiberechtigungen und Dateibesitzer genau passen.

      Dazu gehört auch dass, das Eigentum an allen Dateien auf den Benutzer und die Gruppe www-data übertragen wird. Es geht also darum, dass dem Benutzer, unter dem der Apache-Webserver läuft die entsprechenden Rechte übertragen werden; Dabei ist wichtig: der Apache muss WordPress-Dateien lesen und schreiben können, damit die Website bereitgestellt werden kann. M.a.W. geht meines Erachtens auch darum, den Besitz und die Berechtigungen des Verzeichnisses in welches die WP installiert wird, anzupassen:
      In meinem LAMP-Stack gehört der Besitz des WordPress-Verzeichnisses am Anfang noch dem sudo-Benutzer. Der Besitz muss auf den www-data-Benutzer und die Gruppe geändert werden, die der Apache-Webserver verwendet.

      b. Ferner müssen sich auch automatisch Updates ausführen lassen.

      Ich geh dabei so vor, dass ich den Eigentum an Dateien und Ordnern mit dem Befehl chown anpasse, Damit passe ich die Rechte und den Dateibesitz an. Dabei achte ich darauf, dass auf das genau richtige Verzeichnis des Servers verwiesen wird.
      Das Ändern des Eigentums an www-Daten ermöglicht es WordPress, Dateien zu lesen und zu schreiben, wodurch die Webseiten ordnungsgemäß bereitgestellt und bei Bedarf automatische Aktualisierungen durchgeführt werden. Wir können den Besitz mit dem Befehl chown aktualisieren.

      Code:
      sudo chown -R www-data:www-data /var/www/html
      Alle Unterverzeichnisse der WordPressinstallation brauchen die korrekten Berechtigungen. Mit den folgenden Kommandos ändere ich diese:

      Code:
      sudo find /var/www/html/ -type d -exec chmod 750 {} \;
      sudo find /var/www/html/ -type f -exec chmod 640 {} \;
      Also ich lege hiermit die richtigen Berechtigungen für das Website-Verzeichnis fest, d. h. ich werde dem Webserver zum Owner der WordPress-Dateien machen:
      Okay - Alternativ könnte dieser Vorgang gegebenenfalls auch so gehen:

      Code:
      $ sudo chown -R www-Daten:www-Daten /var/www/html/
      $ sudo chmod -R 750 /var/www/html/

      ...die Installation von WordPress:

      ..ich nehm das WordPress-Paket - m.a.W. ich lade es herunter und extrahiere es, indem mit dem Befehl auf dem Terminal:

      Code:
      $ wget -c http://wordpress.org/latest.tar.gz
      $ tar -xzvf neueste.tar.gz
      Danach verschieb ich dann die WordPress-Dateien aus dem extrahierten Ordner (mit dem mv-Kommando) in das Standard-Stammverzeichnis von Apache, /var/www/html/:

      Code:
      $ sudo mv wordpress/* /var/www/html/

      Frage; was würde passieren, wenn ich das nicht mache!? Kann ich denn dann in einem LAMP-Stack die Daten einer WordPress dennoch auf das Verzeichnis übertragen- also auf das folgende Verzeichnis!?

      Code:
       /var/www/html/

      Kommentar


      • #4
        Moin liebe PHP-Experten

        habe nun den LAMP auf ein Linux aufgesetzt.
        Ich hab in den letzten Tagen einen LAMP-Stack aufgesetzt - auf ein Linux-Notebook (Basis ist hier MX_Linux) Es läuft schon einiges ganz gut.

        - ich kann den Apache Starten und Stoppen.
        - ich habe einen Zugang zur DB via CLI u.
        - ich hab ein phpmyAdmin aufgesetzt - auch das läuft.
        - und dann hatte ich große Probleme mit dem Root / bzw. mit dem Zugang zur MySQL _DB: Bis alles hier sauber aufgesetzt war, ging schon noch etwas Zeit drauf: Es war fast ein kl. Fiasko mit den User an der DB - das habe ich nun hoffentlich auch hinter mir.


        nun denke ich, ist es das allerwichtigste - mit dem LAMP auch gleich mal was zu machen. Also fange ich am besten gleich mal an: Ich will eine Testumgebung für Wordpress haben:
        Ich kann jetzt im Grunde doch schon sehr viel auf dem Server machen - und nun will ich noch eine WordPress reinrichten. Da ist die Frage:

        - muss ich noch Vhosts anlegen auf dem Apache !? zusammen mit einer neuen DocumentRoot und einem eigenen Benutzer, der Dateien hochladen kann, um die Website zu erstellen.
        - brauche ich noch spezielle Anpassen der Apache-Konfigurationen :: um .htaccess-Overrides und -Rewrites zuzulassen!!?

        also ich hab das aufgebaut. Und im Moment siehts so aus als würde das laufen: Was meint ihr als PHP-Experten denn hier.

        Soll ich nun noch weitermachen - oder kann ich einfach nun - weitermachen denn bislang, da läuft ja auch schon sehr vieles!



        Ziel: Ich will eine Testumgebung für Wordpress einrichten

        Nach dem Einrichten des Apache und dem MySQL-Servers habe ich noch einen PHPMyAdmin eingerichtet - und ferner noch:

        a. Ein zusätzlichen Benutzer mit allen Rechten anlegen, dazu melden wir uns mit dem MySQL-Client am DB-Server an.
        CODE: ALLES AUSWÄHLEN

        Code:
        mysql -u root
        also bis hier klappt ja mal alles, ich bin jetzt im MySQL Prompt drinne.

        Code:
        MySQL [(none)]>
        Und jetzt mach ich mit den folgenden SQL Befehlen weiter: Ich will nen MariaDB-Benutzer erstellen und ihm die Rechte zu erteilen.

        Code:
        CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
        GRANT ALL PRIVILEGES ON *.* TO 'user'@'localhost' WITH GRANT OPTION;
        FLUSH PRIVILEGES;
        ferner:
        Code:
        CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
        mysql> GRANT ALL PRIVILEGES ON *.* TO 'wp'@'localhost' WITH GRANT OPTION;
        ERROR 1133 (28000): Can't find any matching row in the user table
        mysql> FLUSH PRIVILEGES;
        Query OK, 0 rows affected (0.00 sec)
        
        mysql> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
        Query OK, 0 rows affected (0.01 sec)
        
        mysql> GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost';
        Query OK, 0 rows affected (0.00 sec)
        
        mysql> FLUSH PRIVILEGES;
        Query OK, 0 rows affected (0.00 sec)
        
        mysql> SHOW GRANTS FOR 'newusere'@'localhost';
        ERROR 1141 (42000): There is no such grant defined for user 'newusere' on host 'localhost'
        mysql> SHOW GRANTS FOR 'newuser'@'localhost';
        +-------------------------------------------------------------------------------------------------------------------------+
        | Grants for newuser@localhost                                                                                            |
        +-------------------------------------------------------------------------------------------------------------------------+
        | GRANT ALL PRIVILEGES ON *.* TO `newuser`@`localhost` IDENTIFIED BY PASSWORD '*2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19' |
        +-------------------------------------------------------------------------------------------------------------------------+
        1 row in set (0.00 sec)


        Nun - das läuft alles: ein paar Fragen: Also - grundsätzlich - das Ding läuft - und ich bekomme die Debian-Default-Page - wenn ich den Localhost aufrufe. Soweit so gut.

        [attachment=1]debian_default_page.png[/attachment]


        Auch der PHP-Myadmin läuft: [attachment=0]phpMyAdminHomePage.png[/attachment] alles nicht schlecht würde ich sagen.


        Es komme mir noch ein paar Extra-Fragen:

        zum Beispiel diese:

        1. Brauch ich denn einen einen VHost - muss ich noch einen VHost extra einrichten!?

        ich hab das - auf meinem MX-Linux-Notebook so - nach dieser Anleitung gemacht: https://think.unblog.ch/lamp-stack-a...-installieren/
        da ist dann auch noch ein Schritt beschrieben mit Apache Virtual Host für eine Domain erstellen:


        ....Mit einem einfachen Skript lässt sich ein neuen Apache VirtualHost erstellen, zusammen mit einer neuen DocumentRoot und einem eigenen Benutzer, der Dateien hochladen kann, um die Website zu erstellen.

        Code:
        #!/bin/bash
        if [ $# -lt 2 ]; then
            echo "Missinng argument!"
            echo "use: addvhost [example.com] [username]"
          exit 1
        fi
        # make directory for new docroot
        mkdir -p /var/www/$1 /var/www/$1/html
        # add user for new docroot
        useradd -s /sbin/nologin -d /var/www/$1/html $2
        # put index.html into docroot
        echo -e "<html>
          <head>
            <title>Welcome to $1</title>
          </head>
          <body>
            <h1>Howdy! Apache2 virtual host $1 is working!</h1>
          </body>
        </html>" > /var/www/$1/html/index.html
        # assign owner and grant rights
        chown -R $2:$2 /var/www/$1
        chmod -R 755 /var/www
        # create new apache virtual host config
        cat <<EOF> /etc/apache2/sites-available/$1.conf
        <VirtualHost *:80>
            ServerAdmin webmaster@$1
            ServerName $1
            ServerAlias www.$1
            DocumentRoot /var/www/$1/html
            ErrorLog /var/log/apache2/error.log
            CustomLog /var/log/apache2/access.log combined
        </VirtualHost>
        EOF
        # enable the new apache virtual host
        a2ensite $1
        systemctl restart apache2
        Die Zeilen in eine Skriptdatei als addvhost speichern und wie folgt ausführen.
        
        chmod 755 addvhost
        ./addvhost example.com username
        Verwende das erste Argument für den Domänennamen und das zweite für den zu erstellenden Benutzernamen.
        Hinweis. daran denken das der neue Benutzer noch ein Passwort benötig mit passwd [username]
        Nach dem Ausführen des Skripts findet man eine neue Docroot unter /var/www sowie die zugehörige Apache Virtual
        Host-Konfiguration unter /etc/apache2/sites-available diese bereits aktiviert ist.
        Wie gesagt: ich habe diese Anleitung verwendt: https://think.unblog.ch/lamp-stack-auf-debian-installieren/

        und brauche ich das untenstehend auch noch das Anpassen der Apache-Konfiguration, um .htaccess-Overrides und -Rewrites zuzulassen?


        vgl. https://www.digitalocean.com/communi...-lamp-stack-de

        Schritt 3 – Anpassen der Apache-Konfiguration, um .htaccess-Overrides und -Rewrites zuzulassen
        Als Nächstes werden wir einige kleinere Anpassungen an unsere Apache-Konfiguration vornehmen. Basierend auf den erforderlichen Tutorials sollten Sie eine Konfigurationsdatei für Ihre Site im Verzeichnis /etc/apache2/sites-available/ haben.

        Als Beispiel verwenden wir in diesem Leitfaden /etc/apache2/sites-available/wordpress.conf, aber Sie sollten den Pfad zu Ihrer Konfigurationsdatei ggf. ersetzen. Außerdem verwenden wir /var/www/wordpress als Root-Verzeichnis unserer WordPress-Installation. Sie sollten das in Ihrer eigenen Konfiguration angegebene Web-Root verwenden. Wenn Sie unserem LAMP-Tutorial gefolgt sind, kann dies in beiden Fällen Ihr Domänenname anstelle von wordpress sein.

        Anmerkung: Es ist möglich, dass Sie die Standardkonfiguration 000-default.conf verwenden (mit /var/www/html als Ihre Web-Root). Das ist in Ordnung, wenn Sie auf diesem Server nur eine Website hosten wollen. Ansonsten ist es am besten, die notwendige Konfiguration in logische Chunks von einer Datei pro Site aufzuteilen.

        Nach Festlegung unserer Pfade können wir nun mit .htaccess arbeiten, sodass Apache Konfigurationsänderungen anhand einzelner Verzeichnisse handhaben kann.

        Aktivieren von .htaccess Overrides
        Derzeit ist die Verwendung von .htaccess-Dateien deaktiviert. WordPress und viele WordPress-Plugins setzen diese Dateien weitläufig für kleine In-Directory-Änderungen des Webserver-Verhaltens ein.

        Öffnen Sie die Apache-Konfigurationsdatei für Ihre Website mit einem Texteditor wie nano.

        sudo nano /etc/apache2/sites-available/wordpress.conf
        Um .htaccess-Dateien zu erlauben, müssen wir die Anweisung AllowOverride in einem Verzeichnisblock festlegen, der auf unsere Dokument-Root verweist. Fügen Sie Ihrer Konfigurationsdatei im VirtualHost-Block den folgenden Textblock hinzu, wobei Sie sichergehen müssen, dass Sie das korrekte Web-Root-Verzeichnis verwenden:

        Code:
        /etc/apache2/sites-available/wordpress.conf
        <Directory /var/www/wordpress/>
        AllowOverride All
        </Directory>
        Wenn Sie dies abgeschlossen haben, speichern und schließen Sie die Datei. In nano können Sie dazu zusammen Strg und X, dann Y und anschließend die Eingabetaste drücken.

        Aktivierung des Rewrite-Moduls
        Als Nächstes können wir mod_rewrite aktivieren, damit wir die WordPress Permalink-Funktion verwenden können:

        sudo a2enmod rewrite
        Dadurch können Sie in Ihren Posts mehr für Menschen lesbare Permalinks verwenden, wie die folgenden zwei Beispiele zeigen:

        http://example.com/2012/post-name/
        http://example.com/2012/12/30/post-name
        Der Befehl a2enmod ruft ein Skript auf, das das angegebene Modul innerhalb der Apache-Konfiguration aktiviert.

        Aktivierung der Änderungen
        Bevor wir die von uns vorgenommenen Änderungen implementieren, überprüfen wir, ob wir keine Syntaxfehler gemacht haben. Dazu führen wir folgenden Test aus.

        Code:
        sudo apache2ctl configtest
        Sie erhalten möglicherweise eine Ausgabe wie diese:

        Code:
        Output
        AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
        Syntax OK
        Wenn Sie die oberste Zeile ausblenden wollen, fügen Sie Ihrer Haupt- (global) Apache-Konfigurationsdatei unter /etc/apache2/apache2.conf einfach einen ServerName hinzu. Der ServerName kann die Domäne oder IP-Adresse Ihres Servers sein. Dies ist jedoch nur eine Nachricht und beeinflusst die Funktionalität Ihrer Website nicht. Solange die Ausgabe Syntax OK enthält, können Sie weitermachen.

        Starten Sie Apache neu, um die Änderungen zu implementieren. Nehmen Sie den Neustart auch dann vor, wenn Sie in diesem Tutorial bereits einen Neustart ausgeführt haben.

        Code:
        sudo systemctl restart apache2
        Als Nächstes werde ich WordPress selbst herunterladen und dann richte ich es ein.
        Also - es läuft ja irgendwie jetzt schon alles - brauch ich das extra noch !?
        Brauche ich denn die oben erwähnten Server-Konfigurations-schritte noch!?




        Also - ich würde jetzt ja sagen, dass es weitergeht mit dem nächsten Schritt:
        der nächste Schritt : Download der WordPress

        mit all den Voraussetzungen kann ich ja weiter gehen und mit dem Download der WordPress weitermachen:
        ich hol die aus Sicherheitsgründen direkt von der Quelle:
        Aber erst geh ich zu /var/www/ directory

        Code:
        # cd /var/www/```
        Dann kommt hier der download mit dem zipped folder und dem folgenden Kommando

        [code]# curl -O https://wordpress.org/latest.tar.gz[/quote] Extrahieren des tarball file

        # tar -xvf latest.tar.gz
        Jetzt kommt ein Ordner der mit wordpress gelabelt ist:

        Da sind alle WordPress-Dinge drinne: auch die Konfigurations-Dateien. Jetzt können wir das tarball file removen - denn jetzt geht es weiter:

        Code:
        # rm latest.tar.gz
        Schritt 2: Konfiguration des WordPress directory

        Und jetzt ists ganz wichtig - ehe wir zum nächsten Schritt kommen, müssen wir uns um die Rechte und die sogenannte ownership und die file permissions der WordPress kümmern - um alle entsprechenden directories.


        Die sogenannte file ownership sollte u allen Dateien im WordPress directory eingestellt werden wie folgt:

        Code:
        # sudo chown -R www-data:www-data /var/www/wordpress
        jetzt kommen die Berechtigungen, neudeutsch also die permissions: ich denk dass man die so setzen kann:

        Code:
         # sudo find /var/www/wordpress/ -type d -exec chmod 750 {} \; # sudo find /var/www/wordpress/ -type f -exec chmod 640 {} \;
        und dann sollte man noch das sample configuration file im WordPress directory so umnennen dass man davon auch lesen kann.

        Code:
         # cd /var/www/wordpress # mv wp-config-sample.php wp-config.php
        dann denke ich ist es an der Zeit, dass wir die wp-config.php öffnen - das kann man mit einem beliebigen Editor machen .-z.B. auch mit dem text editor Vim.

        Code:
        # vim wp-config.php
        jetzt scrollen wir soweit bis wir die database settings sehen, so wie die untern zu sehen sind: Und nun ists wichtig dass wir alle Daten fein säuberlich eintragen - also die WordPress database name, database user, database password und hostname-Daten
        Code:
        // ** MySQL settings - diese Infos bekommt man vom web host - wir sind aber hier auf einem localhost ** //
        
        /** The name of the database for WordPress */ define('DB_NAME', 'wordpressdb'); /** MySQL database username */ define('DB_USER', 'admin-user'); /** MySQL database password */ define('DB_PASSWORD', 'StrongPassword'); /** MySQL hostname */ define('DB_HOST', 'localhost'); /** Database Charset to use in creating database tables. */ define('DB_CHARSET', 'utf8'); /** The Database Collate type. Don't change this if in doubt. */ define('DB_COLLATE', '');
        Nun - also an dieser Stelle müssen wir das configuration file nur noch final sichern - und dann sind wir hiermit schon fertig.


        Angehängte Dateien

        Kommentar

        Lädt...
        X