Adăugare documentație troubleshooting și actualizare README pentru v1.0.2
This commit is contained in:
parent
def00ffc01
commit
8d9eff47b7
37
README.md
37
README.md
|
|
@ -3,7 +3,7 @@
|
||||||
> **Repository**: https://gitlab.back.ro/underchat/ircu2.git
|
> **Repository**: https://gitlab.back.ro/underchat/ircu2.git
|
||||||
> **Limbă**: Română 🇷🇴
|
> **Limbă**: Română 🇷🇴
|
||||||
> **Data**: 13 februarie 2026
|
> **Data**: 13 februarie 2026
|
||||||
> **Versiune**: v1.0.1
|
> **Versiune**: v1.0.2
|
||||||
> **Status**: ✅ Production Ready
|
> **Status**: ✅ Production Ready
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -101,6 +101,30 @@ Nick: nickname
|
||||||
# - Generează ircd.conf complet
|
# - Generează ircd.conf complet
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### admin.sh (Meniu Administrare)
|
||||||
|
```bash
|
||||||
|
./admin.sh
|
||||||
|
# Opțiuni:
|
||||||
|
# 1. Pornire server (cu verificări avansate v1.0.2)
|
||||||
|
# 2. Oprire server
|
||||||
|
# 3. Restart server
|
||||||
|
# 4. Verifica status
|
||||||
|
# 5. Editare configurare
|
||||||
|
# 6. Vizionare log-uri
|
||||||
|
# 7. Generare parola operator
|
||||||
|
# 8. Test sintaxă (cu diagnosticare detaliată v1.0.2)
|
||||||
|
```
|
||||||
|
|
||||||
|
### diagnose.sh (Diagnosticare Probleme) 🆕 v1.0.2
|
||||||
|
```bash
|
||||||
|
./diagnose.sh
|
||||||
|
# - Verificare existență și permisiuni config
|
||||||
|
# - Verificare conținut și sintaxă
|
||||||
|
# - Detectare probleme comune (acolade, ghilimele)
|
||||||
|
# - Test compilare cu ircd -c
|
||||||
|
# - Raport complet cu soluții
|
||||||
|
```
|
||||||
|
|
||||||
### configure-interactive.sh (Configurare Avansată)
|
### configure-interactive.sh (Configurare Avansată)
|
||||||
```bash
|
```bash
|
||||||
./configure-interactive.sh
|
./configure-interactive.sh
|
||||||
|
|
@ -150,6 +174,9 @@ Nick: nickname
|
||||||
- **FIX_AARCH64.md** - Support ARM
|
- **FIX_AARCH64.md** - Support ARM
|
||||||
- **COMANDA_CONFIGURE.md** - Parametrii ./configure
|
- **COMANDA_CONFIGURE.md** - Parametrii ./configure
|
||||||
|
|
||||||
|
### Troubleshooting
|
||||||
|
- **TROUBLESHOOTING_CONFIG_READ.md** - Erori de citire config 🆕 v1.0.2
|
||||||
|
|
||||||
### Overview & Index
|
### Overview & Index
|
||||||
- **INDEX.md** - Roadmap complet
|
- **INDEX.md** - Roadmap complet
|
||||||
- **README_SCRIPTS.md** - Descriere scripturi
|
- **README_SCRIPTS.md** - Descriere scripturi
|
||||||
|
|
@ -355,6 +382,14 @@ nano ~/ircd/etc/ircd.conf
|
||||||
|
|
||||||
## 📝 Changelog
|
## 📝 Changelog
|
||||||
|
|
||||||
|
### [v1.0.2] - 13 februarie 2026
|
||||||
|
- ✅ **Nou**: Script `diagnose.sh` pentru diagnosticare automată probleme
|
||||||
|
- ✅ **Îmbunătățit**: `admin.sh` cu verificări extinse de permisiuni și citire config
|
||||||
|
- ✅ **Îmbunătățit**: Funcția `start_server()` cu diagnosticare detaliată
|
||||||
|
- ✅ **Îmbunătățit**: Funcția `test_config()` cu rapoarte detaliate
|
||||||
|
- ✅ **Fix**: Detectare probleme de permisiuni la citirea config
|
||||||
|
- ✅ **Documentație**: TROUBLESHOOTING_CONFIG_READ.md pentru erori comune
|
||||||
|
|
||||||
### [v1.0.1] - 13 februarie 2026
|
### [v1.0.1] - 13 februarie 2026
|
||||||
- ✅ **Fix**: Adăugare pauze în `admin.sh` pentru vizualizare output
|
- ✅ **Fix**: Adăugare pauze în `admin.sh` pentru vizualizare output
|
||||||
- ✅ Utilizatorul poate acum vedea erorile și mesajele înainte de revenirea la meniu
|
- ✅ Utilizatorul poate acum vedea erorile și mesajele înainte de revenirea la meniu
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,351 @@
|
||||||
|
# 🔧 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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./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ă
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# ☐ 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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Conectează-te ca utilizatorul ircd
|
||||||
|
su - ircd
|
||||||
|
# SAU
|
||||||
|
sudo -u ircd bash
|
||||||
|
|
||||||
|
# 2. Rulează diagnosticarea
|
||||||
|
cd ~/underchat-ircd
|
||||||
|
./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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 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:
|
||||||
|
|
||||||
|
1. **Rulează diagnose.sh** și trimite output-ul complet
|
||||||
|
2. **Verifică log-ul complet**: `cat ~/ircd/log/ircd.log`
|
||||||
|
3. **Verifică sistemul**: `uname -a` și `ls -la ~/ircd/etc/`
|
||||||
|
4. **Regenerează totul**:
|
||||||
|
```bash
|
||||||
|
cd underchat-ircd
|
||||||
|
./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
|
||||||
|
|
||||||
Loading…
Reference in New Issue