EC2の手引き
EC2の申し込みが終わったら、インスタンスを立ち上げましょう。
これがなかなか大変だったので、こちらに記述しておきます。
1.操作用のクライアントツールを決める
Eclipseのプラグインや、Firefox用のアドオンなどありますが、今回はAWSが提供しているAWS Management Consoleを利用しました。
2.ログインして、Instancesでインスタンスを選びます。32bit版だと強制的に契約がSmallなどになります。64bit版だと、強制的にえと、上のヤツになります。
初回にkey pairを作るので、プライベートキーをちゃんと取っておきましょう。
3.デフォルトのセキュリティーグループ設定では、SSHが無効なので、セキュリティーグループを作って割り当てます。起動後でも変更可能です。
4.起動したら、インスタンス一覧の該当のサーバを右クリックして、connectを選びます。
5.Puttyで設定するのですが、2で作ったキーはそのままでは使えないので、PuttyGenでPutty用に作りなおします。パスフレーズを設定して、忘れないようにしてください。
6.接続したら、パスフレーズを入れてログイン完了。
※このとき、Access denaideなどが出る場合は、多分OSイメージファイル(AMI)でrootのアクセスを禁止した状態で作れらた物だと思います。使えるように剃る方法がわからないので、別なAMIを選んでください。
7.まずは、rootのパスワードを変更します。
もし
#passwd root Changing password for user root. passwd: Authentication token manipulation error
が出たら、
#pwconv
してからもう一度やってみてください。
パスワードが/etc/shadowと/etc/passwdとで整合性が取れなくなるとでるようです。
8.ログインなどの制限
/etc/ssh/sshd_config
を以下のように設定します。パスワードを解析されたら、プライベートキーがなくてもログインされてしまうので、それらを禁止しましょう。
# SSH2のみ許可 #Protocol 2,1 Protocol 2 # ROOTログイン拒否 #PermitRootLogin yes PermitRootLogin no # 匿名ユーザ拒否 #PermitEmptyPasswords yes PermitEmptyPasswords no # パスワードログイン拒否 #PasswordAuthentication yes PasswordAuthentication no
最後に反映します
/etc/rc.d/init.d/sshd restrt
固定IPからの接続のみなら、AWS Management Consoleでセキュリティーグループの設定でsource IPを設定しておきましょう。
参考
http://blog.goo.ne.jp/hirohito_japan/e/6917911cd09b3788054d3ee98d7c949b
9.ユーザの作成
useradd ユーザ名
その後、パスワードを変えておきましょう。
10.Apacheのダウンロード
# cd /usr/local/src # wget http://ftp.kddilabs.jp/infosystems/apache/httpd/httpd-2.2.14.tar.gz
11.Apacheのインストール
# tar xzf httpd-2.2.14.tar.gz # cd httpd-2.2.14 # ./configure --prefix=/usr/local/**** --enable-proxy=yes --enable-proxy-ajp=yes --enable-proxy-balancer=yes --enable-shared=yes --enable-rewrite=yes --enable-so=yes --enable-ssl=yes --enable-dav=yes # make # make install
※今回、GCC、make、opensslもなかったので、以下をインストールしました。
# yum install gcc # yum install make # yum install openssl-devel
http://centos.i-recording.net/apache_install.html
12.時間を日本時間にする
よく見たら、時間が米国のものに!
そらそうや。
で、ntp入れて合わせようとしたが、時間が変わらない。
調べてみたら、EC2の場合ntpであわせても反映されないそう。ってか、AWS側でそれぞれあわせてくれるそう。
日本時間にするには、インスタンスのOSのローカル時間を日本設定に変えるだけ。
サーバーのローカルタイムの設定ですが、設定は /etc/localtime ファイルで決まるので、/usr/share/zoneinfo/ 内の任意のファイルを /etc/localtime としてコピーしてやるか、リンクを作ればOK。OSの再起動は必要なく、ローカルタイムの表示が変わります。
13.SFTPでの接続確認
SSHを入れているので、デフォルトでSFTPが立ち上げっています。
切りたい場合は、/etc/ssh/sshd_configファイルの以下をコメントアウト
Subsystem sftp /usr/libexec/openssh/sftp-server
反映も忘れないように
/etc/rc.d/init.d/sshd restrt
次に、それぞれのユーザがアクセス出来るようにします。
# cp -Rf /root/.ssh /home/ユーザ # chown -Rf ユーザ .ssh
これで公開キーがユーザに配布されました。
Filezillaを利用する場合、パスフレーズに対応していないので、PuttyGenでパスフレーズ無しで鍵をつくって読み込ませる必要があります。
14.Jdkのダウンロード、インストール
wgetで取れないので、ローカルでとってサーバにアップします。
http://java.sun.com/javase/ja/6/download.html
インストールは
# ./jdk-1.6.18.bin # mv jdk-1.6.18 /usr/local/java/
15.Tomcatのダウンロード、インストール
# wget http://www.apache.org/dist/tomcat/tomcat-6/v6.0.24/bin/apache-tomcat-6.0.24.tar.gz # tar zxvf apache-tomcat-6.0.24.tar.gz # mv apache-tomcat-6.0.24 /usr/local/****
16.Apache、Tomcatの連携
Apache2では、これまでの1系とちがって、mod_proxyによる連携が標準でサポートされています。
それらはビルトインモジュールなので、以下で確認しましょう。
# /usr/local/apache***/bin/httpd -l Compiled in modules: core.c mod_authn_file.c mod_authn_default.c mod_authz_host.c mod_authz_groupfile.c mod_authz_user.c mod_authz_default.c mod_auth_basic.c mod_include.c mod_filter.c mod_log_config.c mod_env.c mod_setenvif.c mod_proxy.c mod_proxy_connect.c mod_proxy_ftp.c mod_proxy_http.c mod_proxy_ajp.c mod_proxy_balancer.c prefork.c http_core.c mod_mime.c
ここで、mod_proxyが入っていれば使える状態になっています。
httpd.confで、以下の設定を追加します。
<Location /nanika/> ProxyPass ajp://127.0.0.1:8009/nanika/ </Location>
http://ドメイン/nanika/
など、実際のURLにアクセスしてみましょう!
とりあえず、これで動作しました。