Difference between revisions of "SUNScholar/Prepare Ubuntu/S06"
| Line 122: | Line 122: | ||
==Step 6.8: Restart the PostgreSQL server== | ==Step 6.8: Restart the PostgreSQL server== | ||
Type the following: | Type the following: | ||
| − | + | ;''Note: For Ubuntu 12.04, the PostgreSQL restart command has changed to "sudo /etc/init.d/postgresql restart".'' | |
sudo /etc/init.d/postgresql-8.4 restart | sudo /etc/init.d/postgresql-8.4 restart | ||
---- | ---- | ||
Revision as of 11:57, 5 December 2013
Contents
- 1 Step 6. Install PostgreSQL
- 2 Step 6.1: Install PostgreSQL
- 3 Step 6.2: Setup PostgreSQL admin password
- 4 Step 6.3: Create the PostgreSQL "dspace" user
- 5 Step 6.4: Create the PostgreSQL 'dspace' database
- 6 Step 6.5: Setup database host and user access permissions
- 7 Step 6.6: Setup number of client connections
- 8 Step 6.7: Increase the kernel shared memory for postgresql connections
- 9 Step 6.8: Restart the PostgreSQL server
Step 6. Install PostgreSQL
DSpace can use the PostgreSQL or Oracle database server for the main database.
The following procedure installs the PostgreSQL database server and creates the "dspace" database and "dspace" database user with the very secret dspace database user password.
The PostgreSQL database server was chosen because it is open source software and this in keeping with the open access pathos.
Step 6.1: Install PostgreSQL
- Note: For Ubuntu 12.04, simply install "libpg-java", the database is installed during the installation using "tasksel".
sudo apt-get install postgresql-8.4 libpg-java
Step 6.2: Setup PostgreSQL admin password
- Note: Ubuntu 12.04 has upgraded PostgreSQL to version 9.1. So change all references from "8.4" to "9.1" below.
Change database user permissions to "trust" only.
sudo sed -i 's/ident/trust/' /etc/postgresql/8.4/main/pg_hba.conf
sudo sed -i 's/md5/trust/' /etc/postgresql/8.4/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 peer # TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all peer # 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 peer #host replication postgres 127.0.0.1/32 trust #host replication postgres ::1/128 trust
Restart database server.
- Note: For Ubuntu 12.04, the PostgreSQL restart command has changed to "sudo /etc/init.d/postgresql restart".
sudo /etc/init.d/postgresql-8.4 restart
Become the postgres user
sudo su postgres
Open a database shell...
psql -U postgres
... and set the password:
ALTER ROLE postgres WITH PASSWORD 'XXXXXX';
Note: Use your unique system admin password for this on a production system !
Quit the database shell.
\q
Step 6.3: Create the PostgreSQL "dspace" user
Create the "dspace" user with full privileges.
createuser -U postgres -d -A -P dspace
If asked the following:
Shall the new role be allowed to create more new roles? (y/n) y
Answer "y" for yes.
Step 6.4: Create the PostgreSQL 'dspace' database
Create the "dspace" database with the "dspace" database user as owner.
createdb -E UNICODE dspace
Set the dspace database user password.
psql -U postgres
... and set the password:
ALTER ROLE dspace WITH PASSWORD 'XXXXXX';
Note: Use your unique dspace database password for this on a production system !
Let the dspace postgresql database user own the dspace database
ALTER DATABASE dspace OWNER TO dspace;
Quit the database shell.
\q
We return to the dspace user
exit
Step 6.5: Setup database host and user access permissions
Type the following:
sudo echo "## DSpace user access">> /etc/postgresql/8.4/main/pg_hba.conf
sudo echo "host dspace dspace 127.0.0.1/32 md5">> /etc/postgresql/8.4/main/pg_hba.conf
Step 6.6: Setup number of client connections
Edit the postgresql config file:
sudo nano /etc/postgresql/8.4/main/postgresql.conf
Change the number of "max_connections" to 300.
- NANO Editor Help
| CTL+O | = Save the file and then press Enter |
| CTL+X | = Exit "nano" |
| CTL+K | = Delete line |
| CTL+U | = Undelete line |
| CTL+W | = Search for %%string%% |
| CTL+\ | = Search for %%string%% and replace with $$string$$ |
| CTL+C | = Show line numbers |
More info = http://en.wikipedia.org/wiki/Nano_(text_editor)
Edit the "/etc/sysctl.conf" file:
sudo nano /etc/sysctl.conf
Copy and paste the following to the end of the file:
# Postgres connections kernel.shmmax = 500000000 kernel.shmall = 500000000
- NANO Editor Help
| CTL+O | = Save the file and then press Enter |
| CTL+X | = Exit "nano" |
| CTL+K | = Delete line |
| CTL+U | = Undelete line |
| CTL+W | = Search for %%string%% |
| CTL+\ | = Search for %%string%% and replace with $$string$$ |
| CTL+C | = Show line numbers |
More info = http://en.wikipedia.org/wiki/Nano_(text_editor)
Type the following in a terminal:
sudo sysctl -p
Step 6.8: Restart the PostgreSQL server
Type the following:
- Note: For Ubuntu 12.04, the PostgreSQL restart command has changed to "sudo /etc/init.d/postgresql restart".
sudo /etc/init.d/postgresql-8.4 restart
Below is a screenshot of the yearly DB connections.
PREVIOUS
NEXT
