LoginSignup
3
4

More than 5 years have passed since last update.

EC2でなんとなく環境を整えるよ、という覚え書き

Last updated at Posted at 2017-02-22

以前書いてあったメモが役に立ったので、加筆したりしつつ公開してみる。
あくまで確認用のWebサーバーが立てられるぐらいまでの手順です。

主目的は自分用覚え書きですが、気になる点があればご指摘ください。
あまり環境関係ないかもですが、ローカルマシンはMac OS Xです。

キーペアの作成と設定

SSHのログインに必要な秘密鍵の作成。
既存のものを流用するならこの手順は不要。

EC2 Management Consoleの左カラムから[キーペア]を選択
右側画面上部[キーペアの作成]ボタンをクリック。
任意の名前を入力して作成ボタン。

.pemファイルが落ちてくるので、これをローカルの~/.sshへコピー。
忘れずにパーミッションを変更しておこう。
$ chmod 600 (filename).pem
キーペアなくすと後から設定できないので気を付けよう

インスタンス作成

好みの設定で作成。最後に先程作成したキーを指定することを忘れずに。
必要に応じてElastic IP設定するとか諸々やっておく。

ローカルの~/.ssh/configにサーバ名を追加

やっておくとssh接続が楽になるので。
こんな感じで入力しておく。
この時点ではユーザー名はデフォルトの「ec2-user」にしておく!

$ vi config
host ec2
        HostName xxx.xxx.xxx.xxx
        User ec2-user
        IdentityFile ~/.ssh/(filename).pem

SSHで接続+初期設定

$ ssh ec2でサクッと繋がるはず。

ひとまずパッケージ諸々のアップデートを。
$ sudo yum update

ec2-userはデフォルト名なので、
存在自体セキュリティ的によろしくない。新しいユーザを追加する。

$ sudo useradd -m (hoge) -G wheel
#パスワードを設定
$ sudo passwd (hoge)
#sudoの設定
$ sudo visudo
#*%wheel  ALL=(ALL)   NOPASSWD: ALL* のコメントを外す。

秘密鍵ログインのためにサーバ側の公開鍵をコピーしておく

#いま作ったユーザーへ変更
$ su (hoge)
$ cd

$mkdir .ssh
#.sshディレクトリのパーミッションを変更しておかないとログインできないので
$ chmod 700 .ssh
$ cd .ssh

#ec2-userの秘密鍵を持ってくる
$ sudo cp /home/ec2-user/.ssh/authorized_keys ./
#パーミッション、所有者を変更しておかないとログインできないので変更
$ chown (hoge) authorized_keys
$ chgrp wheel authorized_keys
$ chmod 600 authorized_keys

ここまでやったらsshでログインできることを確認。
先ほどのconfigのユーザ名を変更しておく。

正常にログインできることを確認したら$ sudo userdel ec2-user`しておく。

もろもろの環境を整えよう

swap領域の作成

$ sudo dd if=/dev/zero of=/mnt/swapfile bs=1M count=1280
$ sudo chmod 600 /mnt/swapfile
$ sudo mkswap /mnt/swapfile
$ sudo swapon /mnt/swapfile
$ free
#下記のような表示がでればOK
             total       used       free     shared    buffers     cached
Mem:       1019280     945880      73400         60      20512     839364
-/+ buffers/cache:      86004     933276
Swap:            0          0          0

#fstabに追記
$ sudo vi /etc/fstab
/mnt/swapfile none      swap    sw              0   0

i18nあたり

$ sudo vi /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"

timezone

$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime
$ sudo vi /etc/sysconfig/clock
ZONE="Asia/Tokyo"
UTC=false
#問題ないか確認
$ date
2017年  2月 22日 水曜日 23:11:01 JST

パッケージいれる

まずアップデート
$ sudo yum update
gitあたりは必要かな?
$ sudo yum -y install git

思い出し次第追記。

Webサーバ動かしたいよね。

nginx + PHPをインストール。

$ sudo yum install php70
$ sudo yum install php70-mysqlnd php70-mbstring php70-mcrypt php70-pdo php70-xml php70-fpm
$ sudo yum install nginx

各種コンフィグの設定

$ sudo vi /etc/nginx/nginx.conf
index  ndex.php  index.html index.htm;
root         /var/www/html;
        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

$ sudo vi /etc/php-fpm.d/www.conf
user = nginx
group = nginx

#nginx,php起動
$ sudo service nginx start
$ sudo service php-fpm start
#インスタンス起動時、自動で起動するようにする
$ sudo chkconfig nginx on
$ sudo chkconfig php-fpm on

ドキュメントルートのパーミッション変えておこう
bash
$ sudo chmod 777 /var/www/html/

動作確認

$ vi /var/www/html/index.php
<?php phpinfo();

ずらっと出てくればOK!
いろいろまる見えなので確認したら消しておこう。

ひとまずこんなところまで。
必要に応じてnpm入れたりする編に続く、かもしれない。

3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4