2017-01-17 5 views
1

J'ai installé PostgreSQL 9.6.1 sur une machine virtuelle minimale Debian 8.1 distante. J'essaye d'installer pgAdmin4 en mode serveur de sorte que je puisse accéder à distance par l'intermédiaire du Web. J'ai pgAdmin4 installé avec succès dans un environnement virtuel python, mais un problème se pose à l'une des dernières étapes de configuration:Installation de pgAdmin sur un serveur distant et configuration sans environnement de bureau

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

Depuis que je n'ai pas un environnement de bureau installé (et je ne l'intention d'installer un), comment puis-je terminer la configuration sans utiliser localhost? J'ai tenté de me connecter en utilisant l'adresse IP publique du serveur (par exemple, http://80.254.0.132:5050) mais je ne parviens pas à résoudre le problème.

Je n'ai pas de pare-feu au niveau de la machine virtuelle ou du serveur/NAT. J'ai mis à jour /etc/postgresql/9.6/main/pg_hba.conf et ajouté host all all 0.0.0.0/0 md5 à la configuration. J'ai mis à jour /etc/postgresql/9.6/main/postgresql.conf et j'ai changé listen_addresses = '*'.

Mes étapes complètes impliquées dans l'installation post-Debian (sans nouveaux utilisateurs) se présente comme suit:

# 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 

Répondre

1

Par défaut pgAdmin4 fonctionne sur adaptateur réalimentation, pour le faire fonctionner sur Ethernet (eth0), vous devez changer certaines options de configuration.

Vous devez ajouter ci-dessous les options de configuration,

DEFAULT_SERVER = '0.0.0.0'

dans config_local.py (dans le dossier "pgAdmin4").

Si vous voulez aussi changer le port par défaut, puis ajouter

DEFAULT_SERVER_PORT = 8081

maintenant redémarrer pgAdmin4, maintenant essayez d'accéder pgAdmin4 en utilisant l'adresse IP que vous avez mentionné (par exemple, http://80.254.0.132:8081), il devrait fonctionner.

+0

Parfait! Cela fonctionne maintenant avec succès. J'apprécie ton aide. – PicoDeGallo