การเข้าถึง
- เปิด browser ของคุณ:
https://<SERVER-IP> - ให้ยอมรับคำเตือนใบรับรองของเบราว์เซอร์ เนื่องจากการติดตั้งนี้ใช้ใบรับรอง TLS แบบลงนามด้วยตนเอง
- ต้องมีการยืนยันตัวตน (ป๊อปอัป Basic Auth)
- วิธีการยืนยันตัวตน: HTTP Basic Auth
- ข้อมูลรับรองการเข้าสู่ระบบถูกเก็บอย่างปลอดภัยที่:
/root/.cloudzy-creds
การเพิ่มไฟล์
- วางไฟล์และโฟลเดอร์ที่คุณต้องการแชร์ไว้ที่:
/root/directory-lister/files - Directory Lister อ่านไดเรกทอรีนี้โดยตรง ไฟล์ที่เพิ่มใหม่จึงปรากฏโดยอัตโนมัติโดยไม่ต้องรีสตาร์ตแอปพลิเคชัน
ไฟล์และไดเรกทอรีที่สำคัญ
- เส้นทางการติดตั้ง:
/root/directory-lister - ไฟล์ที่แสดง:
/root/directory-lister/files - ไฟล์ Docker Compose:
/root/directory-lister/docker-compose.yml - ไฟล์สภาพแวดล้อม:
/root/directory-lister/.env - ข้อมูลรับรอง:
/root/directory-lister/.credentials - การตั้งค่า Nginx:
/etc/nginx/sites-available/directory-lister - ไฟล์ Basic Auth:
/etc/nginx/.htpasswd-directory-lister - ใบรับรอง TLS:
/etc/nginx/ssl/directory-lister.crt - คีย์ส่วนตัว TLS:
/etc/nginx/ssl/directory-lister.key
การจัดการบริการ
ดูคอนเทนเนอร์ที่กำลังทำงาน:
docker compose -f /root/directory-lister/docker-compose.yml ps
รีสตาร์ต Directory Lister:
docker compose -f /root/directory-lister/docker-compose.yml restart
ดูบันทึกของ Directory Lister:
cd /root/directory-lister && docker compose logs -f
หยุด Directory Lister:
docker compose -f /root/directory-lister/docker-compose.yml stop
เริ่ม Directory Lister:
docker compose -f /root/directory-lister/docker-compose.yml start
สร้าง Directory Lister ใหม่:
docker compose -f /root/directory-lister/docker-compose.yml up -d
ตรวจสอบสถานะ Nginx:
systemctl status nginx
รีสตาร์ต Nginx:
systemctl restart nginx
รีโหลด Nginx:
systemctl reload nginx
ตรวจสอบความถูกต้องของการกำหนดค่า Nginx:
nginx -t
การเปิดใช้งาน HTTPS ด้วยโดเมน
1. ชี้โดเมนของคุณไปยัง IP ของ server
๒. แก้ไข /etc/nginx/sites-available/directory-lister และแทนที่ทั้งสอง server_name _; directive ด้วยโดเมนของคุณ (เช่น server_name yourdomain.com;).
3. ติดตั้ง Certbot:
apt install -y certbot python3-certbot-nginx
4. รับใบรับรอง Let's Encrypt:
certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com
5. แก้ไข /etc/nginx/sites-available/directory-lister และอัปเดต ssl_certificate และ ssl_certificate_key directive เพื่อใช้ใบรับรอง Let's Encrypt ของคุณ
Before:
ssl_certificate /etc/nginx/ssl/directory-lister.crt;
ssl_certificate_key /etc/nginx/ssl/directory-lister.key;
After:
ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;
6. โหลด Nginx ใหม่เพื่อใช้การเปลี่ยนแปลง:
systemctl reload nginx
7. เข้าถึง Directory Lister ที่ https://yourdomain.com.
ปิดใช้งาน HTTP Basic Auth ใน Nginx (ไม่บังคับ)
หากต้องการให้ Directory Lister เข้าถึงได้สาธารณะโดยไม่ต้องยืนยันตัวตน ให้ทำตามขั้นตอนด้านล่างเพื่อปิดใช้งาน HTTP Basic Auth
แก้ไขไฟล์ไซต์ของ Nginx: /etc/nginx/sites-available/directory-lister
ลบหรือคอมเมนต์บรรทัดเหล่านี้:
auth_basic "Directory Lister";
auth_basic_user_file /etc/nginx/.htpasswd-directory-lister;
รีโหลด Nginx:
systemctl restart nginx
หมายเหตุ
- Directory Lister ทำงานใน Docker โดยอยู่หลัง NGINX
- การเข้าถึงสาธารณะได้รับการป้องกันด้วย HTTP Basic Authentication
- ไฟล์ที่แสดงถูกเก็บไว้ใน
/root/directory-lister/files. - คอนเทนเนอร์ของแอปพลิเคชันมีสิทธิ์อ่านไดเรกทอรีไฟล์เท่านั้น