Adăugare documentație completă pentru comanda ./configure
This commit is contained in:
parent
f205b5f35b
commit
b6e9419550
|
|
@ -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
|
||||
|
||||
Loading…
Reference in New Issue