参照/書籍
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 パスワードでログインする