LoginSignup
2
4

More than 5 years have passed since last update.

AWSでAmazon Linuxの立ち上げから初期設定まで ssh鍵認証 + php7.1 + nginx (fast CGI) remiいらず

Last updated at Posted at 2017-07-31

AWSマネジメントコンソールからインスタンスを立ち上げる

  • Amazon Linux AMI 2017.03.1 (HVM), SSD Volume Type」
  • t2.micro
  • 汎用SSD(GP2) 8G

ほとんどデフォルト状態で立ち上げる。
SSHのポートを22番から2222番に変更するため、セキュリティグループに2222を追加しておく。
pemのパーミッションは600に変更。
ec2-userでターミナルからSSH接続する。

yum更新

接続したらとりあえずyum更新
yum update

ユーザー作成

ec2-userを変えたいのでユーザーhogeを新しく作る
sudo useradd -p hoge

ユーザー権限

hogeにsudo権限つける
sudo visudo

root    ALL=(ALL)       ALL
hoge    ALL=(ALL)       ALL # 追加

hogeのSSH接続設定

hogeユーザーになって、SSH鍵を作る

$ pwd
/home/hoge

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hoge/.ssh/id_rsa):#そのままEnter
Created directory '/home/service/.ssh'.
Enter passphrase (empty for no passphrase):#パスワード入力
Enter same passphrase again:#パスワード再入力
Your identification has been saved in /home/hoge/.ssh/id_rsa.#秘密鍵
Your public key has been saved in /home/hoge/.ssh/id_rsa.pub.#公開鍵

公開鍵の名前変更とパーミッション変更

cat .ssh/id_rsa.pub > .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
rm -f .ssh/id_rsa.pub

SSHのポートを22番から2222に変更

sudo vim /etc/ssh/sshd_config
Port 22
Port 2222

変更内容を再読み込み
sudo /etc/rc.d/init.d/sshd reload

リモートから秘密鍵を利用して接続を確認。

PHP7系をインストール

sudo yum list available | grep php7
おー7系がある。
前はremiでごにょごにょやらないといけなかったのにさすがamazonさん。
新しいもの好きなのでとりあえず7.1を入れちゃう。

nginxを使うのでfpmも入れておく
sudo yum -y install php71 php71-mbstring php71-bcmath php71-common php71-devel php71-json php71-mysqlnd php71-fpm php71-gd

$ php -v
PHP 7.1.7 (cli) (built: Jul 17 2017 06:11:12) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

php-fpmの設定

sudo chkconfig php-fpm on
sudo vim /etc/php-fpm.d/www.conf
apacheをnginxに変更。
デフォルトでfast CGIを使うようになってる・・・?!
のでlistenはいじらずそのまま。

user = apache
group = apache
user = nginx
group = nginx

php-fpmの起動

$ sudo /etc/init.d/php-fpm-7.1 start
Starting php-fpm-7.1:                                      [  OK  ]

nginxをインストール

sudo yum install nginx

nginxの設定

初期の設定をごにょごにょする

/etc/nginx/nginx.conf
server_tokens off; #追加

include /etc/nginx/conf.d/*.conf;

# バーチャルホストがメインなのでコメントアウト
# server {
#   ...
# }

バーチャルホストの設定

/etc/nginx/conf.d/virtual.conf
server {
    listen       80;
    server_name  hoge.example.com;
    root /home/hoge;

    index index.php index.html;
    charset utf-8;

    location / {
      try_files $uri $uri/ /index.php?$query_string;
    }

        # php-fpm用
    location ~ \.php$ {
      fastcgi_split_path_info ^(.+\.php)(/.+)$;
      fastcgi_pass unix:/var/run/php-fpm/www.sock;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      fastcgi_param PATH_INFO $fastcgi_path_info;
      include fastcgi_params;
    }
}

nginxの起動

[service@ip-172-31-1-172 ~]$ sudo /etc/init.d/nginx start
Starting nginx:                                            [  OK  ]

ブラウザからページを確認

バーチャルホストで設定したURLをブラウザで確認。

MySQL5.7のインストール

別記事で書きました。
http://qiita.com/namixc/items/b74778ff947e8e7054e7

2
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
2
4