In den letzten Monaten hat HHVM die PHP-Community im Sturm erobert. Seit WordPress 3.9 veröffentlicht wurde, ist HHVM nun zu 100 % kompatibel mit WordPress.
Leider ist HHVM noch nicht ganz reif für den produktiven Einsatz in selbst gehosteten Umgebungen. Meiner Erfahrung nach stürzt HHVM ungefähr einmal am Tag ab, was es für eine Website, auf der Hochverfügbarkeit wichtig ist, nicht praktikabel macht. Kürzlich hat WP Engine das Projekt Mercury veröffentlicht, das es HHVM nahtlos ermöglicht, ordnungsgemäß zu scheitern, indem es auf PHP 5.5 zurückgreift, wenn es fehlschlägt.
In diesem Artikel installieren wir HHVM auf einem Ubuntu-Server, auf dem die neueste LTS-Version 14.04 ausgeführt wird. Dies kann entweder durch die Verwendung eines Visualisierungsprogramms wie VirtualBox (kostenlos) mit einer heruntergeladenen Ubuntu-ISO-Datei oder durch die Verwendung eines Cloud-Hosting-Dienstes erreicht werden. DigitalOcean bietet Cloud-Server für 5 $ pro Monat an, die ich in diesem Tutorial verwenden werde.
Als erstes sollten Sie alle Pakete und Abhängigkeiten aktualisieren:
$ sudo apt-get update && sudo apt-get upgrade
Installieren Sie MySQL
Jetzt müssen Sie MySQL installieren, die Datenbank, die WordPress antreibt.
$ sudo apt-get install mysql-server
Sie sollten aus offensichtlichen Sicherheitsgründen ein Root-MySQL-Passwort festlegen. Wenn Sie besonders sicherheitsbewusst sind, sollten Sie auch $ mysql_secure_installation
ausführen und folgen Sie den notwendigen Schritten, um Ihren Server zu sperren.
Installieren Sie Nginx
Als nächstes müssen Sie einen Webserver einrichten. Ich bevorzuge Nginx, weil es leicht, vielseitig und einfach zu konfigurieren ist.
$ sudo apt-get install nginx
HHVM installieren
Installieren Sie nun HHVM. Es ist nicht so einfach wie die Installation anderer Pakete, da es nicht im Ubuntu-Repository verfügbar ist. Stattdessen müssen wir es von HHVM selbst herunterladen, zusammen mit einigen Abhängigkeiten.
wget -O - https://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb http://dl.hhvm.com/ubuntu trusty main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update cd /tmp && wget http://security.ubuntu.com/ubuntu/pool/main/libm/libmemcached/libmemcached10_1.0.8-1ubuntu2_amd64.de... sudo dpkg -i libmemcached10_1.0.8-1ubuntu2_amd64.deb && rm libmemcached10_1.0.8-1ubuntu2_amd64.deb sudo apt-get install -y libgnutls26 wget http://mirrors.kernel.org/ubuntu/pool/main/r/rtmpdump/librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && sudo dpkg -i librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb && rm librtmp0_2.4+20121230.gitdf6c518-1_amd64.deb sudo apt-get install hhvm
Nachdem wir HHVM installiert haben, müssen wir ein Installationsskript ausführen, das das HHVM-Modul für Nginx installiert.
sudo /usr/share/hhvm/install_fastcgi.sh
Starten Sie nun HHVM und Nginx neu.
sudo /etc/init.d/hhvm restart
sudo /etc/init.d/nginx restart
Website einrichten
Als nächstes müssen wir einen virtuellen Host für unsere Website einrichten. Normalerweise würden Sie für jede Website auf einem Server einen neuen virtuellen Host erstellen, aber da wir testen (und der Einfachheit halber), überschreiben wir einfach den Inhalt von /etc/nginx/sites-available/default
mit einer einfachen Datei unten:
Hinweis:Sie benötigen Root-Rechte, um diese Datei zu bearbeiten.
server { listen 80; server_name localhost; # or replace localhost with domain name include hhvm.conf; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; root /var/www; index index.php; location / { try_files $uri $uri/ /index.php?$args; } }
Jetzt können wir WordPress einrichten:
- Laden Sie Ihre aktualisierte nginx-Konfiguration neu:
$ sudo service nginx reload
. - Erstellen Sie nun ein Web-Root-Verzeichnis:
$ sudo mkdir /var/www
. - WordPress herunterladen:
$ sudo wget
http://wordpress.org/latest.tar.gz
/var/www/
. - WordPress extrahieren:
$ sudo tar xvf /var/www/latest.tar.gz
. - WordPress-Dateien in den Webstamm verschieben:
$ sudo mv /var/www/wordpress/* /var/www/
. - Aufräumen:
$ sudo rm -rf /var/www/wordpress /var/www/latest.tar.gz
. - Berechtigungen festlegen:
$ sudo chmod -R 775 /var/www
. - Gruppen festlegen:
$ sudo chown -R www-data.www-data /var/www
.
WordPress-Datenbank einrichten
Melden Sie sich bei MySQL an $ mysql -u root -p
. Führen Sie nun die folgenden Befehle aus:
CREATE DATABASE wordpress; CREATE USER wordpress@localhost; GRANT ALL PRIVILEGES ON wordpress.* to username@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; quit
Jetzt können Sie zur IP-Adresse Ihres Servers gehen und der berühmten fünfminütigen Installation folgen.