📡 Instalación GNUWorld + Cservice Web

Guía completa paso a paso para VPS Ubuntu 22 (UnionChat 2026)

⚙️ 1. Librerías del sistema

Actualizar sistema e instalar dependencias base

apt-get clean all 
apt-get clean metadata 
apt-get update 
apt-get install -y systemd nano
📦 Librerías IRCu

Dependencias para IRC + compilación

apt-get install -y byacc flex screen make cmake zip perl automake git wget ufw net-tools mlocate gcc oidentd libpqxx-dev tcl-dev build-essential
apt-get install tcl-dev net-tools libpqxx-dev mlocate
🧠 Dependencias avanzadas

Compiladores y PHP 7.4 obligatorio

sudo apt install software-properties-common
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt install g++-11
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 60
sudo apt-get install liboath-dev build-essential fort77 xorg-dev
sudo apt-get install liblzma-dev libblas-dev gfortran gcc-multilib gobjc++ aptitude
sudo aptitude install libreadline-dev
sudo apt install software-properties-common
sudo apt update
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
sudo apt install -y apache2 libapache2-mod-php7.4 php7.4 php7.4-cgi php7.4-cli php7.4-common php7.4-curl php7.4-dev php7.4-gd php7.4-json php7.4-mysql php7.4-pgsql php7.4-readline php7.4-sqlite3 php7.4-xml php7.4-xmlrpc libreadline-dev libssl-dev openssl zlib1g zlib1g-dev postfix
🔧 Activar PHP 7.4

Desactivar PHP 8 y activar 7.4

sudo a2dismod php8.1
sudo a2enmod php7.4
sudo systemctl restart apache2
sudo update-alternatives --set php /usr/bin/php7.4
📦 2. Configuración TCL

Instalación del lenguaje TCL

/usr/bin/updatedb
locate tclConfig.sh

git clone https://github.com/Shadowss/tcl8.4.13-src
cd tcl8.4.13-src/unix/
chmod +x configure
./configure
make
make install
cd ../..
ln -s /usr/local/lib/tclConfig.sh /usr/lib
🗄️ 3. PostgreSQL 9.3.4

Base de datos para GNUWorld

wget https://unionchat.org/postgresql-v9.3.4.tar.gz
tar -zxvf postgresql-v9.3.4.tar.gz
cd postgresql-9.3.4/
chmod +x configure
./configure --with-CXX --enable-multibyte --with-tclconfig=/usr/lib --without-tk --without-readline --without-zlib
make
make install
📁 Configuración lib

Agregar librerías del sistema

/usr/local/pgsql/lib
🔧 4. PGTCL 1.5

Compilación de módulos IRC

git clone https://github.com/Shadowss/pgtcl1.5.git
cd pgtcl1.5
export PG_CONFIG=/usr/local/pgsql/bin/pg_config
chmod +x configure
./configure --enable-modules=ccontrol,cservice,dronescan,openchanfix --with-pgsql-home=/usr/local/pgsql --with-extra-includes=/usr/include/postgresql/
make
cd generic/
⚠️ Fix pgtcl

Editar header

nano pgtclAppInit.c
# cambiar  por "libpgtcl.h"
cd ..
🧠 GNUWorld DB

Crear base del sistema

adduser gnuworld
mkdir /usr/local/pgsql/data
chown gnuworld /usr/local/pgsql/data
su - gnuworld
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
/usr/local/pgsql/bin/postmaster -B 64 -N 32 -i -D /usr/local/pgsql/data -o -F -h 127.0.0.1 >/dev/null 2>&1 &
🌐 GNUWorld instalación

Descarga y compilación

su - gnuworld
wget https://unionchat.org/ayuda/gnuworld_v3.tar.gz
tar -xvzf gnuworld_v3.tar.gz
cd gnuworld/
chmod +x configure
./configure --enable-modules=ccontrol,cservice,dronescan,openchanfix --with-pgsql-home=/usr/local/pgsql --with-extra-includes=/usr/include/postgresql/
make
make install
cd doc
pwd
🧾 Importación SQL COMPLETA

NO OMITIR NINGÚN ARCHIVO

/usr/local/pgsql/bin/psql cservice < cservice.sql
/usr/local/pgsql/bin/psql cservice < cservice.config.sql
/usr/local/pgsql/bin/psql cservice < languages.sql
/usr/local/pgsql/bin/psql cservice < language_table.sql
/usr/local/pgsql/bin/psql cservice < greeting.sql
/usr/local/pgsql/bin/psql cservice < cservice.help.sql
/usr/local/pgsql/bin/psql cservice < cservice.web.sql
/usr/local/pgsql/bin/psql cservice < cservice.addme.sql

/usr/local/pgsql/bin/psql ccontrol < ccontrol.sql
/usr/local/pgsql/bin/psql ccontrol < ccontrol.help.sql
/usr/local/pgsql/bin/psql ccontrol < ccontrol.addme.sql
/usr/local/pgsql/bin/psql ccontrol < ccontrol.commands.sql
🚀 Finalización

Arranque del sistema

cp GNUWorld.example.conf GNUWorld.conf
cp cservice.example.conf cservice.conf
cp ccontrol.example.conf ccontrol.conf
cp dronescan.example.conf dronescan.conf
cp openchanfix.example.conf openchanfix.conf

./gnuworld -f GNUWorld.conf &

✔ Instalación GNUWorld + Cservice Web lista