ステータス:非推奨

この記事では、サポートされなくなったバージョンのUbuntuについて説明します。 現在Ubuntu12.04を実行しているサーバーを運用している場合は、サポートされているバージョンのUbuntuにアップグレードまたは移行することを強くお勧めします。

理由:
Ubuntu 12.04は2017年4月28日に保守終了(EOL)に達しました and no longer receives security patches or updates. This guide is no longer maintained.

代わりに参照してください:
このガイドは参照として役立つ場合がありますが、他のUbuntuリリースでは機能しない場合があります。 可能な場合は、使用しているUbuntuのバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。

序章

PhpMyAdminは、視覚的にわかりやすい方法でMySQLデータベースを簡単に管理するために使用されるWebベースのフロントエンドです。 このソフトウェアをセットアップして、シェルアクセスなしでVPS上のデータをリモートで管理できます。

phpMyAdminは便利ですが、正しく設定されていないと安全でない場合もあります。 このガイドでは、SSLとアクセス制限を使用してUbuntu 12.04マシンのLAMP(Linux、Apache、MySQL、およびPHP5)スタックにphpMyAdminをインストールする方法について説明します。

初期設定

このガイドは、Ubuntu 12.04サーバーへのrootアクセス権があり、LAMPがすでに構成されていることを前提としています。 まだ’を設定していない場合は、このガイドに従って、Ubuntu 12.04 にApache、MySQL、およびPHPをインストールしてください。

サーバーにログインし、準備ができたら続行します。

UbuntuでPhpMyAdminを設定する方法

Ubuntu 12.04では、デフォルトのリポジトリにphpMyAdminが含まれています。 次のコマンドを使用してインストールします。

sudo apt-get install phpmyadmin

インストール時に設定するサーバーとして「Apache2」を選択します。 「はい」を選択して、phpMyAdminデータベースを自動的に構成できるようにします。

インストール時にrootMySQLユーザーに設定したパスワードを入力し、ログインに使用するphpMyAdminプロセスのパスワードを割り当てます。

PhpMyAdminをロードするようにApacheを設定する

アプリケーションへのアクセスを許可するために、phpMyAdmin構成を入手するようにApacheに指示します。

root権限でメインのApache設定ファイルを編集します。

sudo nano /etc/apache2/apache2.conf

ファイルの一番下までスクロールし、次のディレクティブを入力して、ApacheにphpMyAdmin固有の構成ファイルを読み取らせます。

Include /etc/phpmyadmin/apache.conf

変更を有効にするためにサーバーを再起動します。

sudo service apache2 restart

次のようなメッセージが表示される場合があります。

[warn] The Alias directive in /etc/phpmyadmin/apache.conf at line 3 will probably never match because it overlaps an earlier Alias.
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

これらは単なる警告であり、無視しても問題ありません。

PhpMyAdminの.htaccessを設定する方法

phpMyAdminを保護するための最初のステップは、.htaccess制限を設定することです。 これには、phpMyAdminインターフェイスにアクセスする前にパスワードログインが必要になります。

まず、.htaccessファイルを使用できるようにphpMyAdminapache構成を構成します。 root権限でphpMyAdminapache構成ファイルを開きます。

sudo nano /etc/phpmyadmin/apache.conf

「DirectoryIndexindex.php」という行の下に、「AllowOverrideAll」という行を挿入します。

<Directory /usr/share/phpmyadmin>
	Options FollowSymLinks
	DirectoryIndex index.php
	AllowOverride All
	. . .

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

次に、phpMyAdmin固有の.htaccessファイルを作成します。

sudo nano /usr/share/phpmyadmin/.htaccess

次のテキストをファイルに挿入します。

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

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

この変更により、サイトは「/etc/phpmyadmin/.htpasswd」で有効なログイン資格情報のリストを検索します。

次のコマンドを使用して、そのファイルとログインアカウントを作成できます。 使用するユーザー名に置き換えます。

sudo htpasswd -c /etc/phpmyadmin/.htpasswd user_name

新しいユーザーのパスワードを選択するように求められます。

次に、Apacheを再起動して、アクセス制限を有効にします。

sudo service apache2 restart

PhpMyAdminでSSLを設定する方法

Webインターフェイスとサーバー間で機密データを渡すため、データがプレーンテキストで送信されないようにSSLを設定する必要があります。

まず、ApacheにSSLサポートを有効にするように指示し、サーバーを再起動して次のコマンドで変更を実装します。

sudo a2enmod ssl
sudo service apache2 restart

SSL証明書を保存するディレクトリを作成してから、次のコマンドを使用してキーと証明書を作成します。

sudo mkdir /etc/apache2/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

これにより、365日間有効な証明書が作成されます。 いくつかの質問があります。 できるだけよく記入してください。

あなたがしなければならない正しく答えなければならない質問は「一般名」です。 このフィールドには、ドメイン名またはサーバーのIPアドレスを使用します。

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:NYC
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Awesome Inc
Organizational Unit Name (eg, section) []:Dept of Merriment
Common Name (e.g. server FQDN or YOUR name) []:example.com                  
Email Address []:[email protected]

SSL証明書を使用するようにApacheを設定する

Now that you have created an SSL certificate, you need to tell Apache to use SSL.  Open the default virtual host config file with root privileges:
sudo nano /etc/apache2/sites-available/default

「への宣言」 “、これはデフォルトのSSLポートです。

その変更後、SSL証明書の作成時に使用したドメイン名またはIPアドレスを指定するVirtualHost定義内に「ServerName」セクションを追加し、その後に「:443」を追加します。

<VirtualHost *:443>
	ServerAdmin webmaster@localhost
	ServerName example.com:443
	. . .

ファイルを閉じる前に、「」の直前に次の行を追加します。