Page 1 of 1

GNUWorld Website Setup on Centos 6

Posted: Sat Apr 25, 2020 7:44 pm
by ZioN
Work In Progress !!!
Hello,
Bellow you can find all the steps needed to be done in order to build thr CService (X) WebPage using Centos linux server and PHP7.x versions.
INFO !!! CService (X) Website is supported until latest PHP7.4 version.
Please keep in mind that the IP Address of the machine used for this HOWTO is 192.168.1.133 and it should be changed with the IP address of the machine where you want to have the webpage installed.
OK, now let`s proceed....

1 We need to make sure that the server is update - to - date:
  • yum update
2. After update process is completed we ensure that we have PHP7.x , installed.
  • yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
  • yum install http://rpms.remirepo.net/enterprise/remi-release-6.rpm
  • yum install yum-utils
# Run this command if you want PHP 7.0
  • yum --enablerepo=remi-php70 install php
  • yum --enablerepo=remi-php70 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-mysql php-pgsql php-devel
# Run this command if you want PHP 7.1
  • yum --enablerepo=remi-php71 install php
  • yum --enablerepo=remi-php71 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-mysql php-pgsql php-devel
# Run this command if you want PHP 7.2
  • yum --enablerepo=remi-php72 install php
  • yum --enablerepo=remi-php72 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-mysql php-pgsql php-devel

# Run this command if you want PHP 7.3
  • yum --enablerepo=remi-php73 install php
  • yum --enablerepo=remi-php73 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-mysql php-pgsql php-devel
Locate php.ini file and change some values:
  • updatedb
  • locate php.ini
  • Open php.ini file and change value "short_open_tag = Off" in "short_open_tag = On"
3. After PHP7.x was installed we need to install the webserver and openssl:
  • yum install httpd.x86_64 httpd-devel.x86_64 httpd-tools.x86_64 mod_ssl.x86_64 openssl.x86_64 openssl-devel.x86_64
4. Now we need to install the rest of the dependencies:
  • yum install curl git make automake autoconf cpp gcc gcc-c++ bison readline readline-devel flex byacc
5. Now we need to install Composer.
  • curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer
6. Install Postgresql 11.10: - Skip this step if you already have PGSQL SETUP and RUNNING.
  • wget https://coder-com.universalnet.org/packages/postgresql-11.10.tar.gz
  • tar zxvf postgresql-11.10.tar.gz
  • cd postgresql-11.10
  • ./configure
  • gmake
  • make install
  • mkdir /usr/local/pgsql/data
  • adduser gnuworld
  • chown gnuworld /usr/local/pgsql/data/
  • su - gnuworld
  • /usr/local/pgsql/bin/initdb -A trust -E=SQL_ASCII /usr/local/pgsql/data/
  • pico /usr/local/pgsql/data/pg_hba.conf
### Add the following line:
  • host all all X_machine_ip_here/32 trust
  • host all all WebSite_machine_ip_here/32 trust
### Save the file and exit.
Now start postgresql Server...
  • /usr/local/pgsql/bin/postmaster -B 64 -N 32 -i -D /usr/local/pgsql/data -o -F -h 192.168.1.133 >/dev/null 2>&1 & # replace 192.168.1.133 with the IP PGSQL instance is running !!!
7. We get the webpage source code from UniversalNet Official GitHub under user gnuworld:
  • su - gnuworld
  • git clone https://github.com/ZioNeL/cservice-web/
  • cd cservice-web/
  • composer install
  • cd php_includes/
  • cp config.inc.dist config.inc #edit the file with your own values
  • cp cmaster.inc.dist cmaster.inc #replace all 'localhost' content with the ip PGSQL instance is running !!!
  • cp blackhole.inc.dist blackhole.inc

7.1 Skip this step if local_db database was created in gnuworld (X) Setup.
  • su - gnuworld
  • cd cservice_web/dbinit
  • /usr/local/pgsql/bin/createdb local_db
  • /usr/local/pgsql/bin/psql local_db < local_db.sql
8. Now to create the live shortcut for the webpage:
  • cd /var/www/html/
  • chmod 711 ~gnuworld
  • chmod 711 ~gnuworld/cservice-web
  • chmod 755 ~gnuworld/cservice-web/php_includes
  • chmod 644 ~gnuworld/cservice-web/php_includes/config.inc
  • chmod 755 ~gnuworld/cservice-web/docs/gnuworld/
  • ln -s /home/gnuworld/cservice-web/docs/gnuworld live
9. In order to bypass the IPR restriction on webpage login for Admin account, we use the following steps:
  • su - gnuworld
  • pico ipr.sql
  • insert into ip_restrict (id, user_id, added_by, added, type, expiry, value) values (1, 1, 1, now()::abstime::int4, 1, 0, '192.168.1.100');
    #replace "192.168.1.100" with ip that it shows on webpage
  • save it and run like this :
  • /usr/local/pgsql/bin/psql -h 192.168.1.133 cservice < ipr.sql #replace "192.168.1.133" with a real ip address of the macine hosting the cservice db.

10 In order to permit login on CService Web from local IP address like 192.168.xx.xx or 10.0.0.xx the following changes must be made:

nano /home/gnuworld/cservice-web/php_includes/config.inc
# Replace define("DISALLOW_RESERVED_BLOCKS",1); to define("DISALLOW_RESERVED_BLOCKS",0);

Now login using * accounts from local IP address is possible.


Now you should have a running CService (X) Website using PHP7.x .
Have fun !!!


This HOWTO was last updated by ZioN
15 Apr 2020