ircu2/INSTALL_AUTO.md

365 lines
7.4 KiB
Markdown

# Instalare Automată UnderChat IRCd 🚀
Această pagină descrie cum să instalezi și configurezi automat UnderChat IRCd folosind scripturile furnizate.
## 📋 Cerințe
Înainte de a rula scripturile de instalare, asigură-te că ai următoarele pachete instalate:
### Debian/Ubuntu
```bash
sudo apt-get update
sudo apt-get install -y build-essential autoconf automake libtool libssl-dev perl
```
### RHEL/CentOS/Fedora
```bash
sudo yum install -y gcc make autoconf automake libtool openssl-devel perl
```
### macOS
```bash
xcode-select --install
brew install autoconf automake libtool openssl
```
## 🚀 Instalare Rapidă
### Opțiunea 1: Instalare Automată Standard
Cea mai simplă metodă - lase script-ul să facă totul:
```bash
# Clonează repository-ul
git clone https://gitlab.back.ro/itdata/underchat-ircd.git
cd underchat-ircd
# Execută instalarea automată
./install.sh
```
Script-ul va:
1. ✓ Verifica dependențele
2. ✓ Ruleaza `./configure` cu setări optime
3. ✓ Compilează codul sursă
4. ✓ Instalează binare și biblioteci
5. ✓ Cere informații de bază și generează `ircd.conf`
6. ✓ Creează structura de directoare necesară
### Opțiunea 2: Instalare cu Configurare Interactivă
Pentru control complet asupra setărilor:
```bash
./install.sh # Instalare standard
./configure-interactive.sh # Configurare avansată
```
Script-ul interactiv te va ghida prin:
- Setări generale (nume, descriere, numeric)
- Informații administrator
- Configurare porturi
- Clase de conexiuni
- Setări operatori
- Caracteristici avansate
## ⚙️ Opțiuni de Instalare
### Instalare Customizată
```bash
# Instalare cu prefix personalizat
./install.sh --prefix /opt/ircd
# Instalare cu maxim conexiuni diferit
./install.sh --maxcon 8192
# Instalare cu debug activat
./install.sh --debug
# Dezactivare SSL/TLS
./install.sh --no-ssl
# Combinație de opțiuni
./install.sh --prefix /opt/ircd --maxcon 16384 --debug
```
### Toate Opțiunile Disponibile
```
Usage: ./install.sh [OPTIONS]
OPTIONS:
-h, --help Afișează mesajul de ajutor
-p, --prefix PATH Calea de instalare (implicit: $HOME/ircd)
-m, --maxcon NUM Numărul maxim de conexiuni (implicit: 4096)
-d, --debug Activează modul de debug
-s, --no-ssl Dezactivează suportul SSL/TLS
-c, --config FILE Fișier de configurare inițial
```
## 📁 Structura Directoarelor Post-Instalare
După instalare, vei avea:
```
~/ircd/ (prefix implicit)
├── bin/
│ ├── ircd # Executable principal
│ ├── umkpasswd # Generator de parole
│ └── ...
├── lib/
│ ├── libircd.a # Biblioteci compilate
│ └── ...
├── etc/
│ ├── ircd.conf # Fișier configurare principal
│ ├── ircd.motd # Message of the Day
│ └── ircd.opermotd # Operator MOTD
├── log/
│ └── ircd.log # Fișier de log
└── var/
└── ...
```
## 🔧 Pornirea Serverului
### Pornire Standard
```bash
# Folosind fișierul de configurare implicit
~/ircd/bin/ircd
# Sau specificând fișierul de configurare
~/ircd/bin/ircd -f ~/ircd/etc/ircd.conf
```
### Opțiuni de Pornire
```bash
# Pornire în background
nohup ~/ircd/bin/ircd &
# Pornire cu debugging
~/ircd/bin/ircd -d
# Verificare sintaxă configurare
~/ircd/bin/ircd -c
# Afișare versiune
~/ircd/bin/ircd -v
```
## 🔐 Setare Parola Operator
Pentru a folosi comenzi de operator, ai nevoie de o parola hash:
```bash
# Generează parola
~/ircd/bin/umkpasswd
# Output exemplu:
# Introdu parola: ****
# Repeta parola: ****
# Hash: $2a$04$NTy1i.X/8pXekNBNbMRlOu1JAjIiMfPGIe1sZf0Xqq.2jzqPMfN/G
# Copiază hash-ul în ~/ircd/etc/ircd.conf
nano ~/ircd/etc/ircd.conf
# Cauta secțiunea Operator { } și înlocuiește password = "..."
```
## 📝 Editare Configurare
Fișierul de configurare este generat automat, dar poți să-l editezi:
```bash
nano ~/ircd/etc/ircd.conf
```
### Secțiuni Importante
**General** - Setări server
```
General {
name = "irc.example.com";
description = "My IRC Server";
numeric = 1;
};
```
**Operator** - Definire operatori
```
Operator {
nick = "root";
password = "$2a$04$..."; # Hash bcrypt
privileges = "+all";
host = "127.0.0.1";
};
```
**Port** - Configurare porturi
```
Port {
port = 6667;
mask = 0.0.0.0;
};
```
**Class** - Clase de conexiuni
```
Class {
name = "clients";
pingfreq = 120;
maxlinks = 10;
sendq = 40000;
};
```
## 🌐 Conectare la Server
După pornire, poți să te conectezi cu un client IRC:
```
Server: localhost
Port: 6667 (sau 6697 pentru SSL)
Nick: nickname
```
## 🔍 Verificare Status
### Log-uri
```bash
# Afișare log-uri live
tail -f ~/ircd/log/ircd.log
# Ultimi 50 de rânduri
tail -50 ~/ircd/log/ircd.log
# Căutare erori
grep ERROR ~/ircd/log/ircd.log
```
### Procese Active
```bash
# Verifică dacă ircd rulează
ps aux | grep ircd
# Procese pe port
netstat -tlnp | grep 6667
```
## 🐛 Rezolvare Probleme
### "Permission denied" la ./configure
```bash
# Verifică permisiunile
ls -la configure
# Dacă nu are +x, corecteaza:
chmod +x configure
chmod +x install-sh config.guess config.sub
```
### "Compilation failed"
```bash
# Verifica logul de compilare
make 2>&1 | tail -50
# Curață și încearcă din nou
make clean
./configure --enable-debug
make
```
### "Port already in use"
```bash
# Verifică ce folosește portul
lsof -i :6667
# Schimbă portul în configurare
nano ~/ircd/etc/ircd.conf
# Cauta Port { port = 6667; }
```
### Errori SSL/TLS
Dacă ai probleme cu SSL:
```bash
# Reinstalează fără SSL
./install.sh --no-ssl
# Sau instalează openssl-dev
sudo apt-get install libssl-dev
```
## 📚 Documentație Suplimentară
- **CLAUDE.md** - Documentație tehnică pentru dezvoltatori
- **doc/example.conf** - Exemplu de configurare detaliat
- **doc/readme.features** - Descriere caracteristici
- **doc/p10.txt** - Protocol P10 (server-to-server)
## 🤝 Networking
Pentru a conecta mai multe servere:
```bash
# Server A: editează ~/ircd/etc/ircd.conf și adaugă:
Connect {
name = "server-b.example.com";
host = "192.168.1.100";
port = 6666;
password = "link_password";
class = "servers";
};
# Server B: configurare similar
# Restart ambele servere
~/ircd/bin/ircd -r
```
## 📖 Comenzi Administrator
După conectare ca operator:
```
/OPER root parola_ta
/STATS c # Statistici conexiuni
/STATS u # Uptime
/ADMIN # Informații admin
/MOTD # Afișează MOTD
/LUSERS # Lista utilizatori
/WALLOPS "Mesaj" # Mesaj la operatori
/KILL nick razlog # Deconectare forcată
```
## 🎯 Sfaturi de Securitate
1. **Schimbă parola operatorului** imediat după instalare
2. **Securizează configurarea**: `chmod 600 ~/ircd/etc/ircd.conf`
3. **Backupează configurarea**: `cp ~/ircd/etc/ircd.conf ~/ircd/etc/ircd.conf.bak`
4. **Monitorizează log-urile**: `tail -f ~/ircd/log/ircd.log`
5. **Activează SSL/TLS** pentru conexiuni externe
6. **Restricționează accesul** cu firewall rules
## 📞 Support
Pentru ajutor suplimentar:
- Verifică documentația din directorul `doc/`
- Citește README original
- Consulta CLAUDE.md pentru detalii tehnice
---
**Data creării**: 13 februarie 2026
**Versiune**: 1.0
**Limbă**: Română 🇷🇴