GNU/Linux >> Linux の 問題 >  >> Linux

phpMyAdminをインストールして構成します

phpMyAdmin®は、MySQL®およびMariaDB®用の無料のオープンソース管理ツールです。主にPHPで記述されたポータブルWebアプリケーションとして、phpMyAdminは、特にWebホスティングサービスで最も人気のあるMySQL管理ツールの1つになりました。

この記事では、CentOS®7、RedHat®EnterpriseLinux®(RHEL)7、およびUbuntu®16.04LTSのWebサーバーにphpMyAdminをインストールして構成する方法について説明します。

前提条件

phpMyAdminをインストールする前に、サーバーに次のものをインストールする必要があります。

  • Apache®やNGINX®などのWebサーバー
  • PHP

Webサーバーがインストールされているかどうかを確認します

次の表のコマンドを使用して、Webサーバーがインストールされているかどうかを確認します。

オペレーティングシステム Webサーバー コマンド
CentOSとRHEL Apache rpm -qa | grep httpd
CentOSとRHEL NGINX rpm -qa | grep nginx
Ubuntuオペレーティングシステム Apache dpkg -l | grep apache
Ubuntuオペレーティングシステム NGINX dpkg -l | grep nginx

PHPがインストールされているかどうかを確認します

次のコマンドを使用して、PHPがCentOSorRHELにインストールされているかどうかを確認します。

rpm -qa | grep php

次のコマンドを使用して、PHPがUbuntuオペレーティングシステムにインストールされているかどうかを確認します。

dpkg -l | grep php

phpMyAdminをインストール

次のセクションの手順を使用して、phpMyAdminをインストールします。

CentOSとRHEL

次のコマンドを使用してphpMyAdminをインストールします。

yum install phpmyadmin

出力は次の例のようになります。

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.mhd.uk.as44574.net
 * epel: mirror.freethought-internet.co.uk
 * extras: mirror.mhd.uk.as44574.net
 * updates: mirror.mhd.uk.as44574.net
Resolving Dependencies
--> Running transaction check
---> Package phpMyAdmin.noarch 0:4.4.15.10-3.el7 will be installed
--> Processing Dependency: php-mysqli >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-mbstring >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-gd >= 5.3.7 for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-xmlwriter for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-tcpdf-dejavu-sans-fonts for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-tcpdf for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Processing Dependency: php-php-gettext for package: phpMyAdmin-4.4.15.10-3.el7.noarch
--> Running transaction check
Ubuntuオペレーティングシステム

次のコマンドを使用してphpMyAdminをインストールします。

apt-get install php phpmyadmin

出力は次の例のようになります。

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  dbconfig-common dbconfig-mysql fontconfig-config fonts-dejavu-core javascript-common libfontconfig1 libgh3 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore libtiff5 libvpx3 libxpm4 libxslt1.1 php-gd php-gettext php-mbstring php-pear php-phpseclib php-tcpdf php-xml php7.0-gd php7.0-mbstring php7.0-xml
Suggested packages:
  libgd-tools php-libsodium php-gmp php-imagick www-browser
The following NEW packages will be installed:
  dbconfig-common dbconfig-mysql fontconfig-config fonts-devaju-core javascript-common libfontconfig1 libgd3 libjbig0 libjpeg-turbo8 libjpeg8 libjs-jquery libjs-sphinxdoc libjs-underscore libtiff5 libvpx3 libxpm4 libxslt1.1 php-gd php-gettext php-mbstring php-pear php-phpseclib php-tcpdf php-xml php7.0-gd php7.0-mbstring php7.0-xml phpmyadmin
0 upgraded, 28 newly installed, 0 to remove and 6 not upgraded.
Need to get 16.3 MB of archives.
After this operation, 61.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Yを押します 次に、 Enterを押します 構成プロセスに進みます。 UbuntuオペレーティングシステムでphpMyAdminを設定するをご覧ください。 詳細な手順については、セクションをご覧ください。

CentOSおよびRHELでphpMyAdminを構成する

WebサーバーにphpMyAdminをインストールしたら、次のセクションの手順を使用してphpMyAdminを構成します。

ApacheWebサーバー

最初に、phpMyAdminにアクセスするために使用するインターネットプロトコル(IP)アドレスを /etc/phpMyAdmin/config.inc.phpに追加する必要があります。 構成ファイル。

  1. /etc/phpMyAdmin/config.inc.phpを開きます テキストエディタでファイルします。

  2. <IfModule !mod_authz_core.c>の行で始まるセクション 、次の例に示すようにIPアドレスを追加します。

    <IfModule !mod_authz_core.c>
    # Apache 2.2
    Order Deny,Allow
    Deny from All
    Allow from 127.0.0.1
    Allow from ::1
    Allow from
    Require ip 94.236.7.190
    </IfModule>
    </Directory>
    
  3. ファイルを保存して閉じます。

