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へのアクセスを行う為、インバウンドの設定を行い、アクセス可能な状態にしておく
これで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
で保存して終了してください。
/* 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
/**
* 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
# 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
参考サイト