HHVM(HipHop Virtual Machine)は、Facebookによって開発されたオープンソースの仮想マシンであり、PHP 5(およびPHP 7の一部の機能)とHack言語で記述されたプログラムを実行するJIT(ジャストインタイム)コンパイラーです。サーバーでHHVMを実行する場合は、NginxまたはApache Webサーバー上でFastCGIベースのWebサーバーを使用するか、「Proxygen」と呼ばれる組み込みのWebサーバーを使用できます。
このチュートリアルでは、HHVMとNginxをウェブサーバーとして使用してWordPress(PHPに基づく有名なCMS)をインストールする方法を紹介します。オペレーティングシステムとしてOpenSUSELeap42.1を使用するため、OpenSUSEの基本的な知識が必要です。
前提条件
- OpenSUSELeap42.1-64ビット。
- root権限。
- Zypper、SuSE-firewallなどのOpenSUSEの基本的な知識。
Nginxまたはengine-xは、高性能でメモリ消費量が少ない軽量のWebサーバーです。 OpenSUSEサーバーでは、zypperコマンドを使用してパッケージをインストールできます。
「sudosu」を使用してrootユーザーになり、openSUSELeap42.1でzypperコマンドを使用してNginxをインストールします。
sudo su
zypper in nginx
次に、ウェブディレクトリ「/ srv / www / htdocs」に移動して、新しいindex.htmlファイルを作成します。
cd /srv/www/htdocs/
echo "<h1>Nginx OpenSUSE Leap 42.1</h1>" > index.html
起動時に開始するNginxを追加し、systemctlコマンドでNginxを開始します:
systemctl enable nginx
systemctl start nginx
Nginxがサーバーで実行されていることを確認するには、ブラウザーでサーバーのIPアドレスにアクセスするか、以下のcurlコマンドを使用して結果を確認します。
curl 192.168.43.29
MariaDBは、元のMySQL開発者であるMonty Wideniusによって開発されたオープンソースデータベースであり、MariaDBはMySQLと互換性があります。このステップでは、MariaDBをインストールし、MariaDBデータベースのルートパスワードを構成します。次に、WordPressのインストールに必要な新しいデータベースとユーザーを作成します。
zypperを使用してMariaDBをインストールします:
zypper in mariadb mariadb-client
MariaDBをブートシーケンスに追加してから開始します:
systemctl enable mysql
systemctl start mysql
MariaDBが開始されたので、MariaDB/mysqlデータベースのルートパスワードを構成する必要があります。以下のコマンドを実行して、MariaDBルートパスワードを設定します。
/usr/bin/mysqladmin -u root password 'toor123'
注:
MariaDBのパスワードは"toor123" 、サーバーで別のより安全なパスワードを使用してください。
MariaDBルートパスワードが設定されました。次に、MariaDB / MySQLシェルにログインして、新しいデータベースを作成します "wpdb" および新規ユーザー"wpuser" パスワード"[メール保護]" WordPressのインストール用。システムでもここで安全なパスワードを選択してください。
MariaDB / MySQLシェルにログインします:
mysql -u root -p
TYPE PASSWORD toor123
新しいデータベースと新しいユーザーを作成します:
create database wpdb;
create user [email protected] identified by '[email protected]';
grant all privileges on wpdb.* to [email protected] identified by '[email protected]';
flush privileges;
MariaDBがインストールされ、WordPressインストール用の新しいデータベースが作成されました。
HHVMをインストールするには、新しいhhvmリポジトリを追加する必要があります。 zypperコマンドを使用して、新しいhhvmリポジトリをサーバーに追加できます。次に、openSUSEリポジトリを更新する必要があります:
zypper addrepo http://download.opensuse.org/repositories/home:munix9/openSUSE_Leap_42.1/home:munix9.repo
zypper refresh
常にキーを信頼するには、「a」と入力します。
次に、hhvmパッケージをインストールします:
zypper in hhvm hhvm-nginx hhvm-fastcgi
hhvm-nginx Nginx構成のサンプルを提供します。
hhvm-fastcgi FastCGIメタファイルを提供します。
このステップでは、Nginxウェブサーバーで実行するようにHHVMを構成します。 Unixソケットを使用するようにHHVMを構成し、NginxユーザーとしてHHVMを実行します。 HHVM構成ディレクトリに移動し、vimエディターで構成ファイル「server.ini」を編集します。
cd /etc/hhvm/
vim server.ini
3行目のコメントを外して、HHVMのUnixソケットを有効にします。
hhvm.server.file_socket = /var/run/hhvm/server.sock
保存して終了します。
次に、HHVMがNginxginxユーザーを実行できるように、HHVMサービススクリプトを編集する必要があります。 Webサーバーと同じユーザーとして実行するようにHHVMを構成することが重要です。 systemdディレクトリに移動し、vimで「hhvm.service」ファイルを編集します:
cd /usr/lib/systemd/system
vim hhvm.service
11行目の--userhhvmオプションをnginxユーザーに変更します。
ExecStart=/usr/bin/hhvm --config /etc/hhvm/php.ini --config /etc/hhvm/server.ini --user nginx --mode daemon -vServer.Type=fastcgi -vServer.FileSocket=/var/run/hhvm/server.sock - vPidFile=/var/run/hhvm/server.pid
保存して終了します。
次に、「/ var / run/hhvm」ディレクトリの所有者をnginxユーザーに変更します。
chown -R nginx:nginx /var/run/hhvm/
注:
サーバーが再起動した後、ディレクトリのデフォルトの所有者がデフォルトのユーザーに戻ることがあります。この問題を解決するために、現在のランレベルのすべてのスクリプトが実行された後に実行されるlinuxコマンドを定義できます。
「/etc/rc.d/」ディレクトリのafter.localファイルを編集し、ファイルの最後に新しいLinuxコマンドを追加します。
vim /etc/rc.d/after.local
以下にコマンドを貼り付けます:
chown -R nginx:nginx /var/run/hhvm/
保存して終了します。
次に、Nginxで動作するようにHHVMを構成する必要があります。新しいパッケージ「hhvm-nginx」をインストールしました。これには、NginxWebサーバーのHHVM構成の例が含まれています。
Nginx構成ディレクトリに移動し、HHVM構成をコピーします。
cd /etc/nginx/
cp hhvm.conf.example hhvm.conf
hhvm.confをvimで編集します:
vim hhvm.conf
2行目に、新しい構成を追加してWebルートディレクトリを定義します。
root /srv/www/htdocs;
保存して終了します。
次に、HHVM構成を含めるようにNginx構成を編集する必要があります。
vim nginx.conf
59行目-以下に新しい構成行を追加します:
include /etc/nginx/hhvm.conf;
保存して終了します。
以下のsystemctlコマンドを使用してHHVMを有効にして起動します。
systemctl enable hhvm
systemctl start hhvm
次に、Nginxを再起動します:
systemctl restart nginx
NginxとHHVMがインストールおよび構成されています。構成が機能しているかどうかをテストするために、phpinfoコードを含む新しいphpファイルを作成し、それをWebルートディレクトリ "/ srv / www / htdocs"に保存してから、Webブラウザからアクセスします。
cd /srv/www/htdocs/
echo "<?php phpinfo(); ?>" > info.php
ブラウザを開き、サーバーのIPアドレスを入力します:
192.168.43.29/info.php
NginxとHHVMはエラーなしで動作しています。
このステップでは、NginxとHHVMを使用して新しい仮想ホスト構成を作成します。ドメイン名を使用します"hakasenano.co" この例では、WordPressインストールのドメインとしても使用します。すべての構成ファイルとコマンドで、ドメイン名を独自のドメイン名に置き換えてください。
Nginxディレクトリに移動し、仮想ホストファイルを保存するための新しいディレクトリを作成します。
cd /etc/nginx/
mkdir vhosts.d/
cd vhosts.d/
vimを使用して新しい構成ファイル「nano.conf」を作成します:
vim nano.conf
そして、新しい仮想ホスト構成を以下に貼り付けます:
server {
# This line for redirect non-www to www
server_name hakasenano.co; rewrite ^(.*) http://www.hakasenano.co$1 permanent; } server { listen 80; server_name www.hakasenano.co; root /srv/www/nano; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /srv/www/htdocs; } # HHVM running throught Unix-Socket location ~ \.(hh|php)$ { root /srv/www/nano; fastcgi_keep_conn on; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/var/run/hhvm/server.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
保存して終了します。
仮想ホスト構成では、ドメイン名のWebルートディレクトリを「/ srv / www/nano」ディレクトリとして定義しました。このディレクトリは現在存在しないため、今すぐそのディレクトリを作成する必要があります。
mkdir -p /srv/www/nano/
最後に、Nginx構成をテストして再起動します:
nginx -t
systemctl restart nginx
nginx-tコマンドでエラーメッセージが表示されないことを確認してください。
手順5では、WordPressインストール用の仮想ホスト構成を作成しました。したがって、今すぐWordPressをダウンロードしてから、手順2で作成したデータベース構成を編集する必要があります。
Webルートディレクトリ「/srv/ www / nano」に移動し、wgetコマンドを使用してWordPresszipアーカイブをダウンロードします。
cd /srv/www/nano
wget wordpress.org/latest.zip
「latest.zip」を抽出し、すべてのWordPressファイルとディレクトリをnanoディレクトリに移動します:
unzip latest.zip
mv wordpress/* .
次に、「wp-config-sample.php」ファイルを「wp-config.php」にコピーし、vimで編集します:
cp wp-config-sample.php wp-config.php
vim wp-config.php
DB_NAMEをデータベースに変更します"wpdb" 、DB_USERから "wpuser" およびDB_PASSWORDを"[メールで保護]" 。
define('DB_NAME', 'wpdb'); define('DB_USER', 'wpuser'); define('DB_PASSWORD', '[email protected]'); define('DB_HOST', 'localhost');
保存して終了します。
次に、Webブラウザを開き、ドメイン名をアドレスバーに入力します。
www.hakasenano.coにリダイレクトされます インストールのページが表示されます。
また、サイトのタイトルと説明に情報を入力して、[Wordpressのインストール]をクリックできます。
インストールが完了するまで待つと、以下のログインページが表示されます。 [ログイン]をクリックして、WordPress管理ダッシュボードにログインします。
管理者ユーザーとパスワードを入力し、[ログイン]をもう一度クリックします。
これで、WordPress管理ダッシュボードが表示されます。
OpenSUSELeap42.1にNginxとHHVMを搭載したWordpressがインストールされました。