AmazonEC2/S3でLAMP環境構築が済んだら、次は実際にプログラムやhtmlを使うための準備をしました。
こまごまとしたところで、チョコチョコつまづいたので、後学のためにメモ!
EBSを立ち上げ
EBSとは、AmazonEC2で利用できる外部ストレージ(記憶装置)です。EC2はインスタンスを落とすと、データーが消えてしまうため、必要なデーターはEBSに保存しておくようにします。
ファイル類はFTPでもなんでも手動でバックアップできるので、MySQLのデーターバックアップを、EBSにするようにしました。
EBSの生成・マウントは、参考書をみて実施。
mysqlの自動バックアップは、http://centossrv.com/mysql-backup.shtmlを参考に。バックアップ先を/ebsにしました。
サーバー時間設定
今回利用したCentOSのAMIは外国の方が作ったものらしく、時間帯が日本に合っていませんでした。
dateコマンドで時刻をセット
1 2 3 4 |
date --set="2010/8/21 4:13" |
こちらを参考に、自動で時刻を補正してくれるソフト「NTP」を利用してみることに。
なぜかetc/hostsファイルが無いので、自分で作った。
1 2 3 4 5 |
vi etc/hosts 127.0.0.1 localhost localhost.loopback |
独自ドメイン設定
AWS Management Console管理画面から、Elastic IPsを取得して、利用しているインスタンスに設定した。
あとは、独自ドメインのDNS設定を、上記のElastic IPへ向けて完了。私は、バリュードメインでドメインを取得しました。
バーチャルドメイン設定
上記設定だけだと、一サーバー一ドメインになってしまうため、複数のドメインを利用できるように、バーチャルドメインを設定しました。
sample.comをメインにして、新たにsecond.sample.comを利用したい場合は、
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
vi /etc/httpd/conf.d/virtualhost-sample.com.conf &<VirtualHost *:80> ServerName sample.com &</VirtualHost> vi /etc/httpd/conf.d/virtualhost-econd.sample.com.conf &<VirtualHost *:80> ServerName econd.sample.com DocumentRoot /var/www/html/second.sample.com ErrorLog logs/virtual-error_log CustomLog logs/virtual-access_log combined env=!no_log &</VirtualHost> |
で設定完了。Apacheリスタート
1 2 3 4 |
/etc/rc.d/init.d/httpd restart |
sample.comは、/var/www/html/以下に。second.sample.comは、/var/www/html/second.sample.com以下にファイルを置けば、インターネット上に公開されます。
バージョン管理システム構築(Subversion)
phpmyadminをインストールするために入れた。http://centossrv.com/subversion.shtmlを参考に。ベーシック認証の登録まで実施。
phpmyadminインストール
これがないと、私はMysqlを使えない!http://centossrv.com/phpmyadmin.shtmlを参考にインストール
rootメール設定
http://centossrv.com/centos5-init.shtmlを参考に設定したが、メールが届かない。
どうも、EC2からのメールは、spamhausから全面的にスパム認定されているみたい。
http://www.spamhaus.org/lookup.lassoにEC2のIPを入れるとクロが判明。ポリシーにより、EC2経由のメールは解除できないらしい。spamhausのデーターは、多くのプロバイダーやレンタルサーバーが利用している。困った…。
Yahoo!メール(フリー)だけは通ったので、現在は仕方がなく、Y!メールを監視用に利用している。
PHP設定
今回、初めてPHP5.3.xを利用。エラーが厳しくなっている。
・date.timezoneが設定されていないというエラー
php.iniに
1 2 3 4 |
date.timezone = Asia/Tokyo |
を追加
・number_format() expects parameter 1 to be double
(double)$a
と、number_format()内で利用している、エラーの出ている変数に(double)をつけて解消。
・phpmyadminでアップロード容量が大きすぎるエラー
memory_limit ***M > post_max_size ***M > upload_max_filesize ***M
となるように、php.iniを編集
・Deprecated: Assigning the return value of new by reference is deprecated in /var/www/html/second.sample.com
PEARのHTTP/Client.phpがどうもおかしい。file_get_contentsに入れ替え
・Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 57: parser error : EntityRef: expecting ‘;’ in /var/www/html/ …
原因はよくわからない。読み込んだhtmlファイルをパースする再に「&」が悪さをしているようだ。
1 2 3 4 |
$string = str_replace('&', '&', $string); |
を追加して解消。
コメント