LoginSignup
11
12

More than 5 years have passed since last update.

EC2をはじめよう2 (CentOS-LAMP)

Last updated at Posted at 2015-07-07

参照/書籍

http://qiita.com/nakau1/items/a24571b374ad266c3f5e
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/install-LAMP.html
・Amazon Web Services基礎からのネットワーク&サーバー構築
・AWSのEC2に基本的なLAMP環境を作ってみる(2)

インスタンスを立ち上げる

$ mv Desktop/hoge.pem .
$ chmod 600 hoge.pem

※「chmod 600 ファイル名」
・所有者は読み書き可能
・所有者以外はファイルに対する操作は一切不可.

Elastic IP

・関連付ける

ssh接続

$ ssh -i hoge.pem ec2-user@IPアドレス

インストールする

$ sudo yum update -y

$ sudo yum install -y httpd24 php56 mysql55-server php56-mysqlnd

$ sudo service httpd start

$ sudo chkconfig httpd on

※httpd は実行レベル 2、3、4、および 5 で on となる。

バージョン確認

$ httpd -v
$ php -v
$ mysql --version

ec2-userがこのディレクトリで複数のファイルを操作できるようにする

「Amazon Linux Apache」のドキュメントルートは、/var/www/html
デフォルトは、rootによって所有される

ディレクトリの所有権と許可を変更する必要がある。

  • www グループをインスタンスに追加し、そのグループに /var/www ディレクトリの所有権を与え、グループの書き込み許可を追加する。

  • そのグループの任意のメンバーは、ウェブサーバーに対してファイルの追加、削除、および変更ができるようになります。

wwwグループをインスタンスに追加する

$ sudo groupadd www

ユーザー(ec2-user)をwwwグループに追加する

$ sudo usermod -a -G www ec2-user

一度ログアウトする

$ exit

wwwグループのメンバーを確認する

$ groups

ec2-user wheel www

/var/wwwとそのコンテンツの所有者をrootにし、所有権をWWWグループに変更する

$ sudo chown -R root:www /var/www

/var/www およびそのサブディレクトリの「ディレクトリ」許可を変更してグループの書き込み許可を設定し、将来のサブディレクトリにグループIDを設定する

$ sudo chmod 2775 /var/www

$ find /var/www -type d -exec sudo chmod 2775 {} +

/var/www およびそのサブディレクトリの「ファイル」許可を繰り返し変更してグループの書き込み許可を追加します。

$ find /var/www -type f -exec sudo chmod 0664 {} +

以上で、ec2-user(およびwwwグループの将来のメンバーはApacheドキュメントルートでファイルを追加、削除、編集できるようになる。)

chown -R
ディレクトリとその中身の所有者を再帰的に変更する
所有者をrootにし、グループをwwwに変更する

chmod 775
ディレクトリとその中身のアクセス権限を再帰的に変更する
共有作業用ディレクトリ内で作ったファイルやディレクトリに自動的に共有グループにする

find オプション
-type d ディレクトリ 
-type f ファイル
-exec   条件に合致したものに対して、以降のコマンドを実行する。

CentOSの設定1 (日本語設定とタイムゾーン)

日本語設定に変更


$ sudo vim /etc/sysconfig/i18n
LANG=en_US.UTF-8 → LANG=ja_JP.UTF-8

CentOSの設定2 (タイムゾーンを変更する)

$ sudo cp -p /usr/share/zoneinfo/Japan /etc/localtime

Gitのインストール

$ sudo yum install -y git

Apacheの起動/自動起動

$ sudo service httpd start
$ sudo chkconfig httpd on

Webサーバーの再起動

$ sudo /sbin/service httpd restart

※Apacheの設定ファイルを変更した場合は、再起動する。

httpd.confを変更する。

/etc/httpd/conf/httpd.conf (※全体の設定)
/etc/httpd/conf.d  (※追加設定)
(モジュールや仮想ホストに関する設定を新たに設定ファイルを追加する)
※管理者権限でしか編集できない。


php.iniを変更する。

$ sudo vim /etc/php.ini

・タイムゾーンの設定
検索
esc+/date.timezoneと入力
date.timezone = 'Asia/Tokyo'

expose_php = Off PHPのバージョンを隠す

MYSQL

$ sudo service mysqld start
$ sudo mysql_secure_installation
  • a.パスワードを設定していないので、ブランクでリターンを押す
  •  Yを押す。パスワードを2回入力する
  • b.匿名ユーザーアカウントを削除する「Y」
  • c.rootログインを無効にする「Y」
  • d.テストデータベースを削除する「Y」
  • e.権限テーブルを再ロードし変更を保存する「Y」

ブート時に必ずMYSQLサーバーを起動させる

$ sudo chkconfig mysqld on
  • exitでログアウト
  • 変更後のパスワードでrootログイン出来る事を確認

MySQL設定ファイルコピー

文字コード設定

$ sudo cp /usr/share/doc/mysql55-server-5.5.42/my-small.cnf /etc/my.cnf
$ sudo vim /etc/my.cnf

現在のシステム(CentOS)の文字コードを調べる

$ sudo echo $LANG
出力:
ja_JP.UTF-8
[mysqld]
#mysqldセクションの末尾に追加
character-set-server=utf8

[mysql]
default-character-set=utf8

[client]
#clientセクションを追加
default-character-set=utf8

MYSQL再起動

$ sudo /etc/init.d/mysqld restart

phpの確認

$ echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

アクセス
http://(ipアドレス)/phpinfo.php

phpmyadminのインストール

2箇所
Require ip 127.0.0.1記載部分を
Require all grantedに変える

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require all granted
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require all granted
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

アクセス
http://(ipアドレス)/phpMyAdmin

MYSQLのroot パスワードでログインする

AMIを作成

11
12
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
11
12