Установите pgAdmin на удаленном сервере и настройте без среды рабочего стола.

Я установил PostgreSQL 9.6.1 на удаленную минимальную виртуальную машину Debian 8.1. Я пытаюсь установить pgAdmin4 в режиме сервера, чтобы иметь возможность удаленного доступа через Интернет. Я успешно установил pgAdmin4 в виртуальной среде Python, но на одном из последних шагов настройки возникает проблема:

Starting pgAdmin 4. Please navigate to http://localhost:5050 in your browser.

Поскольку у меня не установлена ​​среда рабочего стола (и я не собираюсь ее устанавливать), как мне завершить настройку без использования localhost? Я попытался подключиться, используя общедоступный IP-адрес сервера (например, http://80.254.0.132:5050), но не в состоянии решить.

У меня нет брандмауэра на уровне ВМ или сервера/NAT.

Я обновил /etc/postgresql/9.6/main/pg_hba.conf и добавил host all all 0.0.0.0/0 md5 в конфигурацию.

Я обновил /etc/postgresql/9.6/main/postgresql.conf и изменил listen_addresses = '*'.

Мои полные шаги, связанные с установкой после Debian (без новых пользователей), выглядят следующим образом:

# Initial update.

apt-get install sudo
sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y
sudo apt-get install vim -y

# Postgres.
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -

# Install PostgreSQL.
sudo apt-get update
sudo apt-get install postgresql postgresql-contrib libpq-dev python-dev

# Set postgres password.
sudo -s
cd ~
sudo -u postgres psql postgres
\password postgres

# Allow remote connections.
sudo vim /etc/postgresql/9.6/main/pg_hba.conf
# host    all     all     0.0.0.0/0   md5
sudo vim /etc/postgresql/9.6/main/postgresql.conf
# listen_addresses = '*'
sudo service postgresql restart

# Python and pgAdmin.
sudo easy_install pip
sudo pip install virtualenvwrapper

# Create the virtual environment and install pgAdmin.
virtualenv pgadmin4
cd pgadmin4
source bin/activate
sudo apt-get install build-essential libssl-dev libffi-dev python-dev libgmp3-dev
sudo pip install cryptography pyopenssl ndg-httpsclient pyasn1
wget https://ftp.postgresql.org/pub/pgadmin3/pgadmin4/v1.1/pip/pgadmin4-1.1-py2-none-any.whl
pip install pgadmin4-1.1-py2-none-any.whl
cp ./lib/python2.7/site-packages/pgadmin4/config.py ./lib/python2.7/site-packages/pgadmin4/config_local.py
python  ./lib/python2.7/site-packages/pgadmin4/pgAdmin4.py

person PicoDeGallo    schedule 17.01.2017    source источник


Ответы (1)


По умолчанию pgAdmin4 работает на петлевом адаптере, чтобы заставить его работать в сети Ethernet (eth0), вам нужно изменить некоторые параметры конфигурации.

Вам нужно добавить ниже параметры конфигурации,

DEFAULT_SERVER = '0.0.0.0'

в config_local.py (в папке "pgAdmin4").

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

DEFAULT_SERVER_PORT = 8081

Теперь перезапустите pgAdmin4. Теперь попробуйте получить доступ к pgAdmin4, используя указанный вами IP-адрес (например, http://80.254.0.132:8081), должно работать.

person Murtuza Z    schedule 17.01.2017
comment
Идеальный! Теперь он успешно работает. Я ценю вашу помощь. - person PicoDeGallo; 17.01.2017