Ubuntu12.04にphpPgAdminをインストールして使用する方法
ステータス:非推奨
この記事では、サポートされなくなったバージョンの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のバージョン用に作成されたガイドを使用することを強くお勧めします。 ページ上部の検索機能を使用して、より新しいバージョンを見つけることができます。
phpPgAdminについて
phpPgAdminは、postgresqlシステムにGUIインターフェイスを提供するphpベースのWebアプリケーションです。 phpMyAdminと同様の機能を実行し、ユーザーがMySQLのビジュアルプログラムでデータベース情報を操作できるようにします。
ステップ1-phpPgAdminをインストールします
まず、apt-getリポジトリが最新であることを確認します。
sudo apt-get update
プロセスが完了したら、postgresql、役立つ追加の依存関係、およびphpgadminをインストールします。 インストール中に、phpPgAdminは必要なphpおよびapacheパッケージもインストールします。
sudo apt-get install postgresql postgresql-contrib phppgadmin
Apacheを起動します。
sudo service apache2 start
ステップ2—セキュリティ設定を調整する
phpgadminをインストールすると、 youripaddress /phpPgAdminにアクセスしてアクセスできる場合があります。
次のコマンドを実行して、サーバーのIPアドレスを明らかにすることができます。
ifconfig eth0 | grep inet | awk '{ print $2 }'
ただし、phpPgAdminページにアクセスしようとすると、禁止された403エラーが発生する場合があります。
このページにアクセスできるようにするには、すべての訪問者がこのページを利用できるようにする必要があります(心配しないでください。次のステップでロックします)。
sudo nano /etc/apache2/conf.d/phppgadmin
ファイル内で次のセクションを見つけて、「すべてから許可」という行のコメントを外します。 セクションは次のようになります。
order deny,allow deny from all allow from 127.0.0.0/255.0.0.0 ::1/128 allow from all
.htaccess認証を設定します
.htaccessファイルを許可すると、phpPgAdminログインページにアクセスするためにもログインが必要なネイティブユーザーの設定に進むことができます。
まず、サイトの構成ファイルの.htaccess認証セクションを作成します。 たとえば、デフォルトのサイトを使用します。
sudo nano /etc/apache2/sites-enabled/000-default
ユーザー認証を設定してフォローアップします。 仮想ホストファイル内に新しいセクションを作成し、次の情報を次の場所に貼り付けます。
<Directory "/usr/share/phpPgAdmin"> AuthUserFile /etc/phpPgAdmin/.htpasswd AuthName "Restricted Area" AuthType Basic require valid-user </Directory>
以下に、各行の簡単な説明を示します
- AuthUserFile:この行は、パスワードファイル(次の手順で作成します)へのサーバーパスを指定します。
- AuthType:これは、パスワードのチェックに使用される認証のタイプを指します。 パスワードはHTTPを介してチェックされ、キーワードBasicは変更しないでください。
- AuthName:これは、パスワードプロンプトに表示されるテキストです。 ここには何でも入れることができます。
- Require valid-user:この行は、パスワードファイルで定義されたユーザーのみがphpPgAdminログイン画面にアクセスできることを.htaccessファイルに通知します。
htpasswdファイルを作成します
次に、有効なユーザー情報を作成します。
htpasswdファイルを作成することから始めます。 htpasswdコマンドを使用して、ブラウザからアクセスできない限り、選択したディレクトリにファイルを配置します。 パスワードファイルには任意の名前を付けることができますが、慣例では.htpasswdという名前を付けます。
sudo htpasswd -c /etc/phpPgAdmin/.htpasswd username
パスワードの入力と確認を求めるプロンプトが表示されます。
ユーザー名とパスワードのペアが保存されると、パスワードがファイルで暗号化されていることがわかります。
apacheを再起動して終了します。
sudo service apache2 restart
phpPgAdminへのアクセス
phpPgAdminは、許可されたユーザーのみがログインページにアクセスできるようになるため、はるかに安全になります。 youripaddress / phpPgAdminにアクセスすると、のような画面が表示されます。
生成したユーザー名とパスワードを入力します。 ログイン後、Postgresのユーザー名とパスワードを使用してphpPgAdminにアクセスできます。
Postscript-Postgresユーザーを作成する方法
認証構成ファイルで認証方法を変更します。
sudo nano /etc/postgresql/9.1/main/pg_hba.conf
変更は次の行で行うことができます。
# "local" is for Unix domain socket connections only local all all md5
ユーザーの作成を開始するには、最初にデフォルトのスーパーユーザーに切り替えて、ユーザーがログインするデータベースを作成します。
sudo su - postgres
続いて、テーブルを保存する新しいデータベースを作成します。
createdb newdb
データベースは作成されていますが、データベースにアクセスできる唯一のユーザーはデフォルトのpostgresユーザーです。 新しいユーザーを作成することで、他のユーザーがこのデータベースにアクセスして操作できるようにすることができます。
デフォルトのスーパーユーザーとしてログインすると、先に進んでPostgreSQLシステムにさらにロールを作成できます。
ユーザーにパスワードを設定するには、createuserコマンドにオプション-Pを追加します。
createuser -P
Enter name of role to add: newuser Enter password for new role: Enter it again: Shall the new role be a superuser? (y/n) y Password: enter the superuser’s password here
その後、いくつかの方法のいずれかでpostgresにログインできます。
ピアIDを使用してログインしている場合は、次のコマンドを入力して、ログインしているデータベースを指定するだけです。
psql newdb
md5 IDを使用してログインする場合は、ログインするユーザーを次のように含めることができます。
psql –U newuser -W newdb