CMSサーバー設置方法

作成日: 2015年01月25日
作成者: 岩下洋治

CMS用サーバーのAWSインスタンス作成とインストールを行います。

※ 以下の文章では、*type* は、develop, test, product のいずれかを指定します。

(1) ロードバランサー作成

セキュリティグループの準備がまだの場合は、セキュリティグループの設定を行っ
てください。AWS_lb_security.txt を参照してください。
セキュリティグループを準備し終わったら、chefサーバーにログインし、以下のコ
マンドを実行してください。
        ~/chef-repo/mytool/first/create-loadbalancer.sh *type*
AWSコンソールから、指定した *type* で始まる名前のロードバランサーが
作成されていることを確認します。

(2) MongoDBクラスタを作成

04_setup_mongo.txt を参照して、先にMongoDBクラスタ(レプリカセット)を作成し
てください。

(3) CMSサーバーインスタンスを作成

chefサーバーにログインし、以下のコマンドを実行します。
    >AWSにインスタンス作成。※このドキュメント最後の注意を参照のこと。
        ~/chef-repo/mytool/build-cms.sh *type* 

    >cmsサーバーのIPアドレスをテキストに保存。
        ~/chef-repo/mytool/pickup-cms-server.sh *type*

    >シェフサーバーのIPアドレスをテキストに保存.万が一chefサーバーを作成しなおしたときも実行してください。
        ~/chef-repo/mytool/pickup-chef-server.sh *type*

—- 以下は、cassandra サーバーの用意をしてから実行してください —

(4) DB初期化

a) CMS サーバーに root ユーザーでログインします。
b) 以下のコマンドを実行します。
           cd /var/www/django/
           python manage.py ca_setup
           python manage.py drop_mongo
   どちらも実行時に入力プロンプトが出ます。g を入力して return を押してください。

(5) DB初期化2

a) CMS サーバーに root ユーザーでログインします。
b) 以下のコマンドを実行します。
        cd /var/www/django
        python manage.py syncdb --noinput
        python manage.py createsuperuser --username=root

    >ログインユーザー、管理用コンテンツDB作成
        python manage.py dbsetup
        chown nginx:nginx pppcms/ppp.db
        chmod 664 pppcms/ppp.db

※ 注意点

mytool/build-*.sh を実行した際に、以下のようなエラーが出る場合があります。(xxx.xxx.xxx.xxx はIPアドレスです)
        Bootstrapping Chef...
        ERROR: Network Error: Connection refused - connect(2) for "xxx.xxx.xxx.xxx" port 22
この場合、もう一度 chef を実行する必要があります。
以下のようにしてください。
        cd ~/chef-repo
        knife solo bootstrap xxx.xxx.xxx.xxx --bootstrap-version 11.16.0
※ ただし、build-mongodb-*.sh と build-api-node.sh は、エラーが出ても
   自動で再実行するため、手動での再実行は不要です。

※ CMSサーバーインスタンスを新たに作成した場合、CMSデプロイ用スクリプトは修正が必要です。