Vagrant、最終的にはEC2にAnsibleでWordPressを構築を試みる2

・botoが使えないってエラーになる。

 →次のURLで解決 https://groups.google.com/forum/#!topic/ansible-project/ftlmfIC1DHk

つまり、ansibleがなぜか現在動いているバージョンのライブラリを参照出来ないっぽいのでこれまたなぜか

  hostsにどこのpythonを使っているのか書いてあげる必要があったということ。なぜansible.cfgではないのか

・契約アカウント?で試してたらCredentialエラーが出てて、試しにIAMアカウント作成してそのIAMアカウントを

 使ったら成功した。なんで?

・ApacheのVHOSTのRootディレクトリが700だったので403エラーで表示されなかった。755に変更して解決。

・VirtualHostの設定を行う場合、どこかに「NameVirtualHost」の記述が必要。

 というより、NameVirtualHostの記述内容とその後のVirtualHostディレクティブの内容に整合性がないといけない。

 なので「NameVirtuakHost *:80」の記述があれば、その後<virtualhost *:80>VirtualHostディレクティブが

 ないといけない。

もしも<virtualhost {{hostname}}:80>みたいな記述をしていた場合、NameVirtualHost {{hostname}}:80の宣言もないといけない。

整合性が撮れてないと、宣言が足りないとかそんなVirtualHostディレクティブはないとか警告が出る。

・Ubuntuに入ってるApache2のVirtualHostの有効化無効化

 sites-availableディレクトリにVirtualHost設定書く

 a2ensite {{vhost_filename}} で有効化、a2dissite {{vhost_filename}} で無効化

・Hostの指定が足りない!?

Could not reliably determine the server’s fully qualified domain name, using for ServerName

こんなエラーが出る。hostsファイルに127.0.1.1 にhogehoge.localを追記してあげたら直った

 つまり、hostsファイルにhostnameが127.0.1.1で定義されている場合、Apacheが名前解決のエラー出すので、

 そこに{{hostname}}.localを追記する処理追加

・Ansible用MySQLの設定追加

Ansibleでmysql_userモジュールを使ってユーザーを追加する際に、MySQLが外部サーバーの場合は(Webサーバーから接続用ユーザーの作成の場合は)

host=%,host=localhostの記述が必要、同時に作れるのか試してない。自分は別のtaskとしてそれぞれ実行(同じユーザー名で別hostのユーザーを2回作成)

リモートユーザーにあたる側(今回はWebサーバー側)にはmysql_clientのインストールが必要

・netstat -ant で現在使ってるポートとか観れる

 (適当な解釈、後で意味をちゃんと調べる…かも)

・MySQLが外部からつながらぬ

webとdbをVagrantで分けて作ったら、mysqlコマンドではwebサーバーから接続できるのに、PHPからだと駄目っぽい。

my.cnfの[mysqld]のところに「skip-name-resolve」を追加した。

これは、名前の解決をしないという設定。Vagrantでプライベートネットワークでやっているので、IP直接指定で行っているのでこれでいいや。

・ApacheのRewriteの設定漏れ

UbuntuのApache2.2でRewriteをa2enmodで使えるようにしたはずなのに、動かないな〜って思ってたら、confの設定漏れてた。

 AllowOverride をAllにしなかった。。。

ということで?今のところ、Vagrantで作成したVMにMySQLやApacheの設定、それからWordPressの設置は出来るように

なりました。

それとEC2インスタンスを作成することもできた。合わせ技は…別々に動かせばよくね?という事で今回のテーマはここまで。