ペチパーノート

WEB系Tipsブログです。PHP、MySQL、Linux、js等。なんだかよくわからないけどやってみる。がポリシーです。

EC2にphpMyAdminを設置しRDSに接続する

先の記事でAWSLAMP環境を作成しました。
~AWSでLAMP環境を作る~ まとめ
 

今回はEC2にphpMyAdminを設定し、WEBからRDSを操作できるようにします。

アクセスURLは http://{IPアドレス}/tools/phpMyadmin/ とします。

手順

phpMyadmin配置ディレクトリ作成

$ mkdir -p /var/www/html/tools
$ cd /var/www/html/tools

  ここ のリンクからphpMyAdmin-4.2.5-all-languages.tar.gzをダウンロードします。

wget http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/4.2.5/phpMyAdmin-4.2.5-all-languages.tar.gz

解凍と名前の変更

$ tar xzf phpMyAdmin-4.2.5-all-languages.tar.gz
$ mv phpMyAdmin-4.2.5-all-languages phpMyAdmin

設定ファイル変更

$ cd phpMyAdmin/
$ cp config.sample.inc.php  config.inc.php
$ vi config.inc.php

ホスト設定の部分にRDSのエンドポイントを設定します。

$cfg['Servers'][$i]['host'] = 'mydb.xxxxxxxx.ap-northeast-1.rds.amazonaws.com';

 

ブラウザで下記URLへアクセスします。 http://{IPアドレス}/tools/phpMyAdmin/

f:id:butterbull:20140709002120j:plain

表示されました!!

RDS作成時に設定したユーザー/パスワードでログインできます。
これでコマンド叩かなくてもDBの操作ができます(^O^)

   

/でindex.phpを実行させる

先の記事でAWSLAMP環境を作成しました。
~AWSでLAMP環境を作る~ まとめ
 

今回はhttp://{IPアドレス or ドメイン}/
でindex.phpを動かせるようにします。

デフォルトでindex.htmlが出力されますが
存在しない場合、index.phpを実行させるようにApacheの設定を変更します。

手順

Apacheの設定ファイルを更新

# vi /etc/httpd/conf/httpd.conf

   

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents.  The MultiViews Option can be used for the
# same purpose, but it is much slower.
#
DirectoryIndex index.html index.html.var index.php ←index.phpを追加

※index.htmlよりもindex.phpを優先したい場合は
 index.phpをindex.htmlよりも左側に記述します。

   

  Apache再起動

service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

これでOKです。    

Apacheのテストページを非表示にする

先の記事でAWSLAMP環境を作成しました。
~AWSでLAMP環境を作る~ まとめ
 

実際にWEBサイトを運用する為には、他にやっておいたほうがいい設定がいくつかあります。
その中のひとつがこれです。

f:id:butterbull:20140619232124j:plain

 

http://{IPアドレス or ドメイン}
のようにドキュメントルート直下にアクセスすると表示されます。
index.htmlが存在する場合はそちらが表示されますが、
存在しない場合はこのようなテストページが表示されます。

できれば出したくないですよね。。
     

手順

Apacheの設定ファイルを更新

# vi /etc/httpd/conf.d/welcome.conf

     

#
# This configuration file enables the default "Welcome"
# page if there is no default index page present for
# the root URL.  To disable the Welcome page, comment
# out all the lines below.
#
<LocationMatch "^/+$">
   Options -Indexes
    ErrorDocument 403 /error/noindex.html
</LocationMatch>

↓ このようにLocationの括りをすべてコメントアウトします

#
# This configuration file enables the default "Welcome"
# page if there is no default index page present for
# the root URL.  To disable the Welcome page, comment
# out all the lines below.
#
#<LocationMatch "^/+$">
#   Options -Indexes
#    ErrorDocument 403 /error/noindex.html
#</LocationMatch>

Apache再起動

service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

     

再度、ブラウザからアクセスしてみます

f:id:butterbull:20140620002839j:plain

テストページは表示されませんでした!!
がファイルの一覧や、サーバ情報が丸見えです。。
これを回避する為、大元のApache設定ファイルを更新します。

# vi /etc/httpd/conf/httpd.conf

ファイル一覧を非表示に

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/html">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
    Options Indexes FollowSymLinks

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "/var/www/html">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
    Options -Indexes FollowSymLinks ←Indexesにハイフンを付ける

  Apache再起動

service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

       

再度アクセスしてみます。

f:id:butterbull:20140620002549j:plain

 

これでOKです。    

~AWSでLAMP環境を作る~ まとめ

~AWSでLAMP環境を作る~ その10 EC2からRDSに接続する

EC2にMySQLをインストールし、ホスト指定してRDSに接続してみます。

手順

MySQLインストール

# yum install mysql-server

起動

# service mysqld start

自動起動設定

# chkconfig mysqld on

接続
mysql -u {RDSのエンドポイント} -u {ユーザー名} -p{パスワード}

# mysql -h mydb.xxxxxxxx.ap-northeast-1.rds.amazonaws.com -u admin -pxxxxxxx

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 75
Server version: 5.6.13-log MySQL Community Server (GPL)

Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| fufufu             | ←RDS作成時に指定したDBが作成されています
| innodb             |
| mysql              |
| performance_schema |
+--------------------+
5 rows in set (0.13 sec)

無事接続できました!!

エンドポイントってなんだっけ?となった時は↓です

f:id:butterbull:20140614004632j:plain

~AWSでLAMP環境を作る~ その9 PHPをインストールする

PHPをインストールします。

手順

yumPHPインストール
(モジュールは適宜変更してください)

# yum install php php-cli php-common php-gd php-intl php-mbstring php-mcrypt php-mysqlnd php-pecl-apc php-process php-snmp php-xml php-xmlrpc php-pecl-memcache php-pecl-memcached

Apache再起動

# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

終わりです!!

バージョン確認してみましょう。

# php -v
PHP 5.3.28 (cli) (built: Mar 28 2014 23:50:27)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies

やっぱり終わりです!!

せっかくなのでドキュメントルートにphpファイルを作ってアクセスしてみます。

# cd /var/www/html
# vi phpinfo.php
<?php
phpinfo();

ブラウザでhttp://{IPアドレス}/phpinfo.phpにアクセス

f:id:butterbull:20140614002807j:plain

本当に終わりでした!!

~AWSでLAMP環境を作る~ その8 Apacheをインストールする

Apacheをインストールします。
これが無事完了すればブラウザからアクセスできるようになります。

手順

PuttyなどのSSHターミナルからログインします。

rootになる

$ sudo su -

初回なのでyum更新

# yum update

Apacheをインストール

# yum install httpd

Apacheを起動

# service httpd start

再起動しても勝手に立ち上がるようにする

# chkconfig httpd on

終わりです!!

ブラウザからIPアドレスを指定してアクセスして下記のページが表示されたらOKです。

f:id:butterbull:20140614001328j:plain