AWSの設定(Ubuntu Server12.04を使って)

金やるを公開するにあたってAWSのEC2を使った。

  • EC2 Management Console で 左側にある「Security Group」を編集。

f:id:kimihito:20120519080001p:image

下の方に表示された「inbound」のタブを選択して、「Create a new rule:」で「HTTP」を選択後、設定を保存する。

  • Amazon EC2 Console Dashboard」から、「Launch Instance」を押す。

f:id:kimihito:20120519080001p:image

  • 「Name」に任意の名前を入力してDownloadを押す。※「Name Your Instance」ではない

f:id:kimihito:20120519080002p:image

  • Downloadした「任意の名前.pem」を ~/.ssh/に設置。
  • ~/.ssh/config(なければ作成)に以下の設定を記述する
Host ec2
  Hostname (InstancesのPublic DNSをコピペ)
  identityfile ~/.ssh/kimihitoweb.pem
  User ubuntu


こうすることで、EC2へのログインは「SSH ec2」で簡単にログインできる。

  • 「Launch」のボタンを押したらEC2のinstanceが立ち上がり、起動する。

UbuntuにPythonの開発環境を構築する - 元南国大学生がご当地プログラマを目指す日記
ここを参考にやった。

  • ターミナルでローカルのコードとかを送信する
scp [今あるフォルダ] ec2:[送りたい場所]

で送れる。

ユーザーを作るときにいろいろハマった。ググってググって。
【MySQL】ユーザー関連初期設定(作成・削除とかとか)【コマンドプロンプト】: もしのまメモ
ここを参考にしたらできた。
何度もユーザーを削除しました…

tzconfig

と押すと怒られて、「ここを使えよ(僕のときはdpkg-reconfigure tzdata)」って言われるので、それをsudoで実行する(sudo dpkg-reconfigure tzdata)とタイムゾーン設定の画面が出てくる。

  • 公開の設定

/etc/apache2/sites-availables/[サービスの名前]を作って以下を記述
デフォルトをそのまま使用しないのは、デフォルトに置くと、サービスごとのロードができず、
サービスごとの設定を反映させることができない。

/etc/apache2/sites-available/にサービスのファイルを作って、VirtualHostを設定
(VirtualHost:本来IPアドレスには1つにしかアクセスできないが、VirtualHostを設定することでApache側が仮想的に複数のHostを操作している。)

<VirtualHost *:80>
        ServerName 任意のドメイン名
        DocumentRoot 任意のドメインが来た時に表示したいフォルダを指定する。(/var/www/hogehogeとか)
</VirtualHost>

/etc/apache2/sites-enable/にシンボリックリンク
(sites-enableにあるものがapacheで有効になってるってこと。sites-availableだけではいけない)

cd /etc/apache2/sites-enable/

sudo ln -s ../sites-available/[sites-availableをいじったときに作ったファイル] [任意の名前]

sudo /etc/init.d/apache2 restart

とやると表示される(かも)。