LoginSignup
17
22

More than 3 years have passed since last update.

【AWS】EC2でphpMyAdminを利用し、RDSへアクセス

Last updated at Posted at 2020-01-23

phpMyAdminをインストールする

①必要な依存ファイルをインストール

sudo yum update
sudo yum install httpd
sudo yum install php70-mbstring.x86_64 php70-zip.x86_64 -y

phpの最新バージョン(7.2)をインストール

最新のphpやPythonは下記のコマンドでインストールする必要が有る
インストールできるモジュール一覧とインストールするphp7.2についての情報を確認する。

amazon-linux-extras
amazon-linux-extras info php7.2

php7.2をインストールする

sudo amazon-linux-extras install php7.2

インストールされたバージョンを確認する。

sudo yum list installed | grep httpd
sudo yum list installed | grep php

②apacheの再起動

sudo service httpd restart

/var/www/htmlに移動

cd /var/www/html

④このドキュメントルートにphpMyAdminのパッケージをダウンロードします

sudo wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz

⑤phpMyAdminファイルを作ってそこにパッケージを展開します

sudo mkdir phpMyAdmin
sudo tar -xvzf phpMyAdmin-latest-all-languages.tar.gz -C phpMyAdmin --strip-components 1

phpMyAdmin-latest-all-languages.tar.gzを削除します

sudo rm phpMyAdmin-latest-all-languages.tar.gz

⑦ブラウザでphpMyAdminが開くか確認する

インスタンスのIPアドレス/phpMyAdminにアクセス
EC2へのアクセスを行う為、インバウンドの設定を行い、アクセス可能な状態にしておく

スクリーンショット (72)_LI.jpg

これでphpMyAdminを入れられました

RDSへのアクセス設定

現状のままだとLocalHostのデータベースにアクセスするように設定されているので、データベースのアクセスを変更していく。

設定ファイルの更新

サンプルの設定ファイルをコピーする

cd /var/www/html/phpMyAdmin/
sudo cp config.sample.inc.php config.inc.php

パーミッションを変更し、設定ファイルの情報を更新する。

sudo chmod 660 config.inc.php ★これを実行すると起動できなくなるので不要
sudo vim config.inc.php

下記の箇所を編集し、ESCを押してから:wqで保存して終了してください。

設定ファイル.php
/* Server parameters */
$cfg['Servers'][$i]['host'] = '自分のRDSのエンドポイント'
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

自分のエンドポイントが分からない場合は、RDSの画面から確認する事が可能です。

各種追加設定

Cookie用のパスフレーズの設定

config.inc.phpファイル内のCookie用のパスフレーズを設定します。

sudo vim config.inc.php
設定ファイル.php
/**
 * This is needed for cookie based authentication to encrypt password in
 * cookie. Needs to be 32 chars long.
 */
$cfg['blowfish_secret'] = 'Cookie用の32文字以上の文字列を定義する'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
()
$cfg['blowfish_secret'] = 'kcBuC08452nW0qTCVFXEQV0HO7KhrCYAAACCCCV';

mbstringのインストール

下記のコマンドでインストール可能なphpの拡張機能を検索します。

sudo yum list php-* | grep amzn2extra-php7.2

