7.5 KiB
🔧 TROUBLESHOOTING: Failed to read configuration file
Eroare: SYSTEM [CRIT]: Failed to read configuration file /path/to/ircd.conf
Versiune: v1.0.2
Data: 13 februarie 2026
🎯 Problema
Serverul IRCd nu pornește și afișează eroarea:
[2026-2-13 9:48:01] SYSTEM [CRIT]: Failed to read configuration file /home/ircd/ircd/etc/ircd.conf
Deși fișierul ircd.conf există, serverul nu îl poate citi.
🔍 Cauze Posibile
1. Permisiuni de Citire (CEA MAI COMUNĂ)
Fișierul există dar utilizatorul care rulează serverul nu are dreptul să îl citească.
2. Fișier Gol sau Corupt
Fișierul există dar are 0 bytes sau este corupt.
3. Cale Greșită
Serverul caută fișierul într-o locație diferită.
4. Proprietar Diferit
Fișierul aparține altui utilizator.
5. Sintaxă Invalidă
Config-ul are erori de sintaxă care împiedică citirea.
✅ Soluții - Pas cu Pas
SOLUȚIE 1: Diagnosticare Automată (RECOMANDATĂ)
Rulează noul script de diagnosticare:
./diagnose.sh
Acest script va verifica automat:
- ✅ Existența fișierului
- ✅ Permisiuni de citire
- ✅ Mărimea fișierului
- ✅ Sintaxa configurației
- ✅ Acolade și ghilimele
- ✅ Proprietar fișier
- ✅ Directoare necesare
Output-ul te va ghida spre problema exactă!
SOLUȚIE 2: Verificare Manuală Rapidă
# 1. Verifică dacă fișierul există
ls -la ~/ircd/etc/ircd.conf
# Ar trebui să vezi ceva gen:
# -rw------- 1 ircd ircd 12345 Feb 13 09:00 ircd.conf
# 2. Verifică conținutul (primele 10 linii)
head -10 ~/ircd/etc/ircd.conf
# Ar trebui să vezi configurația (General, Port, etc.)
SOLUȚIE 3: Remediere Permisiuni
Dacă diagnosticarea arată probleme de permisiuni:
# Setează permisiuni corecte (owner poate citi/scrie)
chmod 600 ~/ircd/etc/ircd.conf
# Verifică din nou
ls -la ~/ircd/etc/ircd.conf
Permisiunile corecte:
- 600 =
-rw-------(doar owner poate citi/scrie) - 644 =
-rw-r--r--(owner citire/scriere, alții citire)
SOLUȚIE 4: Verificare Proprietar
# Verifică cine este proprietarul
stat ~/ircd/etc/ircd.conf
# SAU
ls -la ~/ircd/etc/ircd.conf
# Dacă proprietarul este diferit, schimbă-l:
chown $USER:$USER ~/ircd/etc/ircd.conf
SOLUȚIE 5: Test Sintaxă Config
# Testează configurația cu ircd -c
~/ircd/bin/ircd -c -f ~/ircd/etc/ircd.conf
# SAU folosind meniul admin
./admin.sh
# → Opțiunea 8 (Test sintaxă configurare)
Dacă apar erori de sintaxă:
- Verifică acolade
{ }potrivite - Verifică ghilimele
" "închise - Verifică punct-virgulă
;la sfârșitul liniilor
SOLUȚIE 6: Regenerare Config
Dacă fișierul este corupt sau gol:
# Folosind meniul admin
./admin.sh
# → Opțiunea 5 (Editare configurare)
# → În editor, șterge totul și salvează fișierul gol
# → La ieșire din editor, va fi creat un config nou
# SAU manual cu install.sh
./install.sh
# → Va detecta config existent și va întreba dacă vrei să îl suprascrii
🛠️ Folosind Meniul Admin Îmbunătățit (v1.0.2)
Din versiunea v1.0.2, meniul admin.sh are verificări avansate:
./admin.sh
Opțiunea 1 - Pornire Server
Acum verifică automat:
- ✅ Existența fișierului config
- ✅ Permisiuni de citire
- ✅ Fișier nu este gol
- ✅ Permisiuni executabil
- ✅ Afișează diagnosticare detaliată la erori
Opțiunea 8 - Test Sintaxă
Acum verifică:
- ✅ Permisiuni detaliate
- ✅ Mărimea fișierului
- ✅ Sintaxă acolade
- ✅ Statistici config (blocuri General, Port, etc.)
- ✅ Sugestii de remediere
📋 Checklist Verificare Completă
Urmează acești pași în ordine:
# ☐ 1. Rulează diagnosticare automată
./diagnose.sh
# ☐ 2. Verifică existența fișierului
ls -la ~/ircd/etc/ircd.conf
# ☐ 3. Verifică conținutul (nu este gol)
wc -l ~/ircd/etc/ircd.conf
# Ar trebui să aibă > 0 linii
# ☐ 4. Verifică permisiuni
# Ar trebui: -rw------- sau -rw-r--r--
chmod 600 ~/ircd/etc/ircd.conf
# ☐ 5. Testează sintaxă
~/ircd/bin/ircd -c -f ~/ircd/etc/ircd.conf
# ☐ 6. Verifică proprietar
stat ~/ircd/etc/ircd.conf
# Owner ar trebui să fie utilizatorul curent
# ☐ 7. Încearcă pornirea din nou
./admin.sh → Opțiunea 1
🎯 Exemplu Real - Rezolvare Pas cu Pas
Problema ta specifică:
[2026-2-13 9:48:01] SYSTEM [CRIT]: Failed to read configuration file /home/ircd/ircd/etc/ircd.conf
Pași de rezolvare:
# 1. Conectează-te ca utilizatorul ircd
su - ircd
# SAU
sudo -u ircd bash
# 2. Rulează diagnosticarea
cd ~/ircu2
./diagnose.sh
# 3. Observă output-ul - va afișa exact ce este greșit
# 4. Urmează sugestiile din diagnose.sh
# 5. Dacă diagnosticarea spune "permisiuni", rulează:
chmod 600 /home/ircd/ircd/etc/ircd.conf
# 6. Dacă diagnosticarea spune "fișier gol", regenerează:
./admin.sh → Opțiunea 5 (editează și salvează un config valid)
# 7. Test final:
./admin.sh → Opțiunea 1 (Pornire server)
🔧 Troubleshooting Avansat
Verifică exact ce eroare dă ircd:
# Rulează ircd manual pentru a vedea toate erorile
~/ircd/bin/ircd -f ~/ircd/etc/ircd.conf
# SAU cu debugging:
~/ircd/bin/ircd -d -f ~/ircd/etc/ircd.conf 2>&1 | tee ircd_debug.log
Verifică log-urile sistemului:
# Ultimele erori din log
tail -50 ~/ircd/log/ircd.log
# Caută erori critice
grep -i "error\|crit\|fail" ~/ircd/log/ircd.log
Verifică dacă există blocaje de SELinux (CentOS/RHEL):
# Verifică status SELinux
getenforce
# Dacă este Enforcing, temporar dezactivează:
sudo setenforce 0
# Încearcă din nou să pornești serverul
./admin.sh → Opțiunea 1
# Dacă acum funcționează, problema era SELinux
# Configurează SELinux permanent:
sudo setsebool -P httpd_can_network_connect 1
📊 Comparație Erori Comune
| Eroare | Cauză | Soluție |
|---|---|---|
Failed to read configuration file |
Permisiuni | chmod 600 ircd.conf |
Configuration file not found |
Cale greșită | Verifică -f parameter |
Parse error in config |
Sintaxă invalidă | ircd -c -f config |
Empty configuration |
Fișier gol | Regenerează config |
Permission denied |
User greșit | Rulează ca owner |
✅ Verificare Finală După Rezolvare
După ce ai rezolvat problema:
# 1. Test sintaxă
./admin.sh → Opțiunea 8
# Ar trebui să vezi:
# ✓ CONFIGURARE VALIDĂ!
# 2. Pornire server
./admin.sh → Opțiunea 1
# Ar trebui să vezi:
# [+] ✓ Server pornit cu succes!
# [+] PID: 12345
# 3. Verifică status
./admin.sh → Opțiunea 4
# Ar trebui să vezi:
# Status: PORNIT
# PID: 12345
# CPU: X% | RAM: Y KB
📚 Referințe
- diagnose.sh - Script automat de diagnosticare (NOU în v1.0.2)
- admin.sh - Meniu cu verificări îmbunătățite (v1.0.2)
- COMANDA_CONFIGURE.md - Parametrii de configurare
- INSTALL_AUTO.md - Ghid complet de instalare
🆘 Încă Nu Funcționează?
Dacă după toate aceste verificări încă nu merge:
- Rulează diagnose.sh și trimite output-ul complet
- Verifică log-ul complet:
cat ~/ircd/log/ircd.log - Verifică sistemul:
uname -așils -la ~/ircd/etc/ - Regenerează totul:
cd ircu2 ./install.sh --prefix ~/ircd-new
Repository: https://gitlab.back.ro/underchat/ircu2.git
Versiune: v1.0.2
Data: 13 februarie 2026
Status: ✅ Rezolvată cu diagnose.sh