phpPgAdmin — это веб-программное обеспечение, которое позволяет разработчикам, системным администраторам и обычным пользователям легко управлять своей базой данных PostgreSQL через браузер. PostgreSQL — это объектно-реляционная система управления базами данных.

phpPgAdmin написан на PHP и основан на популярном интерфейсе phpMyAdmin, изначально написанном для администрирования MySQL. В этом сообщении блога будут установлены PHP, PostgreSQL и веб-сервер Apache для создания файла конфигурации Apache для phpPgAdmin.

Предварительные условия

  • Сервер с Debian 12 в качестве ОС
  • Привилегии пользователя: пользователь root или не root с привилегиями sudo.

Предварительная установка

Прежде чем продолжить, нам необходимо убедиться, что наша система обновлена ​​и установлены необходимые пакеты, чтобы мы могли запустить следующее:

sudo apt-get update -y && sudo apt-get upgrade -y

1. Установите PHP

PHP8 с расширениями и может быть установлен с помощью следующих команд:

sudo apt-get install php8.1 php8.1-cli php8.1-common php8.1-imap php8.1-redis php8.1-snmp php8.1-xml php8.1-zip php8.1-mbstring php8.1-curl libapache2-mod-php php8.1-mysql -y

Чтобы проверить установленную версию PHP, выполните команду php -v.

root@host:~# php -v
PHP 8.1.2-1ubuntu2.13 (cli) (built: Jun 28 2023 14:01:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2-1ubuntu2.13, Copyright (c), by Zend Technologies

2. Установите PostgreSQL

Чтобы установить PostgreSQL в Debian 12, выполните следующую команду:

sudo apt install postgresql postgresql-client

После установки запустите и включите службу PostgreSQL.

sudo systemctl enable postgresql.service && sudo systemctl start postgresql.service

Проверьте, запущена ли служба:

sudo systemctl status postgresql.service

Вы должны получить следующий вывод:

root@host:~# sudo systemctl status postgresql.service
● postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Tue 2023-08-08 14:29:49 CDT; 15s ago
   Main PID: 114670 (code=exited, status=0/SUCCESS)
        CPU: 2ms

Aug 08 14:29:49 host.test.vps systemd[1]: Starting PostgreSQL RDBMS...
Aug 08 14:29:49 host.test.vps systemd[1]: Finished PostgreSQL RDBMS.

3. Установите веб-сервер Apache.

Чтобы установить веб-сервер Apache, выполните следующую команду:

sudo apt install apache2 -y

После установки запустите и включите службу.

sudo systemctl enable apache2.service && sudo systemctl start apache2.service

Проверьте, запущена ли служба:

sudo systemctl status apache2.service

Вы должны получить следующий вывод:

root@host:~# sudo systemctl status apache2.service
● apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2023-08-08 14:47:17 CDT; 2s ago
       Docs: https://httpd.apache.org/docs/2.4/
   Main PID: 100681 (apache2)
      Tasks: 7 (limit: 4557)
     Memory: 17.2M
        CPU: 17.842s
     CGroup: /system.slice/apache2.service
             ├─100681 /usr/sbin/apache2 -k start
             ├─111025 /usr/sbin/apache2 -k start

4. Установите phpPgAdmin.

Чтобы установить phpPgAdmin, выполните следующую команду:

sudo apt install phppgadmin php-pgsql -y

После завершения установки вам нужно открыть файл конфигурации phpPgAdmin /etc/phppgadmin/config.inc.php в нашем любимом редакторе. Найдите строку выше и убедитесь, что она выглядит так:

$conf['owned_only'] = true;

Сохраните файл и закройте его.

5. Создайте файл конфигурации Apache.

Сейчас мы находимся на последнем этапе. Перейдите в следующий каталог Apache и создайте файл конфигурации для phpPgAdmin.

cd /etc/apache2/conf-enabled/
touch phppgadmin.conf

Откройте файл, вставьте следующие строки кода, сохраните файл и закройте его.

Alias /phppgadmin /usr/share/phppgadmin

<Directory /usr/share/phppgadmin>
    <IfModule mod_dir.c>
        DirectoryIndex index.php
    </IfModule>
    AllowOverride None

    # Only allow connections from localhost:
    #Require local

    <IfModule mod_php.c>
        php_flag magic_quotes_gpc Off
        php_flag track_vars On
        #php_value include_path .
    </IfModule>
    <IfModule !mod_php.c>
        <IfModule mod_actions.c>
            <IfModule mod_cgi.c>
                AddType application/x-httpd-php .php
                Action application/x-httpd-php /cgi-bin/php
            </IfModule>    
            <IfModule mod_cgid.c>
                AddType application/x-httpd-php .php
                Action application/x-httpd-php /cgi-bin/php
            </IfModule>
        </IfModule>
    </IfModule>
</Directory>

Проверьте синтаксис:

apachectl -t

Вы должны получить следующий вывод:

root@vps:~# apachectl -t
Syntax OK

Если синтаксис в порядке, перезапустите службу Apache.

systemctl reload apache2.service

После перезапуска службы Apache вы сможете получить доступ к phpPgAdmin по адресу http://yourdomain.com/phppgadmin.

Вот и все! Вы успешно установили phpPgAdmin в Debian 12.

Если вам понравился этот пост о том, как использовать phpPgAdmin на Debian 12, поделитесь им с друзьями в социальных сетях или просто оставьте ответ ниже. Спасибо.