RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作 SQL VPS

(VPSでつくる) phpMyAdminインストール

投稿日:

連載第九回目です。

GUI上でMariaDB(MySQL)を触れるようにするために、phpMyAdminをインストールしましょう。

この記事は、VPSで作るPythonでのWebアプリ運用環境の連載記事です。
その他については上記ページをお読みください。

1. phpMyAdminインストール

前回の記事で指定したremiレポジトリを使っていきます。

yum -y --enablerepo=remi-php71 install phpMyAdmin

※もしPHPのバージョンを変更された場合は、php71を編集してください。

環境設定保存用のデータベースを作成しておきます。

vi /usr/share/phpMyAdmin/sql/create_tables.sql

コードを下記から、

-- (activate this statement if necessary)
-- GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON `phpmyadmin`.* TO
--    'pma'@localhost;

下記の通り変更します。

-- (activate this statement if necessary)
GRANT SELECT, INSERT, DELETE, UPDATE, ALTER ON `phpmyadmin`.* TO
  'root'@localhost;

※今回はrootユーザーをすでに作成しているので、このようにしています。

MariaDBにログインして、クエリを実行します。

mysql -u root -p
source /usr/share/phpMyAdmin/sql/create_tables.sql

権限関係のメモリリフレッシュを行います。

FLUSH PRIVILEGES;

Control+ZコマンドでMariaDBから抜けることができます。

2. Nginxの環境設定

PHP-FPMとNginxを接続するために、TCPUnix Socketの2通りの方法があります。(参考ページ
今回はUnix Socketを利用します。

まずは、PHP-FPMファイルの設定(/etc/php-fpm.d/www.conf)を変更します。

listen = /var/run/php-fpm/php-fpm.sock
listen.owner = nginx
listen.group = nginx
listen.mode = 0666

変更イメージは以下の通りです。

PHPの設定ファイル(/etc/php.ini)を変更します。

session.save_path = "/var/lib/php/session"

このセッションにNginxがアクセスできるようにしておきます。

sudo chown -R root.nginx /var/lib/php/session

最後に、Nginxの設定を変更します。
環境設定ファイル(/etc/nginx/conf.d/default.conf)を2点編集します。
(1)server{}内のlocation ~ \.php$内を変更します。

    location ~ \.php$ {
                fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
    }

(2)server{}内にlocation /phpMyAdminを追記します。

    location /phpMyAdmin {
        alias /usr/share/phpMyAdmin/;
        try_files $uri $uri/ /index.php;

        location ~ ^/phpMyAdmin/(.+\.php)$ {
            alias /usr/share/phpMyAdmin;
            fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
            fastcgi_param SCRIPT_FILENAME /usr/share/phpMyAdmin/$1;
            include fastcgi_params;
            fastcgi_intercept_errors on;
        }
    }

location ~ ^/phpMyAdmin/(.+\.php)$内にallow XXX.XXX.XXX.XXX(IP); deny all;をこの中に追記すると、指定IP以外のアクセスを拒否することができます。

変更イメージとしては以下の通りです。

sudo systemctl restart php-fpm
sudo systemctl reload nginx

3. 動作確認

下記のように表示されればOKです。

rootユーザーでのログインが可能かどうか確認ください。

設定を変更した場合は、php-fpm.sockを削除して、php-fpmなどを再起動します。

rm -f /var/run/php-fpm/php-fpm.sock

おわりに

phpMyAdminがインストールできました。
これにてデータベースの導入は完了です!

次は、FTPでファイルを送受信できるようにします。
これまではviエディタで色々と記載していましたが、この方法だと限界があるので変更します。

この記事は、VPSで作るPythonでのWebアプリ運用環境の連載記事です。
次は、10. WinSCPでFTP接続です。

-Web制作, SQL, VPS

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

(VPSでつくる) WinSCPでFTP接続

連載第十回目です。 これまではVPSサーバーに対し、viエディタで色々なファイルを編集してきました。 ただ、今後はFlaskアプリなど、かなり作り込んだサービスの導入テストを行いますので、一ファイルず …

no image

PHPのコーディング規則、PSRのまとめ

「PHPのコーディング規則、PSRを学ぶ」(1)~(5)の集大成が完成しました。 PHPコーディング規則、PSRを学ぶで閲覧可能です。 正確を期していますが、誤りがあったらコメントをお願いします。m( …

【初心者向け】mysqlclientのインストールで詰まったときの補足

コマンドラインでmysqlを使いたい!と思ったら、思わぬ罠がありましたので紹介します。 *僕の場合はpythonで使いたい!というものでしたが、他でも使えることを確認しています。 まずコマンドラインで …

機械学習の勉強から見えた「間違いだらけのAI認識」

「AI」という字面が新聞にもネットニュースにも数多く出てくるようになりました。 ただ、機械学習を勉強してて思ったんですが・・・・AIの定義が曖昧すぎる 内容が書いてある記事も殆ど無いし…。 AIが行っ …

[Meisyo]スマホ表示の改良

「スマホ版使いにくすぎ」と知人に言われたので、スマホ表示の改良を行いました。 Android版 iPhone版 改良内容は、「ボタン化」が大きいですねー。 わりと使いやすくなったのか・・・?

筆者情報

名将と呼ばれた者達(Meisyo)公式ブログ
高校野球チーム育成シミュレーションゲーム。個性豊かな選手たちを育成し、監督としてチームを優勝に導こう!

Twitter(R@おいす)
連絡はこちら

メインサイト:Rの考え方

気に入ったらクリックしてね!