過去数か月にわたって、HHVMはPHPコミュニティを席巻しました。 WordPress 3.9がリリースされてから、HHVMはWordPressと100%互換性があります。
残念ながら、HHVMは、セルフホスト環境での実稼働環境で使用する準備が整っていません。私の経験では、HHVMは1日に約1回クラッシュするため、高可用性が重要なサイトでは実行できません。最近、WP EngineはプロジェクトMercuryをリリースしました。これにより、HHVMが失敗したときにPHP 5.5にフォールバックすることで、HHVMが正常に失敗するようになります。
この記事では、最新のLTSリリースである14.04を実行しているUbuntuサーバーにHHVMをインストールします。これは、ダウンロードしたUbuntu ISOファイルでVirtualBox(無料)などの視覚化プログラムを使用するか、クラウドホスティングサービスを使用することで実現できます。 DigitalOceanは、月額5ドルでクラウドサーバーを提供しています。これは、このチュートリアルで使用するものです。
最初にすべきことは、すべてのパッケージと依存関係を更新することです。
$ sudo apt-get update && sudo apt-get upgrade
MySQLのインストール
次に、WordPressを強化するデータベースであるMySQLをインストールする必要があります。
$ sudo apt-get install mysql-server
明らかなセキュリティ上の理由から、ルートMySQLパスワードを設定する必要があります。セキュリティを特に意識している場合は、$ mysql_secure_installation
も実行する必要があります。 必要な手順に従ってサーバーをロックダウンします。
Nginxをインストール
次に行う必要があるのは、Webサーバーをセットアップすることです。 Nginxは軽量で用途が広く、構成が簡単なため、私はNginxを使用することを好みます。
$ sudo apt-get install nginx
HHVMのインストール
次に、HHVMをインストールします。 Ubuntuリポジトリでは利用できないため、他のパッケージをインストールするほど簡単ではありません。代わりに、いくつかの依存関係とともに、HHVM自体からダウンロードする必要があります。
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
HHVMをインストールしたので、Nginx用のHHVMモジュールをインストールするインストールスクリプトを実行する必要があります。
sudo /usr/share/hhvm/install_fastcgi.sh
次に、HHVMとNginxを再起動します。
sudo /etc/init.d/hhvm restart
sudo /etc/init.d/nginx restart
ウェブサイトを設定する
次に行う必要があるのは、Webサイトの仮想ホストを設定することです。通常、サーバー上のWebサイトごとに新しい仮想ホストを作成しますが、テストしているので(簡単にするために)、/etc/nginx/sites-available/default
以下の簡単なファイルで:
注:このファイルを編集するには、root権限が必要です。
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; } }
これでWordPressを設定できます:
- 更新されたnginx構成をリロードします:
$ sudo service nginx reload
。 - 次に、Webルートディレクトリを作成します:
$ sudo mkdir /var/www
。 - WordPressをダウンロード:
$ sudo wget
http://wordpress.org/latest.tar.gz
/var/www/
。 - WordPressを抽出:
$ sudo tar xvf /var/www/latest.tar.gz
。 - WordPressファイルをウェブルートに移動します:
$ sudo mv /var/www/wordpress/* /var/www/
。 - クリーンアップ:
$ sudo rm -rf /var/www/wordpress /var/www/latest.tar.gz
。 - 権限の設定:
$ sudo chmod -R 775 /var/www
。 - グループの設定:
$ sudo chown -R www-data.www-data /var/www
。
WordPressデータベースのセットアップ
MySQLにログインします$ mysql -u root -p
。次に、次のコマンドを実行します。
CREATE DATABASE wordpress; CREATE USER wordpress@localhost; GRANT ALL PRIVILEGES ON wordpress.* to username@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; quit
これで、サーバーのIPアドレスにアクセスして、有名な5分間のインストールに従うことができます。