Guía completa paso a paso para VPS Ubuntu 22 (UnionChat 2026)
Actualizar sistema e instalar dependencias base
apt-get clean all apt-get clean metadata apt-get update apt-get install -y systemd nano
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
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
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
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
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
Agregar librerías del sistema
/usr/local/pgsql/lib
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/
Editar header
nano pgtclAppInit.c # cambiarpor "libpgtcl.h" cd ..
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 &
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
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
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