Обсуждение: Consider default SERVER_MODE =True for pgadmin4-v1-web

Поиск
Список
Период
Сортировка

Consider default SERVER_MODE =True for pgadmin4-v1-web

От
Mike Surcouf
Дата:
It would be nice if the pgadmin40v1-web package set the SERVER_MODE  = True

I can't think why you would install the web package without this but there may be a reason?
Also since the setup script does different things depending on this value if you don't do it first you have to delete
theconfig and sqllite database and start again otherwise it will never work 

Currently I have this in my setup script

#Overide SERVER_MODE (must be done BEFORE setup)
cat >> /usr/lib/python2.7/site-packages/pgadmin4-web/config_local.py << "EOF"
SERVER_MODE = True
EOF

Thanks

Mike


Re: Consider default SERVER_MODE =True for pgadmin4-v1-web

От
Dave Page
Дата:


On Wed, Jul 19, 2017 at 4:54 PM, Mike Surcouf <mikes@surcouf.co.uk> wrote:
It would be nice if the pgadmin40v1-web package set the SERVER_MODE  = True

I can't think why you would install the web package without this but there may be a reason?

Yes, it would break the default installation mode (desktop).

The web package is "the web components of pgadmin", not "pgadmin to run in web mode".
 
Also since the setup script does different things depending on this value if you don't do it first you have to delete the config and sqllite database and start again otherwise it will never work

Currently I have this in my setup script

#Overide SERVER_MODE (must be done BEFORE setup)
cat >> /usr/lib/python2.7/site-packages/pgadmin4-web/config_local.py << "EOF"
SERVER_MODE = True
EOF

I tend to just edit that setting in config_local.py as I need it, but then also include:

# Use a different config DB for each server mode.
if SERVER_MODE == False:
    SQLITE_PATH = os.path.join(
        DATA_DIR,
        'pgadmin4-desktop.db'
    )
else:
    SQLITE_PATH = os.path.join(
        DATA_DIR,
        'pgadmin4-server.db'
    ) 

Anyway, to the main point - I've been trying to figure out a half-decent way of being able to support both server and desktop modes out of the box; and have yet to come up with anything that wouldn't be a tangled mess of config files. I still have some ideas though, and hope to explore them some more tomorrow.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

RE: Consider default SERVER_MODE =True for pgadmin4-v1-web

От
Mike Surcouf
Дата:

Hi Dave thanks for reply

 

In what scenario are the web components used in desktop mode.

Sorry if I I keep banging on about it

 

From: Dave Page [mailto:dpage@pgadmin.org]
Sent: 19 July 2017 17:03
To: Mike Surcouf
Cc: pgadmin-support@postgresql.org
Subject: Re: Consider default SERVER_MODE =True for pgadmin4-v1-web

 

 

 

On Wed, Jul 19, 2017 at 4:54 PM, Mike Surcouf <mikes@surcouf.co.uk> wrote:

It would be nice if the pgadmin40v1-web package set the SERVER_MODE  = True

I can't think why you would install the web package without this but there may be a reason?

 

Yes, it would break the default installation mode (desktop).

 

The web package is "the web components of pgadmin", not "pgadmin to run in web mode".

 

Also since the setup script does different things depending on this value if you don't do it first you have to delete the config and sqllite database and start again otherwise it will never work

Currently I have this in my setup script

#Overide SERVER_MODE (must be done BEFORE setup)
cat >> /usr/lib/python2.7/site-packages/pgadmin4-web/config_local.py << "EOF"
SERVER_MODE = True
EOF

 

I tend to just edit that setting in config_local.py as I need it, but then also include:

 

# Use a different config DB for each server mode.

if SERVER_MODE == False:

    SQLITE_PATH = os.path.join(

        DATA_DIR,

        'pgadmin4-desktop.db'

    )

else:

    SQLITE_PATH = os.path.join(

        DATA_DIR,

        'pgadmin4-server.db'

    ) 

 

Anyway, to the main point - I've been trying to figure out a half-decent way of being able to support both server and desktop modes out of the box; and have yet to come up with anything that wouldn't be a tangled mess of config files. I still have some ideas though, and hope to explore them some more tomorrow.

 

--

Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

RE: Consider default SERVER_MODE =True for pgadmin4-v1-web

