Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
66
Help us understand the problem. What is going on with this article?
@nakau1

AWSのEC2に基本的なLAMP環境を作ってみる(2)

More than 5 years have passed since last update.

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ですね!

66
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
nakau1
PHP / iOS 技術者としてやってきましたが、 自分がやってきたお仕事以外では、色々と技術が足りないと痛感しながら 基本的なことからコツコツ勉強しております

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
66
Help us understand the problem. What is going on with this article?