今までHPとブログに使っていたロリポップのレンタルサーバをやめて,DigitalOceanの最安プランを使うことにした.VPSを借りてWEBアプリ作れるようになりたかったからである.それにともなってブログとHPのサーバを移行する作業が必要だった.

そこで新しいサーバでWordpressを使えるようにして以前のサーバから移行するまでの手順をメモしておく.

まずはDigitalOceanに登録してDropletを作成する必要がある.今回は 512MB Ram 20GB SSD Disk Singapore 1 CentOS 6.5 x64 のものを作った.1時間1円くらいのプランだから月に500円くらいになる.案内に沿ってボタンを押すだけなので簡単だ.セットアップの途中にSSHの設定項目があるので,先に以下のSSHの設定をしておくとスムーズで良い.

SSHの鍵の登録

DigitalOceanのマイページから仮想コンソールを使ってマシンにアクセスすることもできるが,反応が緩慢なのでSSH接続したほうが色々と捗る. ```bash ssh-keygen ``` で公開鍵ができるので中身をコピペしてDropletの生成時に登録しておく.生成時にしていなかった場合は,YourSetting->Securityより設定しておく.

Apache 導入

yum install -y httpd httpd-devel
chkconfig httpd on
service httpd start

PHP 導入

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
yum --enablerepo=remi,remi-php55 install php php-devel php-mysql php-mbstring php-gd
vi /etc/php.ini
vi /etc/httpd/conf.d/php.conf

MySQL 導入

yum install mysql-community-release-el6-5.noarch.rpm
yum install -y mysql-community-client mysql-community-devel mysql-community-server

Digital Oceanの最安プランではメモリが不足がちらしい.スワップファイルを作る.

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024
mkswap /swapfile
swapon /swapfile
sudo sh -c "echo '/swapfile swap swap defaults 0 0' >> /etc/fstab"
chkconfig mysqld on
service mysqld start

MySQLの設定とかする.全部Yesと答える.ただしパスワードは空欄にしておいた.

mysql_secure_installation

ムームードメインで取得したドメインを管理

ムームードメインのメニューのネームサーバー設定変更より name_server

こんな感じにする.

ブログにはサブドメイン.blogを使っているのでその設定をする必要がある. Digital OceanのDNS設定メニューより, DO_domain Aレコードにサブドメインを追加する.あとはApache側の設定が要る.

vim /etc/httpd/conf/httpd.conf

以下の部分を編集してポート指定.

NameVirtualHost *:80

あとは末尾に以下を追加してドメインごとのルートディレクトリを設定する.

<VirtualHost *:80>
    ServerName syundo.org
    DocumentRoot /var/www/html/
  <Directory /var/www/html/>
    AllowOverride All
    Options FollowSymLinks
    Order allow,deny
    Allow from all
   </Directory>
</VirtualHost>
<VirtualHost *:80>
    ServerName blog.syundo.org
    DocumentRoot /var/www/html/blog/
  <Directory /var/www/html/blog/>
    AllowOverride All
    Options FollowSymLinks
    Order allow,deny
    Allow from all
   </Directory>
</VirtualHost>

PHPmyadmin導入

Wordpressの移行作業にPHPmyadminを使っている事例がほとんどだったのでそれに習って作業した.

yum -y install --enablerepo=remi ImageMagick-last
yum -y install --enablerepo=remi-php55 phpMyAdmin
vim /etc/httpd/conf.d/phpMyAdmin.conf

を編集.内容は忘れた.

データの移行

MySQLで作業する.ログインしてパスワード設定する.

mysql -u root
set password for root@localhost=password('hogehoge');

データベース作る.

create database database_name

作業ユーザを作っておく

grant all on database_name.* to dbuser@localhost identified by 'piyopiyo';

以前のブログのデータベースの移行はPHPmyadimnを使って行う.これはググれば色んなサイトで解説されている.どれが正しいのかはいまいちわからなかった.http://websae.net/wordpress-backup-without-plugin-20140924/

worldpressに使うデータベース名,作業ユーザー,パスワードを設定する.

vim wp-config.php

Wordpressファイルの所有者の変更をしておく.こうしないとプラグインの更新とかで不具合が出る.

sudo chown -R apache:apache myblogdir

どのグループ,ユーザーに権限を与えればいいかは, /etc/httpd/conf/httpd.conf にある,

User apache
Group apache

の部分を見ればわかる.

追記:

トップページからのリンクがすべて404となってしまった. 例えばカテゴリごとに飛ぼうとしてもエラーになる.

ダッシュボードの 「設定 -> パーマリンク設定」 より,何も変更せずに 「保存」 を押すと正常な状態になった.

参考:

http://nekopunch.hatenablog.com/entry/2014/03/22/020507 http://wp.fsv.jp/guide/server-shift/ http://websae.net/wordpress-backup-without-plugin-20140924/ http://javatechnology.net/service/apache-sub-domain/