CMSのコピー

CMS

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/');

動作確認

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

タイトルとURLをコピーしました