こんにちわ。昨日飲み過ぎたonagataniです。こんにちわ。
さて、今日は12月23日ということでMT AdventCalenderの23日目です。
この記事は情報が古くなっています。githubで最新のドキュメントを公開していますので以下のリンク先をご覧下さい。 https://github.com/izanami-team/IZANAMI/blob/master/README.ja.md昨年に【コマンド一発】AnsibleでPSGI-MTサーバをAWSに構築する こんな記事を書いた直後くらいにIZANAMIというプロジェクトを開始しまーす。といった割に何も進んでなくて今年のAdventCalenderに合わせて無理やりコミットしました。 そもそもIZANAMIとはなんぞやってことなんですが、MTのローカル環境構築〜本番サーバの管理までAmazonLinuxもしくはCentOSなら対応できますよ的なツールを目指しています。 ですが、すいませんテストが間に合ってません。なので途中経過の報告エントリーになります。 https://github.com/izanami-team/IZANAMI
前回のAnsibleからの差分は以下
- 実行環境はAnsible2.0以上
- バックアップなどは組み込みから外した
- ApacheとNginxから選択できるようにした
- Apacheは2.4にアップデート
- MySQLは5.7にアップデート
- PHPは7にアップデート
- 対象OSにCentOS6と7を追加
- Vagrantへの対応
使用方法基本的には前回の記事を参考にすると良いですが、かんたんに説明します ※以下の設定はvagrantでは必要ありません
- hostsファイルにプロビジョニング先のサーバホスト名を記載する
- host_vars/192.168.33.99.ymlをコピーし、ファイル名をプロビジョニング先サーバホスト名にする
- コマンドを実行する
基本設定host_vars/サーバ名.ymlファイル内の設定値で行います。
server_hostname: "movabletype.local" #サーバのホスト名になります
root_email: "youremail@example.com" #logwatchなどのメールが送信されます
letsencrypt: False #Let's Encrtyptを利用する場合はTrue
denyhosts: True # SSHのブルートフォースアタック対策を入れる場合はTrue
php: True #Apacheでダイナミックパブリッシングを利用する場合はTrue
nginx: False #Nginxを利用する場合はTrue
apache: True #apacheを利用する場合はTrue、NginxとApacheを同時に利用する事はできません
mt:
file: MT-6.3.2.zip #MTのzipファイルをroles/movabletype/files/以下に設置してください
ver: MT-6.3.2
psgi: True # CGIでの実行も可能ですがPSGIをおすすめします
config: # mt-configで設定変更する場合はいかに列挙してください
- {name: 'AdminScript', value: 'mt.cgi'}
plugins: #プラグインを利用する場合は列挙してください
- PageBute
- PSGIRestart
db:
name: movabletype
user: movabletype
passwd: '@Mt6password'
server: localhost
basic: #MTへBasic認証をかける場合はユーザ名とパスワードを指定してください。
user: username
passwd: password
vhosts: # Virtualhostを利用する分だけ列挙してください
- name: movabletype.local
letsencrypt: False #Trueにすると自動でSSL証明書を取得&設定します。vhost.nameのドメイン名がAレコードで引けている事
ssl_only: False # 80番ポートへのアクセスをすべて443ポートに転送します
email: youremail@example.com # letsencryptへの登録用Emailアドレス
wheel_users: #sudo可能なユーザを登録します
- { name: test, password: "test"}
ssh_users: #sshユーザを登録します
- { name: test, password: "test"}
sftp_users: #SFTP専用ユーザを登録します
- { name: test, password: "test"}
まとめいかがでしたでしょうか。もう少しで完成しますのでできた際には再度エントリーを更新したいと思いますが、今回のアップデートでvagrantとcentosへの対応を進めたのでAWS以外での開発・本番環境の構築にも使えるようになると思います。台数が増えてもhostsファイルへの追記とhost_vars/ファイルでの設定さえ行えばすぐにサーバを公開できて楽ですよ。
コメント