SUNScholar/Prepare Ubuntu/S06/Ubuntu-14.04

From Libopedia
Jump to: navigation, search
BACK TO STEP 6

Step 6.1: Increase the kernel shared memory for PostgreSQL server client connections

Edit the "/etc/sysctl.conf" file:

sudo nano /etc/sysctl.conf

Copy and paste the following to the end of the file:

# For PostgreSQL server client connections
kernel.shmmax = 500000000
kernel.shmall = 500000000

Save and exit the file.


Also see: http://www.postgresql.org/docs/9.3/static/kernel-resources.html

Type the following in a terminal:

sudo sysctl -p

Step 6.2: Install PostgreSQL server software

sudo apt-get install postgresql-9.3 postgresql-contrib-9.3 libpg-java

Step 6.3: Setup the PostgreSQL server host based access permissions

See official documentation links below for detailed information about the "pg_hba.conf" file.

Check these host based permissions carefully. Remember security on your server is your responsibility!

Change database user permissions to "trust" only.

sudo sed -i 's/ident/trust/' /etc/postgresql/9.3/main/pg_hba.conf
sudo sed -i 's/md5/trust/' /etc/postgresql/9.3/main/pg_hba.conf
sudo sed -i 's/peer/trust/' /etc/postgresql/9.3/main/pg_hba.conf

See example below.

# DO NOT DISABLE!
# If you change this first entry you will need to make sure that the
# database superuser can access the database using some other method.
# Noninteractive access to all databases is required during automatic
# maintenance (custom daily cronjobs, replication, and similar tasks).
#
# Database administrative login by Unix domain socket
local   all             postgres                                trust

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                trust
#host    replication     postgres        127.0.0.1/32            trust
#host    replication     postgres        ::1/128                 trust

Restart database server.

sudo service postgresql restart

Step 6.4: Create the PostgreSQL "dspace" DB user

Create the "dspace" DB user with full privileges.

sudo createuser -U postgres -d -A -P dspace

Answer "y" for yes, for any of the user creation questions.

Step 6.5: Create the PostgreSQL "dspace" database

Enter the Ubuntu server postgres user shell.

sudo su - postgres

Create the "dspace" database.

createdb -E UNICODE dspace

Step 6.6: Setup PostgreSQL dspace DB user password, ownership and privileges

Connect to the PostgreSQL database server and enter a PostgreSQL database server shell.

psql -U postgres -d dspace
Set the dspace DB user password:
SECURITY WARNING: Use your unique dspace database password for this on a production system !
ALTER ROLE dspace WITH PASSWORD 'XXXXXX';
Let the dspace DB user own the dspace database
ALTER DATABASE dspace OWNER TO dspace;
Grant all privileges for the dspace database to the dspace DB user
GRANT ALL PRIVILEGES ON DATABASE dspace TO dspace;
Add the "crypto" extension to the "dspace" database.
CREATE EXTENSION pgcrypto;
Quit the database shell.
\q

We exit from PostgreSQL database server postgres user shell and return to the Ubuntu server dspace user shell.

exit

Step 6.7: Setup the PostgreSQL server host based access permissions to the dspace database

Type the following:

sudo -i
sudo echo "## DSpace DB user access">> /etc/postgresql/9.3/main/pg_hba.conf
sudo echo "host    dspace       dspace      127.0.0.1/32         md5" >> /etc/postgresql/9.3/main/pg_hba.conf
exit

Step 6.8: Setup maximum number of PostgreSQL server client connections

PLEASE NOTE: https://jira.duraspace.org/browse/DS-2563

Edit the postgresql config file:

sudo nano /etc/postgresql/9.3/main/postgresql.conf

Change the number of "max_connections" to 300. Please note: If you get connection errors, then adjust this value!

Save and exit the file.

Step 6.9: Restart the PostgreSQL server

Type the following:

sudo service postgresql restart

References