実行結果
[ec2-user@ip-10-0-10-165 phpMyAdmin]$ sudo yum list php-* | grep amzn2extra-php7.2
php-cli.x86_64                      7.2.24-1.amzn2.0.1        @amzn2extra-php7.2
php-common.x86_64                   7.2.24-1.amzn2.0.1        @amzn2extra-php7.2
php-fpm.x86_64                      7.2.24-1.amzn2.0.1        @amzn2extra-php7.2
php-json.x86_64                     7.2.24-1.amzn2.0.1        @amzn2extra-php7.2
php-mysqlnd.x86_64                  7.2.24-1.amzn2.0.1        @amzn2extra-php7.2
php-pdo.x86_64                      7.2.24-1.amzn2.0.1        @amzn2extra-php7.2
php.x86_64                          7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-bcmath.x86_64                   7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-dba.x86_64                      7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-dbg.x86_64                      7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-devel.x86_64                    7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-embedded.x86_64                 7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-enchant.x86_64                  7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-gd.x86_64                       7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-gmp.x86_64                      7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-intl.x86_64                     7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-ldap.x86_64                     7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-mbstring.x86_64                 7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-odbc.x86_64                     7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-opcache.x86_64                  7.2.24-1.amzn2.0.1        amzn2extra-php7.2 
php-pecl-apcu.x86_64                5.1.12-3.amzn2.0.1        amzn2extra-php7.2 
php-pecl-apcu-devel.noarch          5.1.12-3.amzn2.0.1        amzn2extra-php7.2 
php-pecl-igbinary.x86_64            2.0.7-3.amzn2.0.1         amzn2extra-php7.2 
php-pecl-igbinary-devel.noarch      2.0.7-3.amzn2.0.1         amzn2extra-php7.2 
php-pecl-imagick.x86_64             3.4.4-1.amzn2.0.1         amzn2extra-php7.2 
php-pecl-imagick-devel.noarch       3.4.4-1.amzn2.0.1         amzn2extra-php7.2 
php-pecl-libsodium.x86_64           2.0.21-1.amzn2.0.1        amzn2extra-php7.2 
php-pecl-mcrypt.x86_64              1.0.1-3.amzn2.0.1         amzn2extra-php7.2 
php-pecl-memcached.x86_64           3.0.4-3.amzn2.0.1         amzn2extra-php7.2 
php-pecl-msgpack.x86_64             2.0.2-3.amzn2.0.1         amzn2extra-php7.2 
php-pecl-msgpack-devel.noarch       2.0.2-3.amzn2.0.1         amzn2extra-php7.2 
php-pecl-oauth.x86_64               2.0.2-3.amzn2.0.1         amzn2extra-php7.2 
php-pecl-redis.x86_64               4.3.0-1.amzn2             amzn2extra-php7.2 
php-pecl-ssh2.x86_64                1.1.2-3.amzn2.0.1         amzn2extra-php7.2 
php-pecl-uuid.x86_64                1.0.4-3.amzn2.0.1         amzn2extra-php7.2 
php-pecl-zip.x86_64                 1.15.2-3.amzn2.0.1        amzn2extra-php7.2 
php-pgsql.x86_64                    7.2.24-1.amzn2.0.1        amzn2extra-php7.2 

@amzn2extra-php7.2と表示されている物がインストールされているパッケージです。

今回は、必要なパッケージを導入します。

sudo yum install php-mbstring

php.iniの設定

失敗した時のためにバックアップを取っておく
sudo cp /etc/php.ini /etc/php.ini.default

viでファイルを開いて編集(保存は同じく:wq)
sudo vi /etc/php.ini

php.ini
# HTTPヘッダにPHPのバージョンを記載しない
- expose_php = On
+ expose_php = Off

# メモリ上限を引き上げる
- memory_limit = 128M
+ memory_limit = 512M

# エラーログのパスを変更
- error_log = php_errors.log
+ error_log = /var/log/php_errors.log

# POST送信の許容サイズを引き上げる
- post_max_size = 8M
+ post_max_size = 16M

# アップロードファイルの許容サイズを引き上げる
- upload_max_filesize = 2M
+ upload_max_filesize = 8M

# timezoneの設定
- date.timezone =
+ date.timezone = Asia/Tokyo

# デフォルト言語を日本語に設定
- mbstring.language = Japanese
+ mbstring.language = Japanese

# 文字コード検出のデフォルト値を定義
- mbstring.detect_order = auto
+ mbstring.detect_order = auto


設定を反映

記述ミスが無いかを確認
sudo service httpd configtest

設定を反映
sudo service httpd restart

※設定が反映されない場合は、サーバーを再起動すると直ることが有ります。

Tempフォルダの作成

$cfg['TempDir'] (/var/www/html/phpMyAdmin/tmp/) にアクセスできません。phpMyAdmin はテンプレートをキャッシュすることができないため、低速になります。

というエラーの対処を行います。

「phpMyAdmin」フォルダに移動し、下記のコマンドでフォルダを作成し、パーミッションを更新します。

sudo mkdir tmp
sudo chmod 777 tmp

参考サイト

17
22
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
17
22