GMO クラウドの VPS の設定
GMO クラウドの VPS に移行したときのメモ。
ユーザの追加
メールで送られてきた root のパスワードを使って SSH でアクセスする。
ssh root@<DOMAIN>
まず、更新する。
apt-get update
apt-get dist-upgrade
SSH で root でログインできないようにしたい (これは do-release-upgrade のときに聞かれて、そのときに設定した)。 ユーザーを追加して、sudo を使えるように権限を与える。
adduser <USERNAME>
adduser <USERNAME> sudo
とする。
12.04 から 16.04 にアップグレード
12.04 から 16.04 までバージョンアップする。 まず、12.04 から 14.04 にする。
do-release-upgrade
とする。openssh-server の設定で 「Disable SSH password authentication for root?」と聞かれるので 「YES」を選択する。
更新が終わったら再起動する。 SSH で新しく作ったユーザにログインして
su -
で root になり、再度 do-release-upgrade で更新する。 今回は -d が必要だった (理由は不明)。
do-release-upgrade -d
で更新する。
パッケージのインストール
よく使うソフトウェアをインストールする。
apt-get install vim-nox emacs-nox lv zsh silversearcher-ag
etckeeper
etckeeper で設定を git で管理する。
apt-get install git etckeeper
Postfix
Ubuntu 10.04 のときの postfix の設定 と同じ手順で問題なかった。
rbenv
rbenv で ruby 2.1 をインストールする と同じ方法で ruby 2.2.5 をインストールできた。
Ruby on Rails 関係
mroonga を使用しているので mariadb-server を使うことにした。 他に rails アプリケーションでよく利用するパッケージをインストールしておいた。
apt-get install mariadb-server mariadb-plugin-mroonga libsqlite3-dev libv8-dev libmysqlclient-dev nodejs-dev nodejs-legacy
Nginx
あまり機能は必要ないはずなので nginx-light をインストールした。
apt-get install nginx-light
WordPress の移行
WordPress & bbPress を Nginx で動かす でインストールした WordPress を新しいサーバに移行した。
apt-get install php-mysql php-fpm php-gd
MariaDB と Nginx で動かす。
/var/www/html に WordPress をインストールしてあるので 単純に新しいサーバにコピーする。
移行前のサーバで
mysqldump -u root -p wordpress > wordpress_database.sql
のようにしてデータベースをダンプする。 ここでは、データベース名は wordpress となっている。 wordpress_database.sql を新しいサーバにコピーする。
新しいサーバで以前と同じようにデータベースを作成する。
mysql -u root -p
として
create database wordpress;
grant all privileges on wordpress.* to "wpuser"@localhost identified by "wordpress-password";
flush privileges;
とする。
mysql -u wpuser -p wordpress < wordpress_database.sql
として新しいデータベースにデータを入れる。
PHP のバージョンが 7 になったことに注意して Nginx の設定は次のようにした。
server {
listen 80;
server_name example.com;
error_log /var/log/nginx/WORDPRESS.error.log;
access_log /var/log/nginx/WORDPRESS.access.log;
root /val/www/html;
index index.html index.htm index.php;
gzip on;
gzip_http_version 1.1;
gzip_types text/plain
text/xml
text/css
application/xml
application/xhtml+xml
application/rss+xml
application/javascript
application/x-javascript;
gzip_buffers 16 8k;
gzip_min_length 1000;
gzip_comp_level 1;
gzip_proxied off;
gzip_disable "MSIE [1-6]\." "Mozilla/4";
gzip_vary off;
gzip_static on;
client_max_body_size 50M;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
expires 1d;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
error_page 404 /error/not_found.html;
}
DNS の設定を新しいサーバに変更したら、以前と同じようにアクセスできた。