Seven GNUWorld Website Setup on Debian 10

Post Reply
User avatar
ZioN
Site Admin
Posts: 27
Joined: Sat Feb 29, 2020 9:31 pm

Seven GNUWorld Website Setup on Debian 10

Post by ZioN »

Hello,
Bellow you can find all the steps needed to be done in order to build thr CService (X) WebPage using Debian 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. First we ensure that we have everything installed :
php7.0, apache2 Server, Postgresql, Curl, composer
  • apt install build-essential
  • apt install wget git
  • apt install openssl
  • apt install libssl
  • apt install libssl-dev
  • apt-get install bison libreadline-dev zlib1g-dev automake make flex mlocate apache2 apache2-bin apache2-data apache2-dev apache2-doc apache2-ssl-dev apache2-utils libapache2-mod-php7.3 php7.3 php7.3-dev php7.3-readline php7.3-gd php7.3-xml php7.3-pgsql php7.3-json php7.3-mbstring php7.3-gmp php7.3-zip php7.3-sqlite3 php7.3-bcmath curl liboath-dev liboath0
locate file php.ini using the following command:
  • updatedb
  • locate php.ini
Open php.ini file and change value "short_open_tag = Off" in "short_open_tag = On"
We save and restart the apache2 service.

2. Now we proceed with installing composer as root:
  • curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer
3. Install Postgresql 15.2: - Skip this step if you already have PGSQL SETUP and RUNNING.
  • wget https://coder-com.universalnet.org/packages/postgresql-15.2.tar.gz
  • tar zxvf postgresql-15.2.tar.gz
  • cd postgresql-15.2
  • ./configure
  • make
  • 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 -F -h 192.168.1.133 >/dev/null 2>&1 &
4 .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 containing "localhost" with IP of the currrent running PGSQL server.
  • cp blackhole.inc.dist blackhole.inc
4.1 Skip this step if local_db database was created in gnuworld (X) Setup.
  • su - gnuworld
  • cd gnuworld-enhanced/doc/list]
    • /usr/local/pgsql/bin/createdb local_db
    • /usr/local/pgsql/bin/psql local_db < local_db.sql
    5. Now to create the live shortcut for the webpage:
    • cd /var/www/html/
    - if is hosted under apache root folder.
    • 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
    6. There are two options to solve (IPR) restriction, bellow you can find how to on both.
    • su - gnuworld
    6.1 - Fix (IPR) by inserting your ip into Admin account direct on database cservice.
    • 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’);
    ##replace " 192.168.1.133 " with the ip address shown on whois on you on irc. !!!
    • /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 machine hosting the cservice db.

    6.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);
    Save the file and close


    7 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.



    This HOWTO was last updated by ZioN
    07 Feb 2022
Post Reply