このチュートリアルでは、MariaDB、PHP-FPM、およびNginxを使用してUbuntu14.04VPSにQuestion2Answerをインストールする方法を示します。 Question2Answerは、PHPで記述されたオープンソースの質問応答システムであり、40の言語で14,000を超えるサイトで使用されています。このガイドは他のLinuxVPSシステムでも機能するはずですが、Ubuntu14.04VPS用にテストおよび作成されています。
SSH経由でVPSにログイン
ssh user@vps
システムを更新し、必要なパッケージをインストールします
user@vps:~# sudo apt-get update && sudo apt-get -y upgrade user@vps:~# sudo apt-get install python-software-properties software-properties-common git vim
MariaDB10.0をインストール
user@vps:~# sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db user@vps:~# sudo add-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu trusty main' user@vps:~# sudo apt-get install mariadb-server
インストールが完了したら、次のコマンドを実行してインストールを保護します。
mysql_secure_installation
次に、Question2Answerインストール用のデータベースを作成する必要があります。
mysql -uroot -p MariaDB [(none)]> CREATE DATABASE q2a; MariaDB [(none)]> GRANT ALL PRIVILEGES ON q2a.* TO 'q2auser'@'localhost' IDENTIFIED BY 'q2auser_passwd'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> \q
Question2Answergitリポジトリのクローンを作成する
Webサイトのルートディレクトリを作成し、次のコマンドを使用してgithubからgitリポジトリのクローンを作成します。
user@vps:~# mkdir -p ~/yourQ2aSite.com/{public_html,logs} user@vps:~# git clone https://github.com/q2a/question2answer.git ~/yourQ2aSite.com/public_html
Question2Answer構成
qa-config-example.phpの名前をqa-config.phpに変更します。
mv qa-config-example.php qa-config.php
選択したテキストエディタでqa-config.phpを開き、MySQLの詳細を挿入します。
vim ~/yourQ2aSite.com/public_html/qa-config.php
define('QA_MYSQL_HOSTNAME', '127.0.0.1'); define('QA_MYSQL_USERNAME', 'q2auser'); define('QA_MYSQL_PASSWORD', 'q2auser_passwd'); define('QA_MYSQL_DATABASE', 'q2a');
PHP-FPMとNginxをインストールする
PHPとNginxのインストールは非常に簡単です。次のコマンドを実行するだけです:
user@myVPS:~# sudo apt-get install nginx php5-common php5-fpm php5-cli php5-mysqlnd
PHP-FPM構成
ユーザー用に新しいPHP-FPMプールを作成します:
user@vps:~# sudo tee /etc/php5/fpm/pool.d/$(whoami).conf << EOF [$(whoami)] user = $(whoami) group = $(whoami) listen = /var/run/php5-fpm-$(whoami).sock listen.owner = $(whoami) listen.group = $(whoami) listen.mode = 0666 pm = ondemand pm.max_children = 5 pm.process_idle_timeout = 10s; pm.max_requests = 200 chdir = / EOF
PHP-FPMを再起動します
user@vps:~# sudo service php5-fpm restart
Nginx構成
次のコンテンツを含む新しいNginxサーバーブロックを作成します。
user@vps:~# sudo tee /etc/nginx/sites-available/yourQ2aSite.com << EOF server { server_name yourQ2aSite.com; listen 80; root $HOME/yourQ2aSite.com/public_html; access_log $HOME/yourQ2aSite.com/logs/access.log; error_log $HOME/yourQ2aSite.com/logs/error.log; index index.php; location / { try_files \$uri \$uri/ /index.php?qa-rewrite=\$uri&\$args; } location ~* \.(?:ico|css|js|gif|jpe?g|png|ttf|woff)\$ { access_log off; expires 30d; add_header Pragma public; add_header Cache-Control "public, mustrevalidate, proxy-revalidate"; } location ~ \.php\$ { fastcgi_split_path_info ^(.+\.php)(/.+)\$; fastcgi_pass unix:/var/run/php5-fpm-$(whoami).sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name; fastcgi_intercept_errors off; fastcgi_buffer_size 16k; fastcgi_buffers 4 16k; } location ~ /\.ht { deny all; } } EOF
シンボリックリンクを作成してサーバーブロックをアクティブ化します:
user@vps:~# sudo ln -s /etc/nginx/sites-available/yourQ2aSite.com /etc/nginx/sites-enabled/yourQ2aSite.com
Nginx構成をテストし、nginxを再起動します:
user@vps:~# sudo nginx -t user@vps:~# sudo service nginx restart
それでおしまい。これで、Question2Answerが正常にインストールされました。 Question2Answerの詳細については、Question2AnswerのWebサイトを参照してください。
もちろん、Linux VPSホスティングサービスのいずれかを使用している場合は、これを行う必要はありません。その場合は、専門のLinux管理者にセットアップを依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
PS 。この投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。