今まで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
ムームードメインで取得したドメインを管理
ムームードメインのメニューのネームサーバー設定変更よりこんな感じにする.
ブログにはサブドメイン.blogを使っているのでその設定をする必要がある. Digital OceanのDNS設定メニューより, 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で作業する.ログインしてパスワード設定する. ```bash mysql -u root set password for root@localhost=password('hogehoge'); ``` データベース作る. ```bash 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となってしまった. 例えばカテゴリごとに飛ぼうとしてもエラーになる.ダッシュボードの 「設定 -> パーマリンク設定」 より,何も変更せずに 「保存」 を押すと正常な状態になった.