PHP 8 Installation

  • In diesem Tutorial möchte ich euch zeigen wie einfach es ist die PHP 8 Beta, auf eurem Server zu installieren und zu konfigurieren.
    Außerdem versuche ich über einige Anfänger Fehler aufzuklären.

    1. Pakete:

    Bitte versichert euch, dass ihr die unten genannten Pakete installiert habt:

    Code
    apt-get install -y pkg-config
    apt-get install build-essential
    apt-get install libxml2-dev
    apt-get install sqlite3 && apt-get install libsqlite3-dev
    apt-get install libpcre3 libpcre3-dev
    apt-get install zlib1g-dev
    apt-get install libapr1-dev libaprutil1-dev
    apt-get install libdb-dev

    2. Download:

    Als Erstes müssen wir unsere Binaries von Apache2 (httpd), PHP Beta und OpenSSL Downloaden.


    Hierfür navigieren wir erst in unser Root(~) Directory und führen folgende Command's aus:

    Code
    #HTTPD:
    wget https://downloads.apache.org//httpd/httpd-2.4.46.tar.bz2
    
    #PHP8:
    wget https://downloads.php.net/~pollita/php-8.0.0beta4.tar.bz2
    
    #OPENSSL:
    wget https://www.openssl.org/source/snapshot/openssl-3.0-dev-SNAP-20200918.tar.gz


    3. Entpacken:

    Der nächste Schritt ist nun die ganzen Source's zu Entpacken um an die Binaries heranzukommen.

    Code
    #HTTPD
    tar -vxjf httpd-2.4.46.tar.bz2
    
    #PHP8
    tar -vxjf php-8.0.0beta4.tar.bz2
    
    #OPENSSL
    tar -vxzf openssl-3.0-dev-SNAP-20200918.tar.gz


    4. OpenSSL:

    Als Leider brauchen wir um HTTPD in der neusten Version zu kompilieren, eine neue OpenSSL Version.

    Diese lässt sich in etwa wie PHP und Apache2 kompilieren:

    Code
    #Goto zipped Directory ~/openssl-...
    
    ./configure
    Code
    make && make install

    Nachdem wir erfolgreich unser OpenSSL konfiguriert und kompiliert haben, tauschen wir einfach unsere alten Source im Include Directory aus.

    Code
    cp -r include/openssl /usr/local/include/


    5. Apache2:

    Da wir nun OpenSSL upgedatet haben, können wir als Nächstes uns um die Einrichtung des HTTPD Source's kümmern.

    Code
    #Goto zipped Apache Directory
    ./configure --prefix=/usr/local/apache --enable-so --enable-cgi --enable-info --enable-rewrite --enable-speling --enable-usertrack --enable-deflate --enable-ssl=/root/openssl-3.0-dev-SNAP-20200918 --enable-mime-magic

    Nachdem wir unseren Code kompiliert haben, müssen wir ihn nur noch mit unserem System verlinken / installieren:

    Code
    make && make install


    6. PHP:

    Als einer der letzten Schritte müssen wir nun PHP kompilieren, bitte passt darauf auf, dass ihr bei Apache2 das APXS mit "gebuildet" habt!

    Code
    ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql --prefix=/usr/local/apache/php --with-config-file-path=/usr/local/apache/php --enable-force-cgi-redirect --disable-dba --disable-cgi --with-zlib --with-gettext
    Code
    make && make install


    7. Konfiguration:

    Zuletzt müssen wir unseren Webserver noch konfigurieren, sodass er PHP als Modul erkennt.

    Dafür bearbeiten wir unsere httpd.conf Datei unter /usr/local/apache/conf/.


    8. Dienst:

    Als letztes Registrieren wir HTTPD noch als Service.

    Code
    cp /usr/local/apache/bin/apachectl /etc/init.d/

    9. Ende:

    Ich wünsche jedem viel Erfolg und würde mich über eine kleine U-Coins Spende für meine KB-Einträge freuen 8o.