Skip to content

🔧 การแก้ไขปัญหา

ปัญหาที่พบบ่อย

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 admin

2. ไม่เห็นไฟล์ใน 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 -d

4. เชื่อมต่อ 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-db

5. SSL Certificate หมดอายุ

สาเหตุ: Let's Encrypt cert ไม่ได้ auto-renew

วิธีแก้ไข:

bash
# ตรวจสอบวันหมดอายุ
sudo certbot certificates

# ต่ออายุด้วยตนเอง
sudo certbot renew --nginx --force-renewal

# รีโหลด nginx
sudo systemctl reload nginx

6. แก้ไข 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.us

7. Maintenance Mode

ถ้า Nextcloud ติด maintenance mode:

bash
# ปิด maintenance mode
sudo -u ccdev docker exec -u www-data nextcloud-app \
  php occ maintenance:mode --off

8. ไฟล์ใหม่ไม่แสดง

หลังจากเพิ่มไฟล์เข้า /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 --all

Diagnostic 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

Nextcloud NAS Documentation