اوبونتودبیانسیستم عامل لینوکسمقالات وب

چگونه PhpPgAdmin را بر روی دبیان ۹، اوبونتو ۱۶٫۰۴ ، لینوکس مینت ۱۸ نصب کنیم؟

همانطور که می دانید PhpPgAdmin یک مدیریتی مبتنی بر وب برای مدیریت پایگاه داده PostgreSQL است که شباهت زیادی به phpMyAdmin دارد.  اگر قبلا با phpMyAdmin کار کرده  باشید درک عملکرد phpPgAdmin نیز برایتان ساده و آسان خواهد بود. در این مقاله قصد داریم به این ابزار مدیریتی بپردازیم. پس همراه وب باشید.

نصب PostgreSQL:

قبل از هر کاری باید ببینیم سرویس  PostgreSQL بر روی سرور کار می کند یا خیر. برای اینکار دستور زیر را اجرا کنید:

 

sudo systemctl status postgresql

خروجی این دستور:

postgresql.service – PostgreSQL RDBMS

   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)

   Active: active (exited) since Thu 2017-09-21 11:15:41 CDT; 2 days ago

 Main PID: 829 (code=exited, status=0/SUCCESS)

    Tasks: 0 (limit: 4915)

   CGroup: /system.slice/postgresql.service

 

Sep 21 11:15:41 mydebian systemd[1]: Starting PostgreSQL RDBMS…

Sep 21 11:15:41 mydebian systemd[1]: Started PostgreSQL RDBMS.

نصب phpPgAdmin:

این ابزار در مخزن اصلی در دسترس افراد قرار دارد. بناین می توانید به کمک دستور زیر آن را نصب کنید:

sudo apt-get install -y  phppgadmin apache2

پیکربندی PostgreSQL:

این گزینه تنها در loopback adapter(127.0.0.1) listen می کند. برخی از اوقات، ممکن است نیاز به متصل کردن اپلیکیشن به پایگاه داده باشد.  در چنین شرایطی نیاز داریم PostgreSQL را به گونه ای پیکربندی کنیم که بر روی تمامی آداپتورها گوش کند:

nano /etc/postgresql/9.6/main/postgresql.conf

خط زیر را پیدا کنید:

#listen_addresses = ‘localhost'

 و به خط زیر تغییر دهید. ۱۹۲٫۱۶۸٫۱٫۵ را به آی پی آدرس خود تغییر دهید:

listen_addresses = ‘192.168.1.5'

 

به طور پیش فرض PostgreSQL تنها تایید هویت را از لوکال قبول می کند. اگر می خواهید این گزینه را از دستگاه خارجی متصل کنید باید فایل pg_hba.conf را ویرایش نمایید:

sudo nano /etc/postgresql/9.6/main/pg_hba.conf

مقادیر را بر اساس نیاز خود وارد کنید و مطمئن شوید پسورد md5 را می پذیرد:

# IPv4 local connections:

host    all             all             ۱۲۷٫۰٫۰٫۱/۳۲            md5

host    all             all             ۱۹۲٫۱۶۸٫۱٫۰/۲۴         md5

پیکربندی آپاچی:

به خاطر محدودیت های موجود، phpPgAdmin تنها بر روی لوکال هاست در دسترس است. اگر می خواهید آن را از طریق دستگاه خارجی مورد استفاده قرار دهید باید فایل پیکربندی آپاچی را در آن ویرایش کنید:

sudo nano /etc/apache2/conf-enabled/phppgadmin.conf

فایل config پیش فرض ظاهری شبیه کد زیر خواهد داشت:

Alias /phppgadmin /usr/share/phppgadmin

DirectoryIndex index.php

AllowOverride None

# Only allow connections from localhost:

Require local

 php_flag magic_quotes_gpc Off

 php_flag track_vars On

 #php_value include_path .

 AddType application/x-httpd-php .php

 Action application/x-httpd-php /cgi-bin/php

 AddType application/x-httpd-php .php

 Action application/x-httpd-php /cgi-bin/php

بعد از تغییر، این کد شبیه  کد زیر خواهد بود:

Alias /phppgadmin /usr/share/phppgadmin

DirectoryIndex index.php

AllowOverride None

# Only allow connections from localhost:

# Require local

Require all granted

 php_flag magic_quotes_gpc Off

 php_flag track_vars On

 #php_value include_path .

 AddType application/x-httpd-php .php

 Action application/x-httpd-php /cgi-bin/php

 AddType application/x-httpd-php .php

 Action application/x-httpd-php /cgi-bin/php

حالا سرویس را ارت کنید.

sudo systemctl restart postgresql

sudo systemctl restart apache2

دسترسی به phpPgAdmin:

 حالا می توانید از طریق خود به این گزینه دسترسی پیدا کنید:

http://your-ip-address/phppgadmin

یا:

http://localhost/phppgamin

 

اگر می خواهید PostgreSQL instance های متعددی را از طریق یک کنسول واحد مدیریت کنید باید مراحل زیر را مدنظر داشته باشید. در غیر اینصورت می توانید از این مرحله عبور کنید.

فایل /etc/phppgadmin/config.inc.php  را ویرایش کنید:

sudo nano /etc/phppgadmin/config.inc.php

 

حالا PostgreSQL instances خود را اینجا اضافه کنید:

 

        // Display name for the server on the login screen

        $conf[‘servers'][0][‘desc'] = ‘PostgreSQL – Debian';

        $conf[‘servers'][1][‘desc'] = ‘PostgreSQL – Ubuntu';

        // Hostname or IP address for server.  Use ” for UNIX domain socket.

        // use ‘localhost' for TCP/IP connection on this computer

        $conf[‘servers'][0][‘host'] = ‘localhost';

        $conf[‘servers'][1][‘host'] = ‘192.168.1.6';

        // Database port on server (5432 is the PostgreSQL default)

        $conf[‘servers'][0][‘port'] = 5432;

        $conf[‘servers'][1][‘port'] = 5432;

        // Database SSL mode

        // Possible options: disable, allow, prefer, require

        // To require SSL on older servers use option: legacy

        // To ignore the SSL mode, use option: unspecified

        $conf[‘servers'][0][‘sslmode'] = ‘allow';

        $conf[‘servers'][1][‘sslmode'] = ‘allow';

 

 

به خاطر داشته باشید که phpPgAdmin به افرادی که نام ی یا پسورد خاصی ندارند اجازه لاگین نمی دهد. برای override کردن این گزینه امنیتی، آن را به صورت زیر تغییر دهید:

$conf[‘extra_login_security'] = false;

Rate this post
برچسب ها

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن