PostgreSQL(ほとんどの人はPostgresと呼んでいます)は、高度なオブジェクトリレーショナルデータベース管理システム(ORDBMS)です。 Postgresは18年以上の活発な開発を行っているオープンソースのデータベースサーバーであり、Postgresをエンタープライズクラスのアプリケーションに最適な選択肢にしています。
Postgresqlはクロスプラットフォームであり、Linux、OSX、Windows、BSDファミリーなどの多くのオペレーティングシステムで動作します。データベースのワークロードが大きいアプリケーションがある場合は、これが正しい選択です。 Postgresは、Yahoo、Instagram、Disqusなどの多くの大規模な組織で使用されています。 Postgresは、サービスとしてのソフトウェア(SaaS)としても提供されています。 HerokuとAWS(アマゾンウェブサービス)。
このチュートリアルでは、OpenSUSELeapをオペレーティングシステムとして使用してPostgresを自分のサーバーにインストールする方法を紹介します。次に、phpPgAdminをインストールして、WebブラウザからPostgresデータベースを管理できるようにします。
前提条件
- OpenSUSE Leap 42.1
- root権限
openSUSEリポジトリには、2つのバージョンのPostgresが含まれています。このステップでは、zypperコマンドを使用してPostgreSQL9.4をopenSUSEにインストールします。
zypperを使用してPostgreSQLをインストールします:
postgresql94のzypperpostgresql94-contribpostgresql94-server
systemctlを使用してpostgresqlを開始します:
systemctl start postgresql
このステップでは、postgresユーザーのパスワードを設定します。 Postgresqlは、基本認証と承認に「ロール」と呼ばれるLinuxユーザーシステムに似た概念を使用しています。デフォルトでは、postgresqlはpostgresqlサーバーを管理するために「postgres」という名前の新しいユーザーを作成します。
ターミナルからユーザーpostgresにログインして、postgresqlデータベースを構成するための最初のステップを実行しましょう。
sudo su
su --postgres
次に、psqlコマンドを使用します。 psqlはPostgreSQLのコマンドラインフロントエンドであり、そこからPostgreSQLクエリを直接実行できます。
psql
psqlシェルから、以下の「password」コマンドを使用して「postgres」ユーザーのパスワードを変更できます。
\ password postgres
新しいパスワード:
postgresユーザーの新しいパスワードを入力してください。
このステップでは、スーパーユーザー権限を持つ新しいユーザー/ロールを作成し、新しいデータベースを作成して、ユーザーアクセスを許可します。
新しいユーザーを作成するには、postgresユーザーとしてログインしてから、次のコマンドを使用して新しい役割とデータベースを作成する必要があります。
su --postgres
createuser -s nano
createdb nano_db
注:
-sオプションは、新しいユーザーにスーパーユーザー権限を与えるために使用されます。
nanoは新しいユーザー名です。
nano_dbは新しいデータベース名です。
次に、postgresqlシェルpsqlにログインし、新しいロールにパスワードを与えて、データベースアクセスを許可します。
psql
暗号化されたパスワードを使用してユーザーnanoを変更します'[メール保護]';
データベースnano_dbのすべての権限をnanoに付与します;
ここでは、ユーザーnanoのパスワード「[emailprotected]」を使用し、データベースnano_dbに権限を付与します。
このユーザーは、デフォルトのユーザーやパスワードを持たないユーザーがphpPgAdminからpostgresqlにログインすることを許可しないため、WebベースのphpPgAdminインターフェースからpostgresqlにログインするために使用されます。
このステップでは、パブリックIPをリッスンするようにPostgreSQLを構成して、デスクトップコンピューターからリモートでDBモデリングツールを使用してアクセスできるようにします。Postgresにリモートでアクセスしたくない場合は、このステップをスキップできます。
postgresqlディレクトリ「/var/ lib / pgsql /」に移動し、メインの構成ファイル「postgresql.conf」をお気に入りのエディタで編集します。
cd / var / lib / pgsql /
cd data /
vim postgresql.conf
59行目のコメントを外し、値をlocalhostから「*」に変更します。
行63のコメントを解除して、デフォルトのポートを構成します。
listen_addresses ='*'
port =5432
ファイルを保存してエディタを終了します。
WebアプリケーションphpPgAdminからPostgreSQLデータベースへのアクセスを許可するには、pg_hba.confファイルを編集し、いくつかの構成設定を変更する必要があります。
「pg_hba.conf」ファイルをvimで編集します:
vim pg_hba.conf
行の最後で、認証の構成をmd5に変更します。
地元すべてすべてのMD5ホストすべてすべて127.0.0.1/32 md5の
ホスト/>
#TYPEデータベース・ユーザーの住所メソッドすべてすべて::1/128 MD5
PgAdmin3を使用するなど、サーバーの外部からの新しい接続を許可する場合は、「ホスト」レコードをさらに追加できます。デスクトップのIP用。
保存して終了します。
次に、systemctlコマンドを使用してPostgreSQLサービスを再起動します。
systemctl restart postgresql
phpPgAdminは、PostgreSQLデータベースを管理するためのWebベースのアプリケーションです。これはPHPに基づいており、データベースを管理し、ロールを作成するためのGUIを提供します。このステップでは、phpPgAdminをインストールします。これは、Webブラウザーからアクセスできるため、Webサーバーとしてapache2を使用します。
次のzypperコマンドを使用してphpPgAdminをインストールします。
phpPgAdminのzypper
このコマンドは、依存関係のPHPとApacheWebサーバーを自動的にインストールします。
次に、phpPgAdminディレクトリに移動し、構成ファイルconfig.inc.phpを編集します。
cd / etc / phpPgAdmin /
vim config.inc.php
ホスト構成行18で、値を「localhost」に設定します。
$ conf ['servers'] [0] ['host'] ='localhost';
「postgres」または「root」という名前のユーザーがphpPgAdminを使用してpostgresqlにログインできるようにする場合は、追加のセキュリティをfalseに設定できますが、falseに設定することはお勧めしません。 93行目を確認してください。
$ conf ['extra_login_security'] =true;
保存して終了します。
次に、phpPgAdminで必要なPHPとバージョン拡張機能をapacheでアクティブ化します。
a2enmod php5
a2enmodバージョン
次に、systemctlコマンドを使用してすべてのサービスを再起動します。
systemctl restart postgresql
systemctl restart apache2
次のURLを使用してWebブラウザからphpPgAdminにアクセスします:
http://192.168.1.101/phpPgAdmin/
ユーザーnanoとパスワード「[メール保護]」でログインします。
ユーザー「postgres」と正しいパスワードでログインした場合、それは許可されません。