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/');
動作確認
コピー先のサイトをブラウザで表示させ、コピー元と同じサイトが表示されるか確認します。
正常にコピー元と同じ内容が表示されればコピー作業は完了です!
若し、表示されない場合は、上記の説明内容通りに、出来ているか確認が必要です。