To Setup PostgreSQL on Linux in Vesta Control Panel, we need a clean system "minimal install base".
PostgreSQL is a powerful, open source object-relational database system that uses and extends the SQL language combined with many features that safely store and scale the most complicated data workloads.
Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to perform Vesta related queries and tasks.
In this context, we shall look into how to set up PostgreSQL on Linux in Vesta.
We can install the Vesta Control panel on an RHEL, CentOS, Debian, and Ubuntu server.
i. Install PostgreSQL packages:
# yum install postgresql postgresql-server postgresql-contrib phpPgAdminIf we have to install PostgreSQL from the Remi repository, then do not forget to explicitly enable it:
# yum install –enablerepo=remi postgresql postgresql-server postgresql-contrib phpPgAdminii. Then initialize the database cluster:
# service postgresql initdbiii. Download HBA configuration:
# wget http://c.vestacp.com/0.9.8/rhel/pg_hba.conf -O /var/lib/pgsql/data/pg_hba.confiv. Eventually, tart the server:
# service postgresql startv. Set oracle user password:
# su – postgres
# psql -c “ALTER USER postgres WITH PASSWORD ‘pgp4sw0rd'”
# exitvi. Then enable pgsql database support in Vesta.
vii. Open /usr/local/vesta/conf/vesta.conf and set DB_SYSTEM to 'mysql,pgsql'
viii. Register pg instance in the control panel:
# v-add-database-host pgsql localhost postgres pgp4sw0rdix. Download phpPgAdmin configuration:
# wget http://c.vestacp.com/0.9.8/rhel/pga.conf -O /etc/phpPgAdmin/config.inc.php
# wget http://c.vestacp.com/0.9.8/rhel/httpd-pga.conf -O /etc/httpd/conf.d/phpPgAdmin.confx. Finally, restart the webserver:
# service httpd restarti. Initially, install PostgreSQL packages:
# apt-get install postgresql postgresql-contrib phppgadminii. Download HBA configuration:
# wget http://c.vestacp.com/0.9.8/debian/pg_hba.conf -O /etc/postgresql/*/main/pg_hba.confiii. Then restart the server:
# service postgresql restartiv. Set oracle user password:
# su – postgres
# psql -c “ALTER USER postgres WITH PASSWORD ‘pgp4sw0rd'”
# exitv. Enable pgsql database support in Vesta.
vi. Open /usr/local/vesta/conf/vesta.conf and set DB_SYSTEM to ‘mysql,pgsql’
vii. Then register pg instance in the control panel:
# v-add-database-host pgsql localhost postgres pgp4sw0rdviii. Download phpPgAdmin configuration:
# wget http://c.vestacp.com/0.9.8/debian/pga.conf -O /etc/phppgadmin/config.inc.php
# wget http://c.vestacp.com/0.9.8/debian/apache2-pga.conf -O /etc/apache2/conf.d/phppgadminix. Eventually, restart the webserver:
# service apache2 restartRecently, we had a customer who came across the following error while trying to connect remote PostgreSQL:
psql: could not connect to server: Connection refusedIn order to solve this, our Support Techs first ensure to start the PostgreSQL server on the remote server.
# /etc/init.d/postgresql startIf we get the error while it is running, we need to enable TCP/IP support.
By default, the PostgreSQL server only allows connections to the database from the local machine or localhost.
Step 1: Allow remote IP address to access PostgreSQL
We need to open the file, /var/lib/pgsql/data/pg_hba.conf. Login as Postgres user using su command:
$ su – postgres
$ vi /var/lib/pgsql/data/pg_hba.confNow append the following line.
To give access to the 192.168.1.0/24 network:
host all all 192.168.1.0 255.255.255.0 trustEventually, save and close the file.
Step 2: Allow communication over TCP/IP
We open PostgreSQL configuration file, /var/lib/pgsql/data/postgresql.conf
$ vi /var/lib/pgsql/data/postgresql.confThen bind and open TCP/IP port by setting tcpip_socket to true:
tcpip_socket = trueFinally, save and close the file.
Step 3: Restart PostgreSQL server
We restart the PostgreSQL server with the following command:
# /etc/init.d/postgresql restartThis will open default port 5432.
Step 4: Test the setup
We then use psql command from the client system as follows:
psql -h PostgreSQL-IP-ADDRESS -U USERNAME -d DATABASENAMEThis article covers how to install and setup PostgreSQL on Vesta Control panel running RHEL, CentOS, Debian, or Ubuntu server. PostgreSQL is an advanced version of SQL which provides support to different functions of SQL like foreign keys, subqueries, triggers, and different user-defined types and functions.
To set up PostgreSQL on a RHEL or CentOS:
1. Install PostgreSQL packages
yum install postgresql postgresql-server postgresql-contrib phpPgAdmin
* If you have remi installed then don't forget to explicitly enable it.
yum install --enablerepo=remi postgresql postgresql-server postgresql-contrib phpPgAdmin
2. Initialize database cluster
service postgresql initdb
3. Download hba configuration
wget http://c.vestacp.com/0.9.8/rhel/pg_hba.conf -O /var/lib/pgsql/data/pg_hba.conf
4. Start the server
service postgresql start
5. Set oracle user password
su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'pgp4sw0rd'"
exit
6. Enable pgsql databases support in vesta.
open /usr/local/vesta/conf/vesta.conf and set DB_SYSTEM to 'mysql,pgsql'
7. Register pg instance in control panel
v-add-database-host pgsql localhost postgres pgp4sw0rd
8. Download phpPgAdmin configuration
wget http://c.vestacp.com/0.9.8/rhel/pga.conf -O /etc/phpPgAdmin/config.inc.php
wget http://c.vestacp.com/0.9.8/rhel/httpd-pga.conf -O /etc/httpd/conf.d/phpPgAdmin.conf
9. Restart web server
service httpd restart
To set up PostgreSQL on a Debian or Ubuntu:
1. Install PostgreSQL packages
apt-get install postgresql postgresql-contrib phppgadmin
2. Download hba configuration
wget http://c.vestacp.com/0.9.8/debian/pg_hba.conf -O /etc/postgresql/*/main/pg_hba.conf
3. Restart the server
service postgresql restart
4. Set oracle user password
su - postgres
psql -c "ALTER USER postgres WITH PASSWORD 'pgp4sw0rd'"
exit
5. Enable pgsql databases support in vesta.
open /usr/local/vesta/conf/vesta.conf and set DB_SYSTEM to 'mysql,pgsql'
6. Register pg instance in control panel
v-add-database-host pgsql localhost postgres pgp4sw0rd
7. Download phpPgAdmin configuration
wget http://c.vestacp.com/0.9.8/debian/pga.conf -O /etc/phppgadmin/config.inc.php
wget http://c.vestacp.com/0.9.8/debian/apache2-pga.conf -O /etc/apache2/conf.d/phppgadmin
8. Restart web server
service apache2 restart