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などでローカルに保存しておき、あとで新サーバーにアップロードする
fullchain.pemとprivkey.pemをバックアップ
/etc/nginx/conf.dディレクトリにある
example.com.confのようなファイルをバックアップ
事前にバックアップしておいた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の実行ユーザーに変更
旧サーバーでバックアップした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証明書を移行する方法を参照
旧サーバーから持ってきたexample.confのようなファイルを
/etc/nginx/conf.d/ディレクトリに配置
mv example.conf /etc/nginx/conf.d/
vi /etc/nginx/conf.d/example.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を使う場合など)
systemctl restart nginx
nginxの.confを書き換えた後、設定を反映させるにはnginxサービスの再起動が必要
C:\Windows\System32\drivers\etcフォルダにある
hostsファイルに以下のようなものを追記
xx.xx.xx.xx example.com
xx.xx.xx.xxの部分は新サーバーのIPアドレス
(VirtualBoxの仮想環境でNATを使って動作試験をしている場合は127.0.0.1)
https://example.comの部分は
Dokuwikiがもともと稼働していた本番用のURL
hostsを使って自分だけルーティングをすることで
本番環境に影響を与えずに動作試験ができる
certbot certonlyコマンドで証明書を新規発行
詳細は、サーバー移転時にssl証明書を移行する方法を参照
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をバックアップする(フルバックアップ)を参照