Я пытаюсь установить PGAdmin4 на сервер EC2, который позже будет использоваться для подключения к базе данных PostgreSQL в RDS. Я использую следующий набор команд для установки PGAdmin на RHE7. Сценарий установки частично изменен в соответствии с моими конкретными потребностями c.
#!/bin/bash
# create mount point directory
mkdir /mnt/app
# create ext4 filesystem on new volume
mkfs -t ext4 /dev/nvme1n1
# add an entry to fstab to mount volume during boot
echo "/dev/nvme1n1 /mnt/app ext4 defaults,nofail 0 2" >> /etc/fstab
# mount the volume on current boot
mount -a
# download s3 bucket with config files
aws s3 cp s3://<S3 Bucket> /tmp/s3 --recursive
# ensure patches are installed
yum update -y
# install postgresql repository
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm -y
# disable outdated postgresql repository
yum-config-manager --disable pgdg94 pgdg95 pgdg96 pgdg11 pgdg12
# enable the rhel extras repository
yum-config-manager --enable rhel-7-server-rhui-extras-rpms
# enable the rhel optional repository
yum-config-manager --enable rhel-7-server-rhui-optional-rpms
# enable the rhel rhscl repository
yum-config-manager --enable rhel-server-rhui-rhscl-7-rpms
# create the repository cache
yum makecache fast
# install nginx & python
yum install rh-nginx114 -y
# move nginx config files
mv /tmp/s3/pgadmin/nginx/nginx.conf /etc/opt/rh/rh-nginx114/nginx/nginx.conf
mv /tmp/s3/pgadmin/nginx/pgadmin.conf /etc/opt/rh/rh-nginx114/nginx/conf.d/pgadmin.conf
# enable and start nginx
systemctl start rh-nginx114-nginx
systemctl enable rh-nginx114-nginx
# allow nginx to make http connections
setsebool -P httpd_can_network_connect on
# create pgAdmin directories
mkdir -p /mnt/app/var/lib/pgadmin4
mkdir -p /mnt/app/var/log/pgadmin4
# add pgadmin4 user
adduser pgadmin4
# install pgadmin4
yum install pgadmin4 postgresql10 -y
# upgrade and install gunicorn via pip
pip install --upgrade pip
#pip uninstall urllib3
#pip install boto3 --force-reinstall
pip install futures
pip install flask-compress
pip install gunicorn
# move pgadmin config files
mv /tmp/s3/pgadmin/pgadmin4-web/* /usr/lib/python2.7/site-packages/pgadmin4-web/
# start pgAdmin
cd /usr/lib/python2.7/site-packages/pgadmin4-web/
export PGADMIN_SETUP_EMAIL=test@example.com
export PGADMIN_SETUP_PASSWORD=12345test
python run_pgadmin.py
# set permissions to pgAdmin
chown pgadmin4 /mnt/app/var/lib/pgadmin4 -R
chown pgadmin4 /mnt/app/var/log/pgadmin4 -R
# start gunicorn service with pgadmin
mv /tmp/s3/pgadmin/systemd/gunicorn.service /etc/systemd/system/gunicorn.service
systemctl enable gunicorn.service
systemctl start gunicorn.service
# notify start is done
touch /tmp/startup_complete
Я выполнил каждую команду до тех пор, пока python run_pgadmin.py
не завершится с ошибкой
Traceback (most recent call last):
File "run_pgadmin.py", line 4, in <module>
from pgAdmin4 import app
ImportError: No module named pgAdmin4
python версия 2.7.5
Файл run_pgadmin.py имеет следующее содержимое
import __builtin__ as builtins
builtins.SERVER_MODE = True
from pgAdmin4 import app
Это похоже на ошибку python Speci c, но я не смог go дальше с ним ,