Как установить pgAdmin 4 в CentOS 8 Linux

Как установить pgAdmin 4 в CentOS 8 Linux

 

PostgreSQL — популярная мощная объектно-реляционная база данных с открытым исходным кодом, активно развивающаяся более 15 лет и обладающая хорошей репутацией в области надежности. pgAdmin — это ведущая многофункциональная платформа для администрирования и разработки PostgreSQL с открытым исходным кодом, работающая в Linux, Unix, Mac OS X и Windows. Из этого туториала Вы узнаете, как установить pgAdmin 4 в CentOS 8 Linux.

Особенности pgAdmin 4

Возможности pgAdmin 4:

  • автоматическое обнаружение и поддержка объектов, обнаруженных во время выполнения
  • Live SQL Query Tool с прямым редактированием данных
  • поддержка административных запросов
  • редактор SQL с подсветкой синтаксиса
  • переработанный графический интерфейс
  • мощные диалоги управления и инструменты для решения общих задач
  • отзывчивое, контекстно-зависимое поведение
  • вспомогательные сообщения об ошибках
  • полезные советы
  • интерактивная справка и информация об использовании диалогов и инструментов pgAdmin.

Шаг 1. Включите репозиторий EPEL

Добавьте репозиторий EPEL, используя наше руководство ниже.

Включить EPEL в CentOS 8

Не забудьте включить репозиторий PowerTools, так как он содержит необходимые нам пакеты..

sudo dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf config-manager --set-enabled PowerTools

Шаг 2: Установите сервер базы данных PostgreSQL

Перед установкой pgAdmin 4 в вашей системе должен быть установлен PostgreSQL. Ниже приведены руководства, которые помогут вам установить PostgreSQL:

Установите PostgreSQL 13 на CentOS 8

Установите PostgreSQL 12 на CentOS 8

Как установить PostgreSQL 11 на CentOS 8

Шаг 3. Установите pgAdmin4 в CentOS 8

После установки PostgreSQL вы можете начать установку pgAdmin 4 на CentOS 8. Вам необходимо добавить репозиторий PostgreSQL RPM, что должно было быть сделано при установке PostgreSQL.

sudo dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Затем установите пакет pgAdmin:

sudo dnf -qy module disable postgresql
sudo dnf install pgadmin4

Подтвердите запрос на установку, нажав клавишу « y ».

Dependencies resolved.
==================================================================================================================================================================
 Package                                            Architecture          Version                                                Repository                  Size
==================================================================================================================================================================
Installing:
 pgadmin4                                           x86_64                4.27-1.rhel8                                           pgdg-common                 17 k
