365 lines
7.4 KiB
Markdown
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ă 🇷🇴
|
|
|