URLエイリアスを設定します(オプション)

phpMyAdminインストールの標準URLはhttps:// ipaddress / phpMyAdminです。 、ここで ipaddress 前のセクションで構成ファイルに追加したIPアドレスです。 URLを変更したい場合は、エイリアスを設定できます。

  1. /etc/httpd/conf.d/phpMyAdmin.confを開きます テキストエディタでファイルします。

  2. Aliasで始まる行を検索します /phpMyAdminを変更します 次の例に示すように、選択したエイリアスに:

    Alias /NewName /usr/share/phpMyAdmin
    Alias /newname /usr/share/phpMyAdmin
    
  3. ファイルを保存して終了します。

データベース構成ファイル

phpMyAdminで使用するMySQLまたはMariaDBデータベースサーバーがWebサーバーと同じサーバー上にない場合は、データベース構成ファイルを編集してデータベースサーバーの場所を定義する必要があります。

2つの構成オプションがあります:

  1. MySQLホストまたはIPアドレス
  2. MySQL/MariaDBポート

次の手順を使用して、データベースサーバーの場所を定義します。

  1. /etc/phpMyAdmin/config.inc.phpを開きます テキストエディタでファイルします。

  2. 次の例に示すようにファイルを編集します。

    $cfg['Servers'][$i]['host']          = 'localhost'; // MySQL hostname or IP address
    $cfg['Servers'][$i]['port']          = '';          // MySQL port - leave blank for default port
    $cfg['Servers'][$i]['socket']        = '';          // Path to the socket - leave blank for default socket
    $cfg['Servers'][$i]['connect_type']  = 'tcp';       // How to connect to MySQL server ('tcp' or 'socket')
    $cfg['Servers'][$i]['extension']     = 'mysqli';    // The php MySQL extension to use ('mysql' or 'mysqli')
    $cfg['Servers'][$i]['compress']      = FALSE;       // Use compressed protocol for the MySQL connection
                                                        // (requires PHP >= 4.3.0)
    $cfg['Servers'][$i]['controluser']   = '';          // MySQL control user settings
                                                        // (this user must have read-only
    $cfg['Servers'][$i]['controlpass']   = '';          // access to the "mysql/user"
                                                        // and "mysql/db" tables).
    
  3. ファイルを保存して終了します。

変更を公開するには、Webエンジンデーモンの構文を確認してから、正常に再起動または再ロードする必要があります。

次のコマンドを使用して構文を確認します。

apachectl configtest

構成ファイルにエラーがない場合は、Syntax OKが表示されます。 出力で。

次のコマンドを使用して、ApacheWebサーバーをリロードします。

CentOSおよびRHEL6

service httpd graceful

CentOSおよびRHEL7

systemctl status httpd

次のコマンドを使用して、httpdサービスのステータスをチェックし、期待どおりに機能していることを確認します。

CentOSおよびRHEL6

service httpd status

CentOSおよびRHEL7

systemctl status httpd

これで、次の画像に示すように、WebブラウザからphpMyAdminを表示できるようになります。

NGINXWebサーバー

