AWSのEC2に基本的なLAMP環境を作ってみる(1)は、執筆中です。
AWSのEC2でWEBサーバ用インスタンスを立ち上げるといった内容になる予定です。
#SSHで接続する
起動したEC2インスタンスにSSH接続してみました
ssh -i ~/.ssh/(任意の名前).pem ec2-user@(EC2インスタンスのPublicIP)
すると、下記のように聞かれたので、yes
と返答
The authenticity of host 'XXX.XXX.XXX.XXX (EC2インスタンスのPublicIP)' can't be established.
RSA key fingerprint is e1:5f:ac:bd:6d:ed:88:e0:9a:f7:a5:8b:e7:32:6a:05.
Are you sure you want to continue connecting (yes/no)?
SSH接続できた!
__| __|_ )
_| ( / Amazon Linux AMI
___|\___|___|
https://aws.amazon.com/amazon-linux-ami/2015.03-release-notes/
1 package(s) needed for security, out of 14 available
Run "sudo yum update" to apply all updates.
色々インストールするため、ルートになります
$ sudo -i
ec2-userからrootになりました!
#apacheをインストール/起動する
WEBサーバとして振る舞うため、
yumを使ってapacheを入れました (今回はapacheのバージョン2.4)
# yum install -y httpd24
インストールが終わったら、apacheの自動起動設定をしました
# chkconfig httpd on
「言語は日本語を使いますよー」と設定しておきます
en_US.UTF-8
となっているところを下記のように書き換えて保存しました
# vim /etc/sysconfig/i18n
LANG=ja_JP.UTF-8
「時刻(タイムゾーン)は東京にしますよー」と設定します
設定というよりはファイルを上書きする方法のようです
cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
で、apacheを起動しました
# service httpd start
Starting httpd: AH00557: httpd: apr_sockaddr_info_get() failed for ip-XXX-XXX-XXX-XXX
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
[ OK ]
起動できてるかどうかステータスを見てみました
# service httpd status
httpd (pid 2371) is running...
running
なのでOKですね!
http://XXX.XXX.XXX.XXX(GlobalIP)
にブラウザからアクセスすると、apacheのページが表示されました!
これでちゃんとWEBサーバとして振る舞っていることを確認できました
#PHPをインストールする
yumでPHPを入れました (今回はPHP5.5を入れてみました)
# yum install -y php55
入ったかどうか、phpコマンドでバージョン確認をすることで確かめました
# php -v
PHP 5.5.22 (cli) (built: Mar 5 2015 23:04:39)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies
ちゃんと PHP5.5.22
が入ったようですね!
次に、PHPのタイムゾーンを日本にしておきました
php.ini
を触ります
# vim /etc/php.ini
php.ini
は長いファイルなので文字列検索します
/date.timezone
と入力して検索します
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
;date.timezone =
のところをコメントインして、
date.timezone = 'Asia/Tokyo'
としました
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = 'Asia/Tokyo'
#MySQLをインストールする
AWSにはRDSというデータベースサービスがあるようですが、
今回は同じEC2インスタンスにMySQLを入れてしまいます
こちらもyumを使いました
# yum install -y mysql-server
インストールが終わったら、mysqlの自動起動設定をしました
# chkconfig mysqld on
で、mysqlを起動しました (初期化処理が走るようです)
# service mysqld start
Initializing MySQL database:
(以下略...)
Please report any problems at http://bugs.mysql.com/
[ OK ]
Starting mysqld: [ OK ]
起動できてるかどうかステータスを見てみました
# service mysqld status
mysqld (pid 2726) is running...
OKのようです!
次に、MySQLのパスワードを整えておきました
MySQLにログインして、パスワードを変更するクエリを発行するという流れです
下記のようにMySQLのrootユーザでログインします
# mysql -uroot
クエリは下記のように発行しました
'pass'の部分は本来はちゃんとしたパスワードを入れます
(MySQLの場合は、最後のセミコロンを忘れないようにねっ)
mysql> set password for root@localhost=password('pass');
Query OK, 0 rows affected (0.00 sec)
MySQLからログアウトします
(exitはセミコロン不要)
mysql> exit
Bye
次に、mysql_secure_installation というセキュリティ設定をしました
以下を実行します
# /usr/bin/mysql_secure_installation
対話式で聞かれるので、以下のように返答しました
Enter current password for root (enter for none): (先ほどのMySQL:rootユーザのパスワード)
Change the root password? [Y/n] n
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
設定を変更したので、一旦MySQLを再起動しました
# service mysqld restart
#phpMyAdminをインストールする
MySQLを操作するには、ブラウザベースのphpMyAdminが便利なので
インストールしました
yumから入れますが、epelレポジトリを介するようです
# yum --enablerepo=epel install -y phpMyAdmin
phpMyAdminの
# vim /etc/httpd/conf.d/phpMyAdmin.conf
Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1 <==(ここを修正!)
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>
Require ip 127.0.0.1
という部分を#
でコメントし、
その下にRequire all granted
を書き足しました
修正後は下記です
<RequireAny>
#Require ip 127.0.0.1
Require all granted
Require ip ::1
</RequireAny>
# service httpd restart
(apacheを再起動) してから
http://(グローバルIP)/phpMyAdmin
にブラウザでアクセスすると、
phpMyAdminのログイン画面が現れます
まず、Languageを日本語に変更しました
ログインユーザは、MySQLのrootユーザで、
パスワードは、先ほどMySQLで設定したパスワードを使います
ログインが正常にできれば、とりあえずOKですね!
#Gitをインストールする
今回、Gitを使用したいと思ったので
Gitをインストールしました
これもまたyumで入れました
# yum install -y git
操作はこれだけでした
確認としてバージョンを見ます
# git --version
git version 2.1.0
バージョン確認できたのでOKですね!