Installing dependencies:
 apr                                                x86_64                1.6.3-9.el8                                            AppStream                  125 k
 apr-util                                           x86_64                1.6.1-6.el8                                            AppStream                  105 k
 centos-logos-httpd                                 noarch                80.5-2.el8                                             BaseOS                      24 k
 httpd                                              x86_64                2.4.37-21.module_el8.2.0+494+1df74eae                  AppStream                  1.7 M
 httpd-filesystem                                   noarch                2.4.37-21.module_el8.2.0+494+1df74eae                  AppStream                   36 k
 httpd-tools                                        x86_64                2.4.37-21.module_el8.2.0+494+1df74eae                  AppStream                  103 k
 libsodium                                          x86_64                1.0.18-2.el8                                           epel                       162 k
 mailcap                                            noarch                2.1.48-3.el8                                           BaseOS                      39 k
 mod_http2                                          x86_64                1.11.3-3.module_el8.2.0+486+c01050f0.1                 AppStream                  156 k
 pgadmin4-docs                                      noarch                4.27-1.rhel8                                           pgdg-common                 48 M
 pgadmin4-python3-Flask-Mail                        noarch                0.9.1-4.rhel8.1                                        pgdg-common                 24 k
 pgadmin4-python3-alembic                           noarch                0.9.7-4.rhel8                                          pgdg-common                268 k
 pgadmin4-python3-dateutil                          noarch                1:2.8.0-1.rhel8                                        pgdg-common                290 k
 pgadmin4-python3-flask                             noarch                1:1.0.2-1.rhel8                                        pgdg-common                153 k
 pgadmin4-python3-flask-babelex                     noarch                0.9.3-1.rhel8.1                                        pgdg-common                 23 k
 pgadmin4-python3-flask-compress                    noarch                1.4.0-1.rhel8                                          pgdg-common                 15 k
 pgadmin4-python3-flask-gravatar                    noarch                0.5.0-1.rhel8.1                                        pgdg-common                 17 k
 pgadmin4-python3-flask-login                       noarch                0.4.1-1.rhel8                                          pgdg-common                 34 k
 pgadmin4-python3-flask-migrate                     noarch                2.4.0-1.rhel8                                          pgdg-common                 28 k
 pgadmin4-python3-flask-paranoid                    noarch                0.2-1.rhel8.1                                          pgdg-common                 15 k
 pgadmin4-python3-flask-principal                   noarch                0.4.0-14.rhel8.1                                       pgdg-common                 20 k
 pgadmin4-python3-flask-security-too                noarch                3.3.3-1.rhel8                                          pgdg-common                144 k
 pgadmin4-python3-flask-sqlalchemy                  noarch                2.3.2-1.rhel8.1                                        pgdg-common                109 k
 pgadmin4-python3-flask-wtf                         noarch                0.14.2-1.rhel8.1                                       pgdg-common                 59 k
 pgadmin4-python3-paramiko                          noarch                2.6.0-3.rhel8                                          pgdg-common                288 k
 pgadmin4-python3-passlib                           noarch                1.7.2-1.rhel8                                          pgdg-common                757 k
 pgadmin4-python3-psutil                            x86_64                5.7.0-1.rhel8                                          pgdg-common                396 k
 pgadmin4-python3-simplejson                        x86_64                3.16.0-1.rhel8                                         pgdg-common                278 k
 pgadmin4-python3-six                               noarch                1.12.0-3.rhel8                                         pgdg-common                 35 k
 pgadmin4-python3-speaklater                        noarch                1.3-3.rhel8.1                                          pgdg-common                 15 k
 pgadmin4-python3-sqlalchemy                        x86_64                1.2.18-1.rhel8                                         pgdg-common                3.9 M
 pgadmin4-python3-sqlparse                          noarch                0.3.0-1.rhel8                                          pgdg-common                 81 k
 pgadmin4-python3-sshtunnel                         noarch                0.1.4-1.rhel8                                          pgdg-common                 45 k
 pgadmin4-python3-werkzeug                          noarch                0.15.4-1.rhel8                                         pgdg-common                464 k
 pgadmin4-python3-wtforms                           noarch                2.2.1-1.rhel8                                          pgdg-common                184 k
 pgadmin4-pytz                                      noarch                2020.1-1.rhel8                                         pgdg-common                 54 k
 pgadmin4-web                                       noarch                4.27-1.rhel8                                           pgdg-common                6.3 M
 policycoreutils-python-utils                       noarch                2.9-9.el8                                              BaseOS                     251 k
 python3-bcrypt                                     x86_64                3.1.6-2.el8.1                                          epel                        44 k
 python3-blinker                                    noarch                1.4-4.el8                                              epel                       114 k
 python3-click                                      noarch                6.7-8.el8                                              AppStream                  131 k
 python3-flask                                      noarch                1:0.12.2-4.el8                                         AppStream                  141 k
 python3-itsdangerous                               noarch                0.24-14.el8                                            AppStream                   31 k
 python3-ldap3                                      noarch                2.8.1-2.el8                                            epel                       535 k
 python3-mako                                       noarch                1.0.6-13.el8                                           AppStream                  157 k
 python3-mod_wsgi                                   x86_64                4.6.4-4.el8                                            AppStream                  2.5 M
 python3-psycopg2                                   x86_64                2.8.6-1.rhel8                                          pgdg-common                178 k
 python3-pyasn1                                     noarch                0.3.7-6.el8                                            AppStream                  126 k
 python3-pynacl                                     x86_64                1.3.0-5.el8                                            epel                       100 k
 python3-werkzeug                                   noarch                0.12.2-4.el8                                           AppStream                  457 k
Installing weak dependencies:
 apr-util-bdb                                       x86_64                1.6.1-6.el8                                            AppStream                   25 k
 apr-util-openssl                                   x86_64                1.6.1-6.el8                                            AppStream                   27 k
Enabling module streams:
 httpd                                                                    2.4

Transaction Summary
==================================================================================================================================================================
Install  53 Packages

Total download size: 69 M
Installed size: 154 M
Is this ok [y/N]: y

Импортируйте GPG, когда его спросят:

Total                                                                                                                              26 MB/s |  69 MB     00:02
warning: /var/cache/dnf/epel-6519ee669354a484/packages/libsodium-1.0.18-2.el8.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 2f86d6a1: NOKEY
Extra Packages for Enterprise Linux 8 - x86_64                                                                                    1.6 MB/s | 1.6 kB     00:00
Importing GPG key 0x2F86D6A1:
 Userid     : "Fedora EPEL (8) <[email protected]>"
 Fingerprint: 94E2 79EB 8D8F 25B2 1810 ADF1 21EA 45AB 2F86 D6A1
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
Is this ok [y/N]: y

Шаг 3. Настройте pgAdmin 4 в CentOS 8

Теперь, когда у нас установлен pgAdmin 4, давайте настроим его.

1. Запустите и включите службу httpd для запуска при загрузке:

sudo systemctl start httpd && sudo systemctl enable httpd

Вы можете подтвердить статус службы, запустив:

$ systemctl status httpd
 ● httpd.service - The Apache HTTP Server
    Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
    Active: active (running) since Wed 2020-01-15 12:59:34 EAT; 6s ago
      Docs: man:httpd.service(8)
  Main PID: 3310 (httpd)
    Status: "Started, listening on: port 80"
     Tasks: 213 (limit: 11512)
    Memory: 36.6M
    CGroup: /system.slice/httpd.service
            ├─3310 /usr/sbin/httpd -DFOREGROUND
            ├─3311 /usr/sbin/httpd -DFOREGROUND
            ├─3312 /usr/sbin/httpd -DFOREGROUND
            ├─3313 /usr/sbin/httpd -DFOREGROUND
            └─3314 /usr/sbin/httpd -DFOREGROUND
 Jan 15 12:59:34 cent8.novalocal systemd[1]: Starting The Apache HTTP Server…
 Jan 15 12:59:34 cent8.novalocal httpd[3310]: Server configured, listening on: port 80
 Jan 15 12:59:34 cent8.novalocal systemd[1]: Started The Apache HTTP Server.

2. Переименуйте образец конфигурации pgAdmin Apache:

sudo cp /etc/httpd/conf.d/pgadmin4.conf.sample /etc/httpd/conf.d/pgadmin4.conf

Подтвердите синтаксис конфигурации, чтобы предотвратить любые ошибки, и перезапустите службу httpd.

$ sudo httpd -t
Syntax OK
$ sudo systemctl restart httpd

4. Создайте каталоги данных pgAdmin:

sudo mkdir -p /var/lib/pgadmin4/ /var/log/pgadmin4/

5. Отредактируйте config_local.pyи добавьте следующие настройки. В большинстве случаев расположение файлов по умолчанию должно быть подходящим:

sudo vi /usr/lib/python3.6/site-packages/pgadmin4-web/config_distro.py

Добавить:

LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'

6. Выполните следующую команду, чтобы создать базу данных конфигурации:

sudo dnf -y install python3-bcrypt python3-pynacl
sudo python3 /usr/lib/python3.6/site-packages/pgadmin4-web/setup.py

Вам будет предложено ввести email address и  passwordиспользовать для начальной учетной записи пользователя pgAdmin.

Email address: [email protected]
Password: <INPUT PASSWORD>
Retype password:<Confirm PASSWORD>
pgAdmin 4 - Application Initialisation
======================================

Установите разрешения для каталогов pgAdmin apache пользователю:

sudo chown -R apache:apache /var/lib/pgadmin4 /var/log/pgadmin4

Шаг 4: Настройте SELinux

Установите разрешения для каталогов pgAdmin apache пользователю:

sudo chown -R apache:apache /var/lib/pgadmin4 /var/log/pgadmin4

Если у вас есть SELinux, работающий в принудительном режиме, создайте и примените политику, чтобы разрешить пользователю Apache доступ к каталогам pgAdmin:

sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/lib/pgadmin4(/.*)?"
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/log/pgadmin4(/.*)?"
sudo restorecon -Rv /var/lib/pgadmin4/
sudo restorecon -Rv /var/log/pgadmin4/

Перезапустите службу httpd.

sudo systemctl restart httpd

Шаг 5: доступ к веб-интерфейсу pgAdmin 4

если у вас есть активный брандмауэр, разрешите порт http:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

Откройте, чтобы войти в pgAdmin с учетными данными, созданными на шаге выше http://servername_or_ip/pgadmin4

На первой странице pgAdmin добавьте сервер PostgreSQL для администрирования с помощью pgAdmin, нажав “Add New Server”. Это может быть локальный или удаленный сервер PostgreSQL.

В разделе “General” дайте серверу имя и описание.

На вкладке “Connection” укажите данные для доступа — хост БД, пользователя БД и пароль.

Когда закончите, нажмите кнопку Save чтобы сохранить настройки. Если вы успешно добавили сервер, его имя появится на левой боковой панели. Выберите сервер, чтобы просмотреть сводную информацию о базе данных и внести изменения.

Надеюсь, наша статья помогла при установке pgAdmin 4 на CentOS 8

 

2 комментария

Комментарии закрыты.