baserCMSを別のサイトにコピーする
WordPressと違って、baserCMSはCakePHP上で動作しているCMSですので、少し検討を続けていました。
基本的には、WordPress同様、データーベースのコピーと、インストールファイルをコピーすることで、サイトのコピーが出来る事が分かりました
しかし、条件が色々と有りました
コピーする前提条件
LAMP環境、特にMySQLのバージョンが同じで有ること。
具体的には、MySQL8.0から、MySQL5.7にSQLデーターをインポートするとエラーが出てインポートに失敗します
コピーする作業内容
1)コピー元からMySQLのデーターベースをエクスポートし、そのSQLファイルをコピー先にインポートします
2)コピー元のbasercmsのフォルダをzipファイルに圧縮します
3)zipファイルをコピー先にアップロードし、ドキュメントルートにコピーします
4)コピーしたzipファイルは解凍後、オーナーをApache(具体的にはdaemon)に変更します
5)データーベース接続ユーザーの変更
6)URLをコピー先に合わせる
なお、basercmsはデーターベースにはURL情報は入っていないので、URL置換作業は不要です!
具体内容は次の通りです
コピー元での作業
SQLファイルのエクスポート
# cd /home/user_name/
# mysqldump -h localhost -u root -p --add-drop-table basercms > basercms.sql
Enter password: <=== パスワードを入力しEnterを押します
# ll
合計 1504
-rw-r--r--. 1 root root 1532285 4月 26 20:45 basercms.sql
#
インストールフォルダの圧縮
# cd /usr/local/apache2/htdocs/
# zip -r basercms.zip basercms
# mv basercms.zip /home/user_name/
# cd /home/user_name/
# ll
-rw-r--r--. 1 root root 41034846 7月 12 14:24 basercms.zip
作業しているPCでの作業
WinSCRを起動し、コピー元のサーバーに接続します。
接続後、コピー元から、basercms.sqlとbasercms.zipファイルを作業PCにダウンロードします。
これらの2つのファイルを、コピー先のログインユーザーのホームディレクトリにアップロードします。
コピー先での作業です
データーベースを作成し、SQLファイルをインポートします
# cd /home/user_name/
# mysql -u root -p
Enter password: <===パスワードを入力しEnterを押します
mysql > create database if not exists basercms;
Query OK, 0 rows affected (0.00 sec)
mysql > quit;
Bye
# mysql -u root -p basercms < basercms.sql
Enter password: <=== パスワードを入力しEnterを押します
#
baseercmsのインストールファイルをドキュメントルートに展開します
# mv basercms.zip /usr/local/apache2/htdocs/
# cd /usr/local/apache2/htdocs/
# unzip basercms.zip
# chown -R daemon:daemon basercms
# cd ./basercms/app/Config
# vi database.php
11・12行目、23・24行目をコピー先に合わせる
'login' => 'root',
'password' => 'password',
# vi install.php
7行目
Configure::write('BcEnv.siteUrl', 'https://url_name/basercms/');
動作確認
コピー先のサイトをブラウザで表示させ、コピー元と同じサイトが表示されるか確認します。
正常にコピー元と同じ内容が表示されればコピー作業は完了です!
若し、表示されない場合は、上記の説明内容通りに、出来ているか確認が必要です。