Syntax Error.

[Sy] Amazon Linux (2017.09-release) + php7 の環境に phpMyAdmin をインストールする手順

2017/10/28

Amazon Linux (2017.09-release) + php7 の環境の場合、epel にある phpMyAdmin をインストールしようとするとエラーになります。AWS 公式ページを参考に、 phpMyAdmin のインストール手順を説明します。

環境

以下の手順で構築した状態で検証しています。

  1. [Sy] Amazon Linux (2017.09 release) でのPHP7(+php-fpm)とnginxの設定方法(インストール、設定、自動起動)
  2. [Sy] Amazon Linux (2017.09-release) に MySQL 5.7 をインストールする手順
  3. [Sy] MySQL5.7 にて root のパスワード変更などの初期設定をする(mysql_secure_installation 使用)

epel の phpMyAdmin のインストールに失敗する

epel に phpMyAdmin はあるのですが、インストールしようとすると依存パッケージがコンフリクトを起こしてしまい失敗します。

調べてみると、AWS公式のチュートリアルに手順が書いてあったので、参考にやってみます。

⇒ チュートリアル: Amazon Linux への LAMP ウェブサーバーのインストール - Amazon Elastic Compute Cloud

1. 必要なパッケージを先にインストール

php70-mbstringphp70-zip が必要なのでインストールしていない場合はインストールします。

今回用意した環境では、すでにインストール済みなのでスルーします。

$ yum list installed | grep php70
php70.x86_64                         7.0.21-1.24.amzn1             @amzn-main
php70-cli.x86_64                     7.0.21-1.24.amzn1             @amzn-main
php70-common.x86_64                  7.0.21-1.24.amzn1             @amzn-main
php70-fpm.x86_64                     7.0.21-1.24.amzn1             @amzn-main
php70-json.x86_64                    7.0.21-1.24.amzn1             @amzn-main
php70-mbstring.x86_64                7.0.21-1.24.amzn1             @amzn-main
php70-mysqlnd.x86_64                 7.0.21-1.24.amzn1             @amzn-main
php70-pdo.x86_64                     7.0.21-1.24.amzn1             @amzn-main
php70-process.x86_64                 7.0.21-1.24.amzn1             @amzn-main
php70-xml.x86_64                     7.0.21-1.24.amzn1             @amzn-main
php70-zip.x86_64                     7.0.21-1.24.amzn1             @amzn-main

もしインストールされてなければ、以下のようにインストールしておきます。

$ sudo yum install php70-mbstring php70-zip -y

2. phpMyAdmin をダウンロード、インストール

次に、phpMyAdmin の公式ページへ行き、最新の tar.gz 形式のファイルのダウンロードURLを取得します。

⇒ phpMyAdmin - Downloads

ダウンロードするのではなく、 リンク先のURLをコピーしてください。

phpMyAdmin Download

今回は、phpMyAdmin-4.7.5-all-languages.tar.gzのURLを取得(リンク先アドレスをコピー)します。

取得したURLはこちらになります。

https://files.phpmyadmin.net/phpMyAdmin/4.7.5/phpMyAdmin-4.7.5-all-languages.tar.gz

↓ここからはサーバ上での作業になります。

/var/www/ の下に phpMyAdmin というディレクトリを作って、そこにダウンロードしてくるファイルを配置することにします。

まずは /var/www/ に移動し、wget コマンドを使って先ほどのURLからファイルをダウンロードしてきます。

$ cd /var/www
$ wget https://files.phpmyadmin.net/phpMyAdmin/4.7.5/phpMyAdmin-4.7.5-all-languages.tar.gz

phpMyAdmin-4.7.5-all-languages.tar.gz というファイルがダウンロードされるので、解凍します。

$ tar -xvzf phpMyAdmin-4.7.5-all-languages.tar.gz

解凍が終わると、 phpMyAdmin-4.7.5-all-languages/ というディレクトリが作成されているので、 phpMyAdmin/ にリネームします。

$ mv phpMyAdmin-4.7.5-all-languages/ phpMyAdmin

tar.gz ファイルはもう必要ないので、消しておきましょう。

$ rm phpMyAdmin-4.7.5-all-languages.tar.gz

ここまでで、こうなっているはずです。

$ ll | grep phpMyAdmin
drwxr-sr-x 12 ec2-user nginx 4096 Oct 21 08:12 phpMyAdmin

これで phpMyAdmin のインストールは完了です。

3. phpMyAdmin を表示する(nginx の設定)

では実際に nginx で設定を行い、http://phpmyadmin.utano.me というURLでアクセスできるようにしていきます。

以下のように nginx の設定ファイルを作成します。(ファイル名は .conf 以外の部分は任意)

$ sudo vim /etc/nginx/conf.d/02_phpmyadmin.utano.me.conf

内容は以下のようにします。

server {
    listen 80;
    server_name phpmyadmin.utano.me;
    root /var/www/phpMyAdmin;

    location / {
      index index.php index.html;
    }

    location ~ \.php$ {
      fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
      fastcgi_index  index.php;
      fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include        fastcgi_params;
    }
}

設定を保存したら、 nginx を再起動します。

$ sudo service nginx reload
Reloading nginx:                                           [  OK  ]

ブラウザから、http://phpmyadmin.utano.me にアクセスすると、 phpMyAdmin のログイン画面が表示されます。

phpMyAdmin ログイン画面

MySQL でログイン可能なユーザ名(例:root)とパスワードを入力し、ログインします。

phpMyAdmin ホーム

ログインできれば、動作確認も完了です。