NGINXでは、phpMyAdminパッケージに構成ファイルが付属していないため、phpMyAdmin構成ファイルを指すサーバーブロックを作成する必要があります。

  1. テキストエディタを開き、ファイル /etc/nginx/conf.d/phpMyAdmin.confを作成します 。

  2. 次の構成設定を入力します。

    server {
    listen 80;
    server_name 95.138.162.233;
    root /var/www;
    location /phpMyAdmin {
        root /usr/share/;
        index index.php;
    
    # auth_basic "phpMyAdmin Login";                # uncomment if using .htaccess & .htpasswd security
    # auth_basic_user_file /etc/nginx/.pma_pass;    # uncomment if using .htaccess & .htpasswd security
    
        location ~\.php$ {
            try_files $uri =404;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include /etc/nginx/fastcgi_params;
            }
    
        location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
         root /usr/share/;
            }
        }
    
    location /phpmyadmin {
        rewrite ^/* /phpMyAdmin last;
        }
    }
    
  3. ファイルを保存して終了します。

変更を公開するには、Webエンジンデーモンの構文を確認してから、正常に再起動または再ロードする必要があります。

次のコマンドを使用して、構文を確認します。

nginx -t

構成ファイルにエラーがない場合は、Syntax OKが表示されます。 出力で。

次のコマンドを使用して、NGINXWebサーバーをリロードします。

CentOSおよびRHEL6

service nginx graceful

CentOSおよびRHEL7

systemctl reload nginx

次のコマンドを使用して、NGINXサービスのステータスをチェックし、期待どおりに機能していることを確認します。

CentOSおよびRHEL6

service nginx status

CentOSおよびRHEL7

systemctl status nginx

これで、次の画像に示すように、WebブラウザからphpMyAdminを表示できるようになります。

UbuntuオペレーティングシステムでphpMyAdminを構成します

次のセクションの手順を使用して、UbuntuオペレーティングシステムでphpMyAdminを構成します。

ApacheWebサーバー

インストールプロセスにより、phpMyAdminApache構成ファイルが/ etc / apache2 / conf-enabled /に追加されます。 ディレクトリ。自動的に読み取られます。あなたがする必要がある唯一のことはmbstringを有効にすることです 次のコマンドを実行して実行できるPHP拡張機能:

sudo phpenmod mbstring

phpMyAdminをインストールすると、次の画像に示すように、パッケージ構成画面が表示されます。

スペースバーを使用してapache2を選択します 、タブを押します OKを選択します 、次に Enterを押します 。

インストールプロセスは、dbconfig-commonを使用してデータベースforphpMyAdminを構成するかどうかの確認を求める別の構成画面が表示されるまで続きます。 。

はいを選択します 、次に Enterを押します 。

データベース管理者パスワードの入力を求められます。パスワードを入力し、タブを押します OKを選択します 、次に Enterを押します 。

次に、phpMyAdminアプリケーション自体のパスワードを入力し、タブを押します。 OKを選択します 、次に Enterを押します 。

OKを選択してパスワードを確認します 、次に Enterを押します 。

インストールプロセスが完了すると、phpMyAdmin構成ファイルが /etc/apache2/conf-enabled/phpmyadmin.confに追加されます。 。

インストールの完了後にこのファイルが存在しない場合は、 /etc/phpmyadmin/apache.confからコピーできます。 / etc / apache2 /conf-enabledへ 。そのファイルが存在しない場合は、次の設定でphpMyAdminの仮想ホストを作成する必要があります。

server {
       listen 80;
       server_name example.com www.example.com;
       root /var/www/vhosts/example.com;
       ..

       location /phpMyAdmin {
           root /usr/share/;
           index index.php;

           # auth_basic "phpMyAdmin Login";                                # uncomment if using .htaccess & .htpasswd security
           # auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd;    # uncomment if using .htaccess & .htpasswd security

           location ~\.php$ {
                   try_files $uri =404;
                   fastcgi_pass unix:/var/run/php-fpm.sock;
                   fastcgi_index index.php;
                   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                   include /etc/nginx/fastcgi_params;
           }
           location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                   root /usr/share/;
           }
    }
    location /phpmyadmin {
           rewrite ^/* /phpMyAdmin last;
    }
    ...
}

phpMyAdminを再構成する必要がある場合は、いつでも次のコマンドを使用できます。

dpkg-reconfigure phpmyadmin
リモートデータベース構成

phpMyAdminで管理するデータベースサーバーがリモートの場合は、phpMyAdminを別の方法で構成する必要があります。構成ファイルは/etc / phpmyadminにあります ディレクトリ。メインの構成ファイルは/etc/phpmyadmin/config.inc.phpです。 、phpMyAdminにグローバルに適用される構成オプションが含まれています。

phpMyAdminを使用して別のサーバーでホストされているMySQLデータベースを管理するには、 /etc/phpmyadmin/config.inc.phpを開きます。 テキストエディタで次の行を編集します:

古い行 改行
$cfg['Servers'][$i]['host'] = '$dbserver'; $cfg['Servers'][$i]['host'] = '192.168.71.21';

注: $dbserverを置き換えます 実際のリモートデータベースサーバー名またはIPアドレスを使用します。また、phpMyAdminホストにリモートデータベースにアクセスするための権限があることを確認してください。

編集する必要のある他の構成ファイルは、 /etc/phpmyadmin/apache.confです。 。このファイルは、 /etc/apache2/conf-available/phpmyadmin.confにシンボリックリンクされています 。有効にすると、phpMyAdminサイトにサービスを提供するようにApache2を設定するために使用されます。このファイルには、PHP、ディレクトリ権限などをロードするためのディレクティブが含まれています。

次のコマンドを実行して構成ファイルを有効にしてから、サービスをリロードします。

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf sudo a2enconf phpmyadmin.conf sudo systemctl reload apache2.service

phpMyAdminがクライアントコンピューターにインストールされたので、MySQLまたはMariaDBデータベースがインストールされているリモートサーバーに接続します。ファイル/etc/mysql/mysql.conf.d/mysql.cnfを開きます 次の行を編集します:

bind-address           =              0.0.0.0

0.0.0.0を置き換えます リモートサーバーのIPアドレスを使用して、ファイルを保存して終了します。

次のコマンドを実行して、rootユーザーがクライアントコンピューターからサーバーにアクセスできるようにします。

sudo mysql -u root -p GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.71.20' IDENTIFIED BY 'root_password_here' WITH GRANT OPTION;

IPアドレスをリモートサーバーのアドレスに置き換え、root_password_here rootユーザーのパスワードを使用します。

構成設定を編集したら、ブラウザを開いて https:// clientPC / phpmyadminに移動します 、クライアントコンピュータのIPアドレスまたはホスト名を使用します。クライアントのphpMyAdminWebポータルからサーバーにリモートでログオンできるはずです。

Webサーバーをリロードします

構成ファイルに変更を加えるには、まずファイルの構文を確認してから、Webサーバーを正常に再起動またはリロードする必要があります。

次のコマンドを使用して、構成ファイルの構文を確認します。

apache2ctl configtest

次に、次のコマンドを実行してApacheWebサーバーをリロードします。

systemctl reload apache2

次のコマンドを実行して、サービスのステータスをチェックし、期待どおりに機能していることを確認します。

system status apache2

これで、次の画像に示すように、WebブラウザからphpMyAdminを表示できるようになります。

NGINXWebサーバー

phpMyAdminをインストールすると、次の画像に示すように、パッケージ構成画面が表示されます。

スペースバーを使用してapache2を選択します 、タブを押します OKを選択します 、次に Enterを押します 。

インストールプロセスは、dbconfig-commonを使用してデータベースforphpMyAdminを構成するかどうかの確認を求める別の構成画面が表示されるまで続きます。 。

はいを選択します 、次に Enterを押します 。

データベース管理者パスワードの入力を求められます。パスワードを入力し、タブを押します OKを選択します 、次に Enterを押します 。

次に、phpMyAdminアプリケーション自体のパスワードを入力し、タブを押します。 OKを選択します 、次に Enterを押します 。

OKを選択してパスワードを確認します 、次に Enterを押します 。

インストールプロセスが完了したら、次の場所にphpMyAdminconfigurationファイルを作成する必要があります: /etc/nginx/sites-enabled/phpmyadmin.conf

ファイルに次の情報を入力して保存します:

server {
   listen 80;
   server_name 95.138.162.233;
   root /var/www;

   location /phpmyadmin {
             root /usr/share/;
             index index.php;
             try_files $uri $uri/ =404;

             # auth_basic "phpMyAdmin Login";   # uncomment if using .htaccess & .htpasswd security

             # auth_basic_user_file /etc/nginx/.pma_pass;  # uncomment if using .htaccess & .htpasswd security


    location ~ ^/phpmyadmin/(doc|sql|setup)/ {
           deny all;
    }

    location ~ /phpmyadmin/(.+\.php)$ {
         fastcgi_pass unix:/run/php/php7.0-fpm.sock;
         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
         include fastcgi_params; include snippets/fastcgi-php.conf;
   }
  }
}

phpMyAdminファイルは/usr / share / phpmyadmin /にあります 上記の構成は、訪問者が https:// ip_address / phpmyadminに入るとNGINXに通知します。 ブラウザのアドレスバーに、 index.phpが表示されます。 / usr / share / phpmyadmin /のファイル ディレクトリを作成して表示します。

Webサーバーをリロードします

構成ファイルに変更を加えるには、まずファイルの構文を確認してから、Webサーバーを正常に再起動またはリロードする必要があります。

次のコマンドを使用して、構成ファイルの構文を確認します。

nginx -t

次に、次のコマンドを実行してApacheWebサーバーをリロードします。

RHELおよびCentOS6

service nginx graceful

RHElおよびCentOS7

systemctl reload nginx

次のコマンドを実行して、サービスのステータスをチェックし、期待どおりに機能していることを確認します。

RHELおよびCentOS6

service nginx status

RHELおよびCentOS7

systemctl status nginx

これで、次の画像に示すように、WebブラウザからphpMyAdminを表示できるようになります。

追加のセキュリティを構成する(オプション)

htpasswd HTTPユーザーの基本認証用のユーザー名とパスワードを格納するフラットファイルを作成および更新するために使用されます。 htpasswdの場合 ファイルにアクセスできず(出力ファイルに書き込んだり、更新するためにファイルを読み取ったりすることはできません)、エラーステータスを返し、変更を加えません。

次のセクションの手順を使用して、phpMyAdminを実行しているWebサーバーで基本認証を設定します。

ApacheWebサーバー

デフォルトでは、Apacheは.htaccessの使用を許可していません 。 .htaccessを許可するようにApacheを設定する必要があります ベースの認証。

テキストエディタでApache構成ファイルを開き、<Directory "/var/www/html">で始まるセクションを見つけます。 。

RHELおよびCentOSの場合、構成ファイルは /etc/httpd/conf/httpd.conf

Ubuntuオペレーティングシステムの場合、構成ファイルは /etc/apache2/conf/httpd.confです。 。

行をAllowOverride noneから変更します AllowOverride AuthConfigへ 。

:この行にAllowOverride Allと表示されている場合 、その後は変更は必要ありません。

ファイルを保存して閉じます。

htpasswd コマンドは、Apacheユーザーの基本認証用のユーザー名とパスワードを格納するファイルを作成および更新するために使用されます。次のコマンドを使用して、各ユーザーのユーザー名と暗号化されたパスワードを保存する隠しファイルを作成します。

htpasswd -c /etc/phpMyAdmin/.phpmyadmin-htpasswd username

ユーザーを作成したら、次のコマンドを実行して、 /etc/phpMyAdmin/.phpmyadmin-htpasswdのユーザー名とパスワードを確認します。 ファイル:

cat /etc/phpMyAdmin/.phpmyadmin-htpasswd

出力は次の例のようになります。

user1:$apr1$0r/2zNGG$jopiWY3DEJd2FvZxTnugJ/
user2:$apr1$07FYIyjx$7Zy1qcBd.B8cKqu0wN/MH1

次に、apacheを許可する必要があります .htpasswdを読み取るユーザー 次のコマンドを実行してファイルを作成します。

chown apache:apache /etc/phpMyAdmin/.phpmyadmin-htpasswd
chmod 0660 /etc/phpMyAdmin/.phpmyadmin-htpasswd

最後に、phpMyAdminconfigurationファイルから次の行のコメントを解除する必要があります。

# auth_basic "phpMyAdmin Login";   # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd;   # uncomment if using .htaccess & .htpasswd security

NGINXWebサーバー

htpasswd コマンドは、Apacheユーザーの基本認証用のユーザー名とパスワードを格納するファイルを作成および更新するために使用されます。次のコマンドを使用して、各ユーザーのユーザー名と暗号化されたパスワードを保存する隠しファイルを作成します。

htpasswd -c /etc/nginx/.pma_pass username

ユーザーを作成したら、次のコマンドを実行して、 /etc/nginx/.pma_passにユーザー名とパスワードを表示します。 ファイル:

cat /etc/nginx/.pma_pass

出力は次の例のようになります。

user1:$apr1$0r/2zNGG$jopiWY3DEJd2FvZxTnugJ/
user2:$apr1$07FYIyjx$7Zy1qcBd.B8cKqu0wN/MH1

次に、apacheを許可する必要があります .htpasswdを読み取るユーザー 次のコマンドを実行してファイルを作成します。

chown nginx:nginx /etc/nginx/.pma_pass
chmod 0660 /etc/nginx/.pma_pass

最後に、phpMyAdminconfigurationファイルから次の行のコメントを解除する必要があります。

# auth_basic "phpMyAdmin Login";   # uncomment if using .htaccess & .htpasswd security
# auth_basic_user_file /etc/phpMyAdmin/.phpmyadmin-htpasswd;   # uncomment if using .htaccess & .htpasswd security

Linux
  1. Debian10にOpenVPNサーバーをインストールして設定する方法

  2. RockyLinux8にElasticsearchをインストールして構成する

  3. Ubuntu20.04にOpenVPNサーバーをインストールして構成する方法

  1. Ubuntu18.04LTSにPydioをインストールして構成する方法

  2. Debian11にRedis6.0をインストールして設定する方法

  3. CentOSにDovecotをインストールして構成します

  1. CentOS8にMattermostをインストールして構成する方法

  2. CentOS8にVNCサーバーをインストールして構成する方法

  3. Ubuntu20.04にOrangeScrumをインストールして構成する方法