This is a typical ubuntu installation. root@vps189189:~# sudo apt-get install gcc g++ cpp root@vps189189:~# sudo apt-get install flex root@vps189189:~# sudo apt-get install byacc root@vps189189:~# sudo apt-get install bison root@vps189189:~# sudo apt-get install make automake root@vps189189:~# sudo apt-get install openssl libssl-dev root@vps189189:~# sudo apt-get install git root@vps189189:~# sudo apt-get install libpqxx-4.0 root@vps189189:~# sudo apt-get install libreadline6-dev root@vps189189:~# sudo apt-get install zlib1g-dev root@vps189189:~# sudo apt-get install vim Add a non-root user for postgresql, eg. 'gnuworld' root@vps189189:~# adduser gnuworld Installing PostgreSQL database: root@vps189189:~# wget http://ftp.postgresql.org/pub/source/v9.3.4/postgresql-9.3.4.tar.gz root@vps189189:~# tar zxvf postgresql-9.3.4.tar.gz root@vps189189:~# cd postgresql-9.3.4/ root@vps189189:~/postgresql-9.3.4# ./configure [--without-readline --without-zlib] root@vps189189:~/postgresql-9.3.4# make && sudo make install root@vps189189:~/postgresql-9.3.4# cd ~ You can use here nano if you want, I use vim editor root@vps189189:~# vim /etc/ld.so.conf Press 'a' to enter in edit mode, and insert the line: /usr/local/pgsql/lib Press ESC write: ':wq' or hold down Shift and press two times 'z' (Shift + ZZ) Now let's create the database directories: root@vps189189:~# [sudo] mkdir /usr/local/pgsql/data root@vps189189:~# chown gnuworld /usr/local/pgsql/data root@vps189189:~# chgrp gnuworld /usr/local/pgsql/data Starting the database itself: root@vps189189:~# su gnuworld gnuworld@vps189189:/root$ cd ~ gnuworld@vps189189:~$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data Success. You can now start the database server using: gnuworld@vps189189:~$ /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data & This line is useful to put in crontab, so on server reboot you get postgres running gnuworld@vps189189:~$ crontab -e At the end insert: @reboot /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data After this I usually open a new terminal window, to not to be bothered with database messages. Now install gnuworld-enhanced: gnuworld@vps189189:~$ git clone https://github.com/Seven-7/gnuworld-enhanced.git gnuworld@vps189189:~$ cd gnuworld-enhanced/ gnuworld@vps189189:~/gnuworld-enhanced$ ./configure --with-extra-includes=/usr/local/include --with-extra-includes=/usr/include/postgresql/ --with-pgsql-home=/usr/local/pgsql/ --enable-modules=cservice,ccontrol,dronescan,openchanfix[,gnutest,nickserv,scanner,snoop,stats] Please note here that gnutest,nickserv,scanner,snoop,stats modules are experimental, unfinished, not useful, probably you should ommit modules! gnuworld@vps189189:~/gnuworld-enhanced$ make; make install Now create the actual databases: gnuworld@vps189189:~/gnuworld-enhanced$ cd doc Note!: You can try to shortcat all of these with running the ~/gnuworld-enhanced/doc/do-db.sh script! You must be in the ~/gnuworld-enhanced/doc directory! gnuworld@vps189189:~/gnuworld-enhanced/doc$ ./do-db.sh Or manually: gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/createdb --template=template0 -E=SQL_ASCII cservice gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql cservice < cservice.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql cservice < cservice.config.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql cservice < languages.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql cservice < language_table.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql cservice < greeting.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql cservice < cservice.help.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql cservice < cservice.web.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql cservice < cservice.addme.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/createdb --template=template0 -E=SQL_ASCII ccontrol gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql ccontrol < ccontrol.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql ccontrol < ccontrol.help.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql ccontrol < ccontrol.addme.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql ccontrol < ccontrol.commands.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/createdb --template=template0 -E=SQL_ASCII dronescan gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/psql dronescan < dronescan.sql gnuworld@vps189189:~/gnuworld-enhanced/doc$ /usr/local/pgsql/bin/createdb --template=template0 -E=SQL_ASCII chanfix gnuworld@vps189189:~/gnuworld-enhanced/doc$ cd ../mod.openchanfix/doc/ gnuworld@vps189189:~/gnuworld-enhanced/mod.openchanfix/doc$ /usr/local/pgsql/bin/psql chanfix < chanfix.sql gnuworld@vps189189:~/gnuworld-enhanced/mod.openchanfix/doc$ /usr/local/pgsql/bin/psql chanfix < chanfix.languages.sql gnuworld@vps189189:~/gnuworld-enhanced/mod.openchanfix/doc$ /usr/local/pgsql/bin/psql chanfix < chanfix.language.english.sql gnuworld@vps189189:~/gnuworld-enhanced/mod.openchanfix/doc$ /usr/local/pgsql/bin/psql chanfix < chanfix.help.sql gnuworld@vps189189:~/gnuworld-enhanced/mod.openchanfix/doc$ /usr/local/pgsql/bin/psql chanfix < chanfix.addme.sql Go to bin directory, and create the gnuworld config files: gnuworld@vps189189:~/gnuworld-enhanced/mod.openchanfix/doc$ cd ~/gnuworld-enhanced/bin/ gnuworld@vps189189:~/gnuworld-enhanced/bin$ cp GNUWorld.example.conf GNUWorld.conf gnuworld@vps189189:~/gnuworld-enhanced/bin$ cp cservice.example.conf cservice.conf gnuworld@vps189189:~/gnuworld-enhanced/bin$ cp ccontrol.example.conf ccontrol.conf gnuworld@vps189189:~/gnuworld-enhanced/bin$ cp dronescan.example.conf dronescan.conf gnuworld@vps189189:~/gnuworld-enhanced/bin$ cp openchanfix.example.conf openchanfix.conf Edit all these files. In GNUWorld.conf don't forget to uncomment the modules you configured with # To use a certain module, uncomment it below. module = libcservice.la cservice.conf module = libccontrol.la ccontrol.conf module = libchanfix.la openchanfix.conf module = libdronescan.la dronescan.conf And finally we can start gnuworld: gnuworld@vps189189:~/gnuworld-enhanced/bin$ ./gnuworld &