Manual de Instalacion UnionChat

Instalacion de Librerias, IRCu y GNUWorld - Cservice Web en VPS UBUNTU 22 | 2026

1 Instalacion de Librerias del Sistema

EJECUTAR COMO ROOT
Limpieza y actualizacion inicial:
apt-get clean all 
apt-get clean metadata 
apt-get update 
apt-get install -y systemd nano
Librerias principales para IRcu:
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 de compilacion avanzada y GNUWorld:
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
sudo apt-get install build-essential
sudo apt-get install fort77
sudo apt-get install xorg-dev
sudo apt-get install liblzma-dev libblas-dev gfortran
sudo apt-get install gcc-multilib
sudo apt-get install gobjc++
sudo apt-get install 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

NOTA: Las siguientes librerias son para WebCService. Necesitas PHP 7.4 para que no se bloquee la web:
apt install apache2 apache2-bin apache2-data apache2-dev apache2-doc apache2-ssl-dev apache2-utils libapache2-mod-php 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

2 Configuracion de TCL

Comprueba si tienes TCL instalado:
/usr/bin/updatedb
locate tclConfig.sh
Si no has instalado TCL, este es el siguiente paso (�No te saltes esto aunque hayas instalado tcl-dev!):
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 Instalacion de PostgreSQL 9.3.4 Version UnionChat

NOTA: No recomendamos apt-get install para Postgres, hazlo manualmente!
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
Edita el archivo : nano /etc/ld.so.conf y agrega la linea: /usr/local/pgsql/lib. Luego guarda (Ctrl+X, Y, Enter) y cd .

4 Instalacion de PGTCL 1.5

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/
Edita : nano pgtclAppInit.c: Cambia <libpgtcl.h> por "libpgtcl.h" luego cd ..
TRUCO: Crea un archivo vacio para evitar el error del instalador:
nano ./doc/*.n
# Dentro escribe una [A] , y borra todo. Asegúrate de que el archivo esté vacío.
make pgtclsh
make install
mv pgtclsh /usr/local/pgsql/bin
mv libpgtcl1.5.so /usr/local/pgsql/lib
updatedb
ldconfig
Asegurate de que todo este bien : /usr/local/pgsql/bin/pgtclsh :NOTA: Esto va a mostrar algunas como % - NOTA: Crt + C y cerrar. (¡Todo esto está bien! y cd )
¡Ahora vamos a crear la BASE DE DATOS!
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 &
Verificamos cd : en la root ponemos esto : ls /usr/include/postgresql/libpq-fe.h

Instalacion de GNUWorld

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/
Para usar comandos por IRC (/msg X hello), edita cd mod.cservice luego nano cservice_config.h y cambia #undef por #define en: USE_NEWPASS, ALLOW_HELLO y #define por #undef en IPR_DEFAULT_REJECT. Guardamos Control X (ENTER ) luego cd .. y ejecutamos lo siguiente...
make
make install
cd doc
pwd

NOTA: ¡Debe crearlo PASO A PASO! ¡O no funcionará!
NOTA: A algunas personas les gusta editar cservice.addme.sql para un nuevo usuario (Admin + contraseña md5).
NOTA: Si permanece en la versión predeterminada, iniciará sesión con:
NOTA: ¡Puedes editar esta información o no!
NOTA: Si editas cservice.addme.sql Usuario y cambias de Administrador a usuario personalizado.
Debes editar. chanfix.addme.sql, cservice.addme.sql, ccontrol.addme.sql
(Use nano): nano cservice.addme.sql
(Use nano): nano ccontrol.addme.sql

cd ..
cd mod.openchanfix
cd doc
(Use nano): nano chanfix.addme.sql
cd ..
cd ..

Importacion de Bases de Datos (SQL)

Debes hacerlo paso a paso o no funcionara.
Creacion de Bases de Datos: Creamos CSERVICE SQL. Creamos Cservice WEB SQL.
cd doc

/usr/local/pgsql/bin/createdb --template=template0 -E=SQL_ASCII cservice
/usr/local/pgsql/bin/createdb --template=template0 -E=SQL_ASCII dronescan
/usr/local/pgsql/bin/createdb local_db
/usr/local/pgsql/bin/psql local_db < local_db.sql
/usr/local/pgsql/bin/createdb --template=template0 -E=SQL_ASCII ccontrol
/usr/local/pgsql/bin/createdb chanfix
Importacion de archivos .sql (Directorio doc):
/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
Importacion Chanfix:
cd ../mod.openchanfix/doc/
/usr/local/pgsql/bin/psql chanfix < chanfix.sql
/usr/local/pgsql/bin/psql chanfix < chanfix.languages.sql
/usr/local/pgsql/bin/psql chanfix < chanfix.language.english.sql  
/usr/local/pgsql/bin/psql chanfix < chanfix.help.sql
/usr/local/pgsql/bin/psql chanfix < chanfix.addme.sql

7 Finalizacion y Arranque

Copia los archivos de ejemplo y editalos con tus datos:
cd ~/gnuworld/bin
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
Ejecucion:
./gnuworld -f GNUWorld.conf &

¡Listo! Logueate con: /msg X login Admin temPass2020@ y cambia tu clave. - /msg G login Admin temPass

Instalacion de Cservice - Web

root@ircd:~# updatedb
nano /etc/php/7.4/apache2/php.ini 
Busca esta linea short_open_tag (cambia Off por On) , control +x luego ENTER y reseteamos apache service apache2 restart
curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer
su - gnuworld
wget https://unionchat.org/ayuda/cservice-web_v3.tar.gz
tar -xvzf cservice-web_v3.tar.gz
cd cservice-web
composer install
cd php_includes
Antes de ejecutar los 2 cp asegurate de que no esteen esos archivos y si estan solo entra y edita con tus datos,
config.inc - cmaster.inc usando nano  luego de editarlos guarda Control X ... si no estan ejecutalos... 
cp config.inc.dist config.inc
cp cmaster.inc.dist cmaster.inc

Sigue ejcutando:

cp blackhole.inc.dist blackhole.inc
cd ..
cd ..
su
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
cp cmaster.inc.dist cmaster.inc
cd   

service apache2 restart

¡Listo! http://cservice.tudominio.org/live. recomendable usar ssl en tus servicios https://cservice.tudominio.org/live