Hello,
Bellow you can find all the steps needed to be done in order to build thr CService (X) WebPage using Centos 7 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 Now we need to make sure that the server is update - to - date:
- yum update
- yum install curl git make automake autoconf cpp gcc gcc-c++ bison readline readline-devel flex byacc zip unzip nano mlocate wget psmisc policycoreutils.x86_64 policycoreutils-devel.x86_64
- yum install httpd.x86_64 httpd-devel.x86_64 httpd-tools.x86_64 mod_ssl.x86_64 openssl.x86_64 openssl-devel.x86_64
- semanage permissive -a httpd_t
- yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
- yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
- yum install yum-utils
- 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
# Run this command if you want PHP 7.4
- yum --enablerepo=remi-php74 install php
- yum --enablerepo=remi-php74 install php-xml php-soap php-xmlrpc php-mbstring php-json php-gd php-mcrypt php-mysql php-pgsql php-devel
# Check if httpd Server is started:
- service httpd status
#If is not started use the following command:
- service httpd start
# Set httpd server to start on server reboot
- systemctl enable httpd.service
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"
- service httpd restart
- service httpd reload
- curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer
- wget https://coder-com.universalnet.org/packages/postgresql-15.2.tar.gz
- tar zxvf postgresql-15.2.tar.gz
- cd postgresql-15.2
- ./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
- host all all X_machine_ip_here/32 trust
- host all all WebSite_machine_ip_here/32 trust
Now start postgresql Server...
- /usr/local/pgsql/bin/postmaster -B 64 -N 32 -i -D /usr/local/pgsql/data -F -h 192.168.1.133 >/dev/null 2>&1 & # replace 192.168.1.133 with the IP PGSQL instance is running !!!
- su - gnuworld
- git clone https://github.com/UndernetIRC/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
- 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
- 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.133’);
- /usr/local/pgsql/bin/psql -h 192.168.1.133 cservice < ipr.sql
9.2 - Fix (IPR) by disableing IPR option in config.inc file
- su - gnuworld
- cd gnuworld
- pico cservice_web/php_includes/config.inc
- change define("IPR_REQUIRED",1); to define("IPR_REQUIRED",0);
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
12 Aug 2020