От
Mike Surcouf
Дата:

Here is my setup script for pgadmin in server mode on Centos 7 using the docs as a base.

 

It may or may not be useful

 

----------------------------------------------------------

#Install pgadmin

yum -y install pgadmin4-v1-web

yum -y install python-passlib

 

#Create user for pgadmin

useradd --create-home --home-dir /var/pgadmin --system --shell /sbin/nologin pgadmin

#Allow apache access to the pgadmin home directory

semanage fcontext -a -t httpd_sys_rw_content_t "/var/pgadmin(/.*)?"

restorecon -R /var/pgadmin

 

#Allow pgadmin to connect to postgres

setsebool -P httpd_can_network_connect_db 1

 

#Overide SERVER_MODE (must be done BEFORE setup)

cat >> /usr/lib/python2.7/site-packages/pgadmin4-web/config_local.py << "EOF"

SERVER_MODE = True

EOF

 

#Add default username and password and setup database

su -s /bin/sh -c 'python /usr/lib/python2.7/site-packages/pgadmin4-web/setup.py' pgadmin

 

#Add apache configuration

cat >> /etc/httpd/conf.d/pgadmin4-v1.conf << "EOF"

CustomLog "logs/pgadmin-access_log" combined

ErrorLog "logs/pgadmin-error_log"

LogLevel error

   

WSGIDaemonProcess pgadmin processes=1 threads=25 user=pgadmin group=pgadmin

WSGIScriptAlias /pgadmin4 /usr/lib/python2.7/site-packages/pgadmin4-web/pgAdmin4.wsgi

 

<Directory /usr/lib/python2.7/site-packages/pgadmin4-web>

    WSGIProcessGroup pgadmin

    WSGIApplicationGroup %{GLOBAL}

    Require all granted

</Directory>

EOF

 

#Open firewall for pgadmin

firewall-cmd --permanent --zone=public --add-port=80/tcp

firewall-cmd --permanent --zone=public --add-port=443/tcp

firewall-cmd --reload

 

#Start apache

systemctl enable httpd.service

systemctl start httpd.service

----------------------------------

 

 

 

From: Dave Page [mailto:dpage@pgadmin.org]
Sent: 19 July 2017 17:03
To: Mike Surcouf
Cc: pgadmin-support@postgresql.org
Subject: Re: Consider default SERVER_MODE =True for pgadmin4-v1-web

 

 

 

On Wed, Jul 19, 2017 at 4:54 PM, Mike Surcouf <mikes@surcouf.co.uk> wrote:

It would be nice if the pgadmin40v1-web package set the SERVER_MODE  = True

I can't think why you would install the web package without this but there may be a reason?

 

Yes, it would break the default installation mode (desktop).

 

The web package is "the web components of pgadmin", not "pgadmin to run in web mode".

 

Also since the setup script does different things depending on this value if you don't do it first you have to delete the config and sqllite database and start again otherwise it will never work

Currently I have this in my setup script

#Overide SERVER_MODE (must be done BEFORE setup)
cat >> /usr/lib/python2.7/site-packages/pgadmin4-web/config_local.py << "EOF"
SERVER_MODE = True
EOF

 

I tend to just edit that setting in config_local.py as I need it, but then also include:

 

# Use a different config DB for each server mode.

if SERVER_MODE == False:

    SQLITE_PATH = os.path.join(

        DATA_DIR,

        'pgadmin4-desktop.db'

    )

else:

    SQLITE_PATH = os.path.join(

        DATA_DIR,

        'pgadmin4-server.db'

    ) 

 

Anyway, to the main point - I've been trying to figure out a half-decent way of being able to support both server and desktop modes out of the box; and have yet to come up with anything that wouldn't be a tangled mess of config files. I still have some ideas though, and hope to explore them some more tomorrow.

 

--

Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Re: Consider default SERVER_MODE =True for pgadmin4-v1-web

От
Dave Page
Дата:


On Wed, Jul 19, 2017 at 5:07 PM, Mike Surcouf <mikes@surcouf.co.uk> wrote:

Hi Dave thanks for reply

 

In what scenario are the web components used in desktop mode.


The core of the application (like, 97% of it) is the web code. The desktop runtime is just a python interpreter with a web browser attached, that runs the python web code, and then renders it.

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company