7.6 KiB
🔧 Comanda ./configure - UnderChat IRCd
Data: 13 februarie 2026
Versiune: v1.0.1
📋 Comanda Completă de Bază
./configure --prefix=$HOME/ircd --with-maxcon=4096
Parametri Impliciți:
- --prefix:
$HOME/ircd(ex:/home/ircd/ircd) - --with-maxcon:
4096(număr maxim de conexiuni simultane)
🎯 Comanda Completă cu Toate Opțiunile
Pentru sisteme normale (x86_64, i386, etc.):
./configure \
--prefix=$HOME/ircd \
--with-maxcon=4096
Pentru sisteme ARM 64-bit (aarch64):
./configure \
--prefix=$HOME/ircd \
--with-maxcon=4096 \
--build=aarch64-unknown-linux-gnu
Cu SSL activat (implicit):
./configure \
--prefix=$HOME/ircd \
--with-maxcon=4096
Cu SSL dezactivat:
./configure \
--prefix=$HOME/ircd \
--with-maxcon=4096 \
--disable-ssl
Cu modul Debug activat:
./configure \
--prefix=$HOME/ircd \
--with-maxcon=4096 \
--enable-debug
🚀 Comanda Completă din install.sh
Scriptul install.sh construiește dinamic comanda ./configure astfel:
# Linia 226-250 din install.sh
local config_args="--prefix=$PREFIX"
config_args="$config_args --with-maxcon=$MAXCON"
# Dacă debug este activat
if [ $ENABLE_DEBUG -eq 1 ]; then
config_args="$config_args --enable-debug"
fi
# Dacă SSL este dezactivat
if [ $ENABLE_SSL -eq 0 ]; then
config_args="$config_args --disable-ssl"
fi
# Pentru sisteme aarch64
if [ "$(uname -m)" = "aarch64" ]; then
config_args="$config_args --build=aarch64-unknown-linux-gnu"
fi
# Executare finală
./configure $config_args
📝 Variante de Instalare
1. Instalare Standard (Recomandată)
./install.sh
# Rulează: ./configure --prefix=$HOME/ircd --with-maxcon=4096
2. Instalare Custom cu Parametri
./install.sh --prefix /opt/ircd --maxcon 8192
# Rulează: ./configure --prefix=/opt/ircd --with-maxcon=8192
3. Instalare cu Debug
./install.sh --debug
# Rulează: ./configure --prefix=$HOME/ircd --with-maxcon=4096 --enable-debug
4. Instalare fără SSL
./install.sh --no-ssl
# Rulează: ./configure --prefix=$HOME/ircd --with-maxcon=4096 --disable-ssl
5. Instalare Completă Custom
./install.sh --prefix /opt/ircd --maxcon 10000 --debug
# Rulează: ./configure --prefix=/opt/ircd --with-maxcon=10000 --enable-debug
🔍 Parametri Detaliat
--prefix=PATH
Descriere: Directorul de instalare al serverului IRC
Implicit: $HOME/ircd (ex: /home/ircd/ircd)
Exemple:
--prefix=/opt/ircd
--prefix=/usr/local/ircd
--prefix=$HOME/underchat
Structură directoare create:
$PREFIX/
├── bin/ # Executabilul ircd și utilitare
├── etc/ # Fișierul ircd.conf
├── lib/ # Biblioteci și example.conf
├── log/ # Log-uri server
└── var/ # PID și fișiere temporare
--with-maxcon=NUM
Descriere: Numărul maxim de conexiuni simultane
Implicit: 4096
Valori recomandate:
- Server mic: 1024 - 2048
- Server mediu: 4096 - 8192
- Server mare: 10000 - 20000
- Hub principal: 30000+
Exemplu:
--with-maxcon=8192
--with-maxcon=15000
--enable-debug
Descriere: Activează simboluri de debug și mesaje verbose
Folosire: Pentru dezvoltare și troubleshooting
Impact:
- ✅ Mesaje detaliate în log-uri
- ✅ Stack traces la crash-uri
- ❌ Performanță redusă
- ❌ Executabil mai mare
Recomandat: NU pentru producție
--disable-ssl
Descriere: Dezactivează suportul SSL/TLS
Implicit: SSL este ACTIVAT
Folosire: Când nu ai OpenSSL instalat sau nu ai nevoie de SSL
Impact:
- ❌ Nu poți folosi portul 6697 (SSL)
- ❌ Conexiuni necriptate
- ✅ Compilare mai rapidă
- ✅ Fără dependență de OpenSSL
Recomandat: NU pentru producție (lasă SSL activat)
--build=ARCH
Descriere: Specifică arhitectura pentru cross-compilation
Folosire: Automat detectat pentru aarch64
Valori:
--build=aarch64-unknown-linux-gnu # ARM 64-bit
--build=x86_64-unknown-linux-gnu # Intel/AMD 64-bit
--build=i386-unknown-linux-gnu # Intel 32-bit
Când se folosește:
- Automat pentru sisteme aarch64
- Pentru cross-compilation
- Când
./config.guessnu detectează corect
🎯 Exemple Practice
Server Personal (Desktop/VPS Mic)
./configure \
--prefix=$HOME/ircd \
--with-maxcon=2048
Server Comunitate (VPS Mediu)
./configure \
--prefix=/opt/ircd \
--with-maxcon=8192
Hub Principal (Dedicated Server)
./configure \
--prefix=/opt/ircd \
--with-maxcon=20000
Testing/Development
./configure \
--prefix=$HOME/ircd-dev \
--with-maxcon=1024 \
--enable-debug
ARM Server (Raspberry Pi, Oracle ARM)
./configure \
--prefix=$HOME/ircd \
--with-maxcon=4096 \
--build=aarch64-unknown-linux-gnu
🔧 Troubleshooting
Eroare: "cannot guess build type"
Soluție 1: Adaugă --build explicit
./configure --prefix=$HOME/ircd --with-maxcon=4096 --build=$(uname -m)-unknown-linux-gnu
Soluție 2: Rulează fix-aarch64.sh
./fix-aarch64.sh
./configure --prefix=$HOME/ircd --with-maxcon=4096
Eroare: "OpenSSL not found"
Soluție 1: Instalează OpenSSL
# Ubuntu/Debian
sudo apt-get install libssl-dev
# CentOS/RHEL
sudo yum install openssl-devel
Soluție 2: Dezactivează SSL
./configure --prefix=$HOME/ircd --with-maxcon=4096 --disable-ssl
Eroare: "Permission denied"
Soluție: Dă permisiuni de execuție
chmod +x configure
./configure --prefix=$HOME/ircd --with-maxcon=4096
📚 Verificare Configurare
După rularea ./configure, verifică:
1. Mesajul de succes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating ircd/Makefile
config.status: creating config.h
2. Fișierele generate
ls -la config.h Makefile ircd/Makefile
3. Setările din config.h
grep -E "(MAXCON|PREFIX|SSL)" config.h
🚀 Pași După Configure
# 1. Configure (FACUT)
./configure --prefix=$HOME/ircd --with-maxcon=4096
# 2. Compilare
make
# 3. Instalare
make install
# 4. Configurare ircd.conf
nano $HOME/ircd/etc/ircd.conf
# 5. Pornire server
$HOME/ircd/bin/ircd -f $HOME/ircd/etc/ircd.conf
📖 Ajutor Configure
Pentru a vedea toate opțiunile disponibile:
./configure --help
Output (extras):
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
Optional Features:
--enable-debug enable debug mode
--disable-ssl disable SSL support
--with-maxcon=NUM set maximum connections [4096]
--build=BUILD configure for building on BUILD [guessed]
✅ Checklist Înainte de Configure
- Verficat gcc instalat:
gcc --version - Verificat make instalat:
make --version - Verificat OpenSSL instalat:
openssl version - Verificat permisiuni:
ls -la configure - Backup config vechi:
cp -r $PREFIX $PREFIX.bak - Citit documentația:
./configure --help
🎉 TL;DR - Quick Reference
Comandă standard (RECOMANDATĂ):
./configure --prefix=$HOME/ircd --with-maxcon=4096
SAU folosește install.sh:
./install.sh
# Gestionează automat toate parametrii
Repository: https://gitlab.back.ro/underchat/ircu2.git
Versiune: v1.0.1
Data: 13 februarie 2026