Ubuntu 14.04LTSでWordPressを使うまでのメモ

友人の@hazi のブログである hazi.log

ubuntuサーバーインストールして、WordPressを動かすまでのメモ http://hazi.jp/2011-04/1171/

という記事があり、一応私が教えた内容が載っているんだけど、かなり古くなってしまったため、改めて現時点での最新版であるUbuntu 14.04 LTSベースで記事を書き直す。

また、時代的にはLAMPではなくLEMP(Linux,nginx(発音がengine xなのでE),MySQL,PHP)なので、その点も変更している。

Ubuntu14.04 LTSをインストールした直後の想定

・NTPサーバーの設定

これをしておかないと後々面倒になる

sudo apt-get install ntp

ntpの設定をします

sudo vi /etc/ntp.conf

serverの項目に下記のものを入れておきましょう

server ntp.nict.jp

日本の標準時を作っているNICT(情報通信研究機構)のNTPサーバーなので正確かと。sakuraのVPSを使ってるなら ntp1.sakura.ad.jp が経路的に近いので良いかと。

・SSH周りの設定

ssh で、rootログインを無効にし、google Authenticatorの2段階認証を導入する。(注:2段階認証を設定する場合は、必ずNTPサーバー設定後にする)

sudo apt-get install libpam-google-authenticator
sudo vi /etc/pam.d/sshd

@include common-authとなっている下の行辺りに以下を追記

auth required pam_google_authenticator.so
sudo vi /etc/ssh/sshd_config
Port 10022 # ポート22から任意のポートへ
PermitRootLogin no # rootでのログインをオフに
PasswordAuthentication no #パスワードでのログインをオフ
ChallengeResponseAuthentication yes #google authenticatorを使う為

ここまでsshd_configの設定をしたら、今度はgoogleのキーを作成して2段階認証できるようにします

google-authenticator

画面の指示に従い、スマホにキーを登録できればOK、万が一の緊急キーも控えておくように。 ここまで設定したら一度マシンを再起動しましょう。

sudo shutdown -r now

・NGINXを導入

ubuntuのリポジトリにあるnginxはバージョンが古いため、最新のものを公式から拾うようapt-getにリポジトリ追加をする。

sudo vi /etc/apt/sources.list.d/nginx.list

ここで、開発中の最新版と安定版の2つのリポジトリが存在するため、使用用途や好みでどちらかを設定する。(私は最新版を利用) Stable version(安定板)

deb http://nginx.org/packages/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/ubuntu/ trusty nginx

Mainline version(最新版)

deb http://nginx.org/packages/mainline/ubuntu/ trusty nginx
deb-src http://nginx.org/packages/mainline/ubuntu/ trusty nginx

このままインストールをしようとすると、depパッケージのGPGキーエラーが出てインストールできない為、GPGキーをインポートしておく

wget -O - http://nginx.org/keys/nginx_signing.key | sudo apt-key add -

aptパッケージ一覧を更新し、nginxをインストール

sudo apt-get update
sudo apt-get install nginx

nginxの設定をする前にPHPも入れておきましょう。

sudo apt-get install php5 php5-cgi php5-cli php5-mysql php5-gd php-apc php5-fpm php-pear

まずはnginxでPHPを動かす為のphp-fpmの設定から

sudo vi /etc/php5/fpm/php-fpm.conf

下記の部分を書き換える

events.mechanism = epoll #コメントアウトする

同じくphp-fpmの設定

sudo vi /etc/php5/fpm/pool.d/www.conf

下記の部分を書き換える

user = nginx #ユーザーをnginxへ
group = nginx #グループもnginxへ
listen = /run/php/php5-fpm.sock
listen.owner = nginx #ソケットユーザーをnginxへ
listen.group = nginx #ソケットグループもnginxへ
listen.mode = 0660 #ソケットのアクセス制限をかける

現状ソケット利用が一番安定してるかと。 設定が終わったら、php-fpmを再起動

sudo /etc/init.d/php5-fpm restart

あとはnginxの設定をする(webのディレクトリは/var/www配下に任意のディレクトリを置く) web用のホームディレクトリを作成

sudo mkdir /var/www/ #/var/wwwを作成
sudo mkdir /var/www/任意のディレクトリ #
sudo mkdir /var/www/任意のディレクトリ/log
sudo mkdir /var/www/任意のディレクトリ/public_html
sudo chown -R nginx:nginx /var/www

改めて、web設定

sudo vi /etc/nginx/conf.d/default.conf

あくまでも参考例です

server {
   listen 80;
   server_name 自分のドメイン;
   access_log /var/www/任意のディレクトリ/log/access.log;
   error_log /var/www/任意のディレクトリ/log/error.log;

   root /var/www/任意のディレクトリ/public_html;

   index index.html index.htm index.php;

   if (!-e $request_filename) {
      rewrite ^ /index.php last; #Rewriteでパーマリンク設定可能にしておく
   }

   location ~ .php$ {
      fastcgi_pass unix:/run/php/php5-fpm.sock;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME /var/www/任意のディレクトリ/public_html$fastcgi_script_name;
      include fastcgi_params;
   }
   location ~ /.ht {
      deny all; #.htから始まるファイルのアクセス禁止
   }
   location = /robots.txt { access_log off; log_not_found off; } #robots.txtへの404エラーを記録しない
   location = /favicon.ico { access_log off; log_not_found off; } #favicon.icoへの404エラーを記録しない
}

ここまで設定できたら、空のログファイルを用意し、nginxを再起動する。

sudo touch /var/www/任意のディレクトリ/log/access.log
sudo touch /var/www/任意のディレクトリ/log/error.log

最後にnginxを再起動して完了

sudo /etc/init.d/nginx restart

あとは、レンタルサーバー同様にWordpressをインストール

http://wpdocs.osdn.jp/WordPress_のインストール

enjoy!

0件のコメント

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください