🔧 การแก้ไขปัญหา
ปัญหาที่พบบ่อย
1. "พื้นที่จัดเก็บข้อมูลไม่สามารถใช้งานได้ชั่วคราว"
สาเหตุ: Permission denied — www-data (uid 33) ไม่มีสิทธิ์อ่านไฟล์
วิธีแก้ไข:
bash
# แก้ไข ACL
sudo setfacl -R -m o::rX /data/Company/
sudo chmod -R o+rX /data/Company/
# Re-scan files
sudo -u ccdev docker exec -u www-data nextcloud-app php occ files:scan admin2. ไม่เห็นไฟล์ใน Group Folder
สาเหตุ: Bind mount หลุด หรือยังไม่ได้ scan
วิธีแก้ไข:
bash
# ตรวจสอบ bind mount
mount | grep __groupfolders
# ถ้าหลุด ให้ remount
sudo mount -a
# Re-scan group folder
sudo -u ccdev docker exec -u www-data nextcloud-app \
php occ groupfolders:scan <folder_id>3. Container ไม่ Start
สาเหตุ: Port ถูกใช้แล้ว หรือ Docker network conflict
วิธีแก้ไข:
bash
# เช็ค port 9090
sudo netstat -tlnp | grep 9090
# ดู logs
sudo -u ccdev docker logs nextcloud-app
# Restart
sudo -u ccdev docker compose -f /data/nextcloud/docker-compose.yml down
sudo -u ccdev docker compose -f /data/nextcloud/docker-compose.yml up -d4. เชื่อมต่อ Database ไม่ได้
สาเหตุ: PostgreSQL container ไม่ healthy
วิธีแก้ไข:
bash
# ตรวจสอบ database container
sudo -u ccdev docker exec nextcloud-db pg_isready -U nextcloud
# รีสตาร์ท database
sudo -u ccdev docker compose -f /data/nextcloud/docker-compose.yml restart nextcloud-db5. SSL Certificate หมดอายุ
สาเหตุ: Let's Encrypt cert ไม่ได้ auto-renew
วิธีแก้ไข:
bash
# ตรวจสอบวันหมดอายุ
sudo certbot certificates
# ต่ออายุด้วยตนเอง
sudo certbot renew --nginx --force-renewal
# รีโหลด nginx
sudo systemctl reload nginx6. แก้ไข Trusted Domain
เมื่อเปลี่ยน domain หรือ IP:
bash
sudo -u ccdev docker exec -u www-data nextcloud-app \
php occ config:system:set trusted_domains 1 --value=localhost
sudo -u ccdev docker exec -u www-data nextcloud-app \
php occ config:system:set trusted_domains 2 --value=cloudcdm.contentsdigital.us
sudo -u ccdev docker exec -u www-data nextcloud-app \
php occ config:system:set trusted_domains 3 --value=cloudcdm.contentsdigital.us7. Maintenance Mode
ถ้า Nextcloud ติด maintenance mode:
bash
# ปิด maintenance mode
sudo -u ccdev docker exec -u www-data nextcloud-app \
php occ maintenance:mode --off8. ไฟล์ใหม่ไม่แสดง
หลังจากเพิ่มไฟล์เข้า /data/:
bash
# Re-scan files
sudo -u ccdev docker exec -u www-data nextcloud-app php occ files:scan admin
# หรือ scan ผู้ใช้ทั้งหมด
sudo -u ccdev docker exec -u www-data nextcloud-app php occ files:scan --allDiagnostic Commands
bash
# Check system status
sudo -u ccdev docker exec -u www-data nextcloud-app php occ status
# Check app list
sudo -u ccdev docker exec -u www-data nextcloud-app php occ app:list
# Check configuration
sudo -u ccdev docker exec -u www-data nextcloud-app php occ config:list system
# Check security
sudo -u ccdev docker exec -u www-data nextcloud-app php occ security:certificatesขั้นตอนการกู้คืนข้อมูล (Emergency Recovery)
bash
# 1. Stop containers
sudo -u ccdev docker compose -f /data/nextcloud/docker-compose.yml down
# 2. Restore database
sudo -u ccdev docker compose -f /data/nextcloud/docker-compose.yml up -d nextcloud-db
sudo -u ccdev docker exec -i nextcloud-db psql -U nextcloud nextcloud < backup.sql
# 3. Restore data files
sudo rsync -avz /data/backups/nextcloud-data-backup/ /data/nextcloud/data/
# 4. Fix permissions
sudo chown -R 33:33 /data/nextcloud/data/
# 5. Restart
sudo -u ccdev docker compose -f /data/nextcloud/docker-compose.yml up -d