Ubuntu12.04VPSでPhpMyAdminを使用してSSL証明書を設定する方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンの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証明書の作成時に使用したドメイン名またはIPアドレスを指定するVirtualHost定義内に「ServerName」セクションを追加し、その後に「:443」を追加します。
<VirtualHost *:443> ServerAdmin webmaster@localhost ServerName example.com:443 . . .
ファイルを閉じる前に、「」の直前に次の行を追加します。