# 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/underchat/ircu2.git cd ircu2 # 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 # Setare versiune la build ./install.sh --version 1.0.3 # Combinatie de optiuni ./install.sh --prefix /opt/ircd --maxcon 16384 --debug ``` ### Toate Opțiunile Disponibile ``` Usage: ./install.sh [OPTIONS] OPTIONS: -h, --help Afiseaza mesajul de ajutor -p, --prefix PATH Calea de instalare (implicit: $HOME/ircd) -m, --maxcon NUM Numarul maxim de conexiuni (implicit: 4096) -d, --debug Activeaza modul de debug -s, --no-ssl Dezactiveaza suportul SSL/TLS -c, --config FILE Fisier de configurare initial -V, --version VER Seteaza versiunea in PATCHLEVEL (ex: 1.0.3) ``` ## 📁 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ă 🇷🇴