From b6e9419550ba4c3ded25f53bb3149c5e0a7446f7 Mon Sep 17 00:00:00 2001 From: mihaiitdata Date: Fri, 13 Feb 2026 11:31:20 +0200 Subject: [PATCH] =?UTF-8?q?Ad=C4=83ugare=20documenta=C8=9Bie=20complet?= =?UTF-8?q?=C4=83=20pentru=20comanda=20./configure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- COMANDA_CONFIGURE.md | 378 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 378 insertions(+) create mode 100644 COMANDA_CONFIGURE.md diff --git a/COMANDA_CONFIGURE.md b/COMANDA_CONFIGURE.md new file mode 100644 index 0000000..9f7d993 --- /dev/null +++ b/COMANDA_CONFIGURE.md @@ -0,0 +1,378 @@ +# 🔧 Comanda ./configure - UnderChat IRCd + +**Data**: 13 februarie 2026 +**Versiune**: v1.0.1 + +--- + +## 📋 Comanda Completă de Bază + +```bash +./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.): +```bash +./configure \ + --prefix=$HOME/ircd \ + --with-maxcon=4096 +``` + +### Pentru sisteme ARM 64-bit (aarch64): +```bash +./configure \ + --prefix=$HOME/ircd \ + --with-maxcon=4096 \ + --build=aarch64-unknown-linux-gnu +``` + +### Cu SSL activat (implicit): +```bash +./configure \ + --prefix=$HOME/ircd \ + --with-maxcon=4096 +``` + +### Cu SSL dezactivat: +```bash +./configure \ + --prefix=$HOME/ircd \ + --with-maxcon=4096 \ + --disable-ssl +``` + +### Cu modul Debug activat: +```bash +./configure \ + --prefix=$HOME/ircd \ + --with-maxcon=4096 \ + --enable-debug +``` + +--- + +## 🚀 Comanda Completă din install.sh + +Scriptul `install.sh` construiește dinamic comanda `./configure` astfel: + +```bash +# 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ă) +```bash +./install.sh +# Rulează: ./configure --prefix=$HOME/ircd --with-maxcon=4096 +``` + +### 2. Instalare Custom cu Parametri +```bash +./install.sh --prefix /opt/ircd --maxcon 8192 +# Rulează: ./configure --prefix=/opt/ircd --with-maxcon=8192 +``` + +### 3. Instalare cu Debug +```bash +./install.sh --debug +# Rulează: ./configure --prefix=$HOME/ircd --with-maxcon=4096 --enable-debug +``` + +### 4. Instalare fără SSL +```bash +./install.sh --no-ssl +# Rulează: ./configure --prefix=$HOME/ircd --with-maxcon=4096 --disable-ssl +``` + +### 5. Instalare Completă Custom +```bash +./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**: +```bash +--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**: +```bash +--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**: +```bash +--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.guess` nu detectează corect + +--- + +## 🎯 Exemple Practice + +### Server Personal (Desktop/VPS Mic) +```bash +./configure \ + --prefix=$HOME/ircd \ + --with-maxcon=2048 +``` + +### Server Comunitate (VPS Mediu) +```bash +./configure \ + --prefix=/opt/ircd \ + --with-maxcon=8192 +``` + +### Hub Principal (Dedicated Server) +```bash +./configure \ + --prefix=/opt/ircd \ + --with-maxcon=20000 +``` + +### Testing/Development +```bash +./configure \ + --prefix=$HOME/ircd-dev \ + --with-maxcon=1024 \ + --enable-debug +``` + +### ARM Server (Raspberry Pi, Oracle ARM) +```bash +./configure \ + --prefix=$HOME/ircd \ + --with-maxcon=4096 \ + --build=aarch64-unknown-linux-gnu +``` + +--- + +## 🔧 Troubleshooting + +### Eroare: "cannot guess build type" +**Soluție 1**: Adaugă `--build` explicit +```bash +./configure --prefix=$HOME/ircd --with-maxcon=4096 --build=$(uname -m)-unknown-linux-gnu +``` + +**Soluție 2**: Rulează `fix-aarch64.sh` +```bash +./fix-aarch64.sh +./configure --prefix=$HOME/ircd --with-maxcon=4096 +``` + +### Eroare: "OpenSSL not found" +**Soluție 1**: Instalează OpenSSL +```bash +# Ubuntu/Debian +sudo apt-get install libssl-dev + +# CentOS/RHEL +sudo yum install openssl-devel +``` + +**Soluție 2**: Dezactivează SSL +```bash +./configure --prefix=$HOME/ircd --with-maxcon=4096 --disable-ssl +``` + +### Eroare: "Permission denied" +**Soluție**: Dă permisiuni de execuție +```bash +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 +```bash +ls -la config.h Makefile ircd/Makefile +``` + +### 3. Setările din config.h +```bash +grep -E "(MAXCON|PREFIX|SSL)" config.h +``` + +--- + +## 🚀 Pași După Configure + +```bash +# 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: +```bash +./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Ă)**: +```bash +./configure --prefix=$HOME/ircd --with-maxcon=4096 +``` + +**SAU folosește install.sh**: +```bash +./install.sh +# Gestionează automat toate parametrii +``` + +--- + +**Repository**: https://gitlab.back.ro/underchat/ircu2.git +**Versiune**: v1.0.1 +**Data**: 13 februarie 2026 +