DokuWikiを新サーバーに移転する方法
旧サーバーで行う作業
DokuWikiをバックアップ
DokuWiki
のプロジェクトルートが/home/user1/Dokuwiki/xxx
の場合
cd /home/user1/Dokuwiki tar cJf xxx.tar.xz xxx
xxx
ディレクトリを丸ごとバックアップ、tar
のJ
オプション(xz
方式)で圧縮し、xxx.tar.xz
というファイルを作成
作成したxxx.tar.xz
はffftpなどでローカルに保存しておき、あとで新サーバーにアップロードする
SSL証明書をバックアップ
fullchain.pem
とprivkey.pem
をバックアップ
nginxの.confファイルをバックアップ
/etc/nginx/conf.d
ディレクトリにある
example.com.conf
のようなファイルをバックアップ
新サーバーで行う作業(DNS設定前)
DokuWikiをリストア
事前にバックアップしておいたxxx.tar.xz
を新サーバーにアップロード
mkdir /home/user1/Dokuwiki mv xxx.tar.xz /home/user1/Dokuwiki cd /home/user1/Dokuwiki tar xJf xxx.tar.xz
Dokuwiki
ディレクトリを作成
Dokuwiki
ディレクトリにxxx.tar.xz
を移動
xxx.tar.xz
を解凍
/home/user1/Dokuwiki
にxxx
ディレクトリが生成される
/home/user1/Dokuwiki/xxx
がwiki
のドキュメントルート
ファイルの所有者・パーミッションを設定
cd /home/user1/Dokuwiki/xxx chown -R nginx:nginx . find . -type d -exec chmod 700 {} + find . -type f -exec chmod 600 {} +
ファイルの所有者をnginx
の実行ユーザーに設定
ディレクトリのパーミッションを700
ファイルのパーミッションを600
に設定
nginx
の実行ユーザーは
nginx:nginx
だったり
httpd:www
だったりする
nginx
の実行ユーザーが分からない人は下記を参照
dokuwikiディレクトリの所有者をnginxの実行ユーザーに変更
SSL証明書をリストア
旧サーバーでバックアップしたfullchain.pem
とprivkey.pem
を
新サーバーへアップロード
cd /home/user1 mkdir -p tmp/xxx mv fullchain.pem tmp/xxx mv privkey.pem tmp/xxx
/home/user1/tmp/xxx
のようなディレクトリを作成して
fullchain.pem
とprivkey.pem
を配置する
詳細は、サーバー移転時にssl証明書を移行する方法を参照
nginxの.confを設定
.confを配置
旧サーバーから持ってきたexample.conf
のようなファイルを
/etc/nginx/conf.d/
ディレクトリに配置
mv example.conf /etc/nginx/conf.d/
.confを編集
vi /etc/nginx/conf.d/example.conf
- example.com.conf抜粋
ssl_certificate /home/user1/tmp/xxx/fullchain.pem; ssl_certificate_key /home/user1/tmp/xxx/privkey.pem; (中略) fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
ssl_certificate
とssl_certificate_key
のパスを旧サーバーからコピーしたものに修正
詳細は、サーバー移転時にssl証明書を移行する方法を参照
必要に応じてfastcgi_pass
の値を修正
(旧サーバーではphp-fpm.sock
を使っていたけど
新サーバーでは127.0.0.1:9000
を使う場合など)
nginxの再起動
systemctl restart nginx
nginx
の.conf
を書き換えた後、設定を反映させるにはnginx
サービスの再起動が必要
Windowsのhostsを設定
C:\Windows\System32\drivers\etc
フォルダにある
hosts
ファイルに以下のようなものを追記
- hosts
xx.xx.xx.xx example.com
xx.xx.xx.xx
の部分は新サーバーのIPアドレス
(VirtualBoxの仮想環境でNATを使って動作試験をしている場合は127.0.0.1
)
https://example.com
の部分は
Dokuwikiがもともと稼働していた本番用のURL
hosts
を使って自分だけルーティングをすることで
本番環境に影響を与えずに動作試験ができる
新サーバーで行う作業(DNS設定後)
SSL証明書を新規発行
certbot certonly
コマンドで証明書を新規発行
詳細は、サーバー移転時にssl証明書を移行する方法を参照
nginxの.confを修正
- example.com.conf
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_certificate
とssl_certificate_key
を、certbot certonly
コマンドで発行したものに変更
詳細は、サーバー移転時にssl証明書を移行する方法を参照
定期バックアップの設定
詳細は、DokuWikiをバックアップする(フルバックアップ)を参照