トップページへ

AWSのec2インスタンスにphpMyAdminをインストールする

小粋空間 » Amazon » AWS » AWSのec2インスタンスにphpMyAdminをインストールする

AWSのec2インスタンスにphpMyAdminをインストールする手順を紹介します。

1.phpMyAdminのダウンロード

Amazon Linuxの標準リポジトリにphpMyAdminパッケージが含まれていないため、Amazon Linux 2023(amzn2023)では「dnf install phpMyAdmin」は使えません。

よって下記の手順でphpmyadminのアーカイブをダウンロードおよび展開します。

$ cd /var/www/html
$ sudo curl -L https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz -o phpmyadmin.tar.gz
$ sudo tar xzf phpmyadmin.tar.gz
$ sudo mv phpMyAdmin-*-all-languages phpmyadmin
$ sudo rm phpmyadmin.tar.gz

2.config.inc.phpの修正

、 phpMyAdminのconfig.inc.phpに以下を追加します。
$cfg['blowfish_secret'] = '';
 ↓
$cfg['blowfish_secret'] = 'ランダム文字列(32文字以上がおすすめ)';

ランダムな文字列は、

$ openssl rand -base64 32

で作れます。

3.httpd.confの修正

この段階で試しにブラウザからアクセスしましたが、

Not Found
The requested URL was not found on this server.

というエラーになったため、下記を実施(chownは不要かもしれません)。

$ sudo chown -R apache:apache /var/www/html/phpmyadmin
$ sudo vi /etc/httpd/conf/httpd.conf

■変更前

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

■変更後

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>
 
Alias /phpmyadmin /var/www/html/phpmyadmin
 
<Directory /var/www/html/phpmyadmin>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

このあとhttpdを再起動します。

$ sudo systemctl restart httpd

4.php.iniの修正

ここまでの設定で404は出なくなりましたが、

phpMyAdmin - Error
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.
 
session_start(): open(SESSION_FILE, O_RDWR) failed: No such file or directory (2)
 
session_start(): Failed to read session data: files (path: )

というエラーが表示されるようになりました。調べると、

session.save_path

に値が設定されていないのが原因のようで、下記のコマンド、

$ php -i | grep session.save_path
session.save_path => no value => no value

で「no value」となるのが問題のようです。

session.save_pathはphp_info()でも確認できます。

これについては、

$ sudo vi /etc/php.ini

で、ファイルを開いて、下記のSessionグループを追加。

[Session]
session.save_path = "/tmp"

これで再度httpdを再起動します。

$ sudo systemctl restart httpd

これで修正が反映されない場合は、ec2インスタンスを再起動してみてください。

私の場合、ec23インスタンス再起動で設定が反映され、いつものphpMyAdminログイン画面が表示されました。

« 前の記事へ

トップページへ