Concrete5を別サーバに移転する。
以前、CloudGarageのNginx環境にインストールしたConcrete5をXserverに移転する事になりまして。
まぁ、案の定、わたしが鈍臭く、すんなりいかなかったのでそのログです。
1.ファイルサーバのファイルをダウンロードする
これは、問題なくダウンロード!!!(あとで、ある手順を忘れて後悔するんだけども。)
2.DBをエクスポート
phpmyadminを入れて、エクスポートする。
php_max_varsが1000だから、全てエクスポート できないかもと警告を受ける。
実行する。
空っぽのデータがダウンロードされる。
php_max_varsを10000にしたく、.htaccessに記述する。
php_value max_input_vars 10000
なぜか効かない。
php.iniに直接変更をかける。
cd /etc/
vi php.ini
/max_input_vars
で、コメントアウトを無くし、「max_input_vars 10000」に変更する。
:w
systemctl restart php-fpm.service
上書きして、再起動。
なぜか効かない。
諦めて直接ダウンロードしてみる。
サイトファイルを置いているフォルダに移動して、以下のコマンドでsqlファイルを作る。
mysqldump -u [MySQL ユーザー名] -p –default-character-set=utf8 [MySQLデータベース名] > [出力ファイル名].sql
https://concrete5-japan.org/help/5-7/developer/installation/moving-a-site/
ダウンロードでけた!
3.ファイルをアップロードする・DBをインポートする
まぁ、入りますよね。
4.アクセス確認。
早速、500エラーが出てきた。
DBのホスト等名前を変え忘れてただけ。
application/config/database.php
の各データを新しくしてください。
今度は、loginファイルがないっすと言われる。
いやいやいや。なぜだよ!FTPにはあるよ!
とエラー内容をよくみると、なぜか移転前のサーバのディレクトリが書かれている。
どこにそんな要素あったっけ?DBに書いてるなんて聞いた事ない。・・・でも探してみる。やっぱり、らしいものはない。
キャッシュを疑ってみる。
いろんな移転の情報ページを見てみると、移転作業前に、キャッシュを削除されている方が多数。
そして、DBの中にも過去ディレクトリを記述するようなこともないということは・・・・。ということで、キャッシュを消したい!
でも、管理画面にアクセスできない!!!
ということで、ファイルのキャッシュの場所を探す。
/application/files/cache
の細々したディレクトリをザクっと削除。
見れたー!!!!!!!・・・でもログインができない。
「http://ドメイン/index.php/login」でアクセスできるも、ログイン情報入力すると、404エラーでファイルないってまた言われる。
よくよくみると、URLに「index.php」がつくはずなのに、リンク先にない!
これは、プリティーURL設定をオンにしているせいかと疑ってみる。
そういえば、.htaccess空に近かったことを思い出す。そう、index.phpをなくすプリティーURLにするときに.htaccessに書いてねと言われた記述がないのである。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
書き書き。
5.移転が完了した!!!!!
やった〜!!!!!できた〜!!!!!
まとめ
移転する前に、キャッシュをクリアにしてください。絶対!!!
あとはプリティーURLにしているかどうかは忘れないでください。
Good Luckです。