เจาะลึกโครงสร้างไดเรกทอรี ServBay
ServBay คือสภาพแวดล้อมการพัฒนา Web แบบ Local ที่ออกแบบมาสำหรับ macOS โดยเฉพาะ โครงสร้างไดเรกทอรีของ ServBay ถูกออกแบบให้เรียบง่าย และมีการจัดระเบียบอย่างเป็นระบบ หากคุณคุ้นเคยกับระบบ Linux/Unix จะพบว่าโครงสร้างไฟล์ของ ServBay คล้ายคลึงกับรูปแบบมาตรฐานของระบบไฟล์ ซึ่งช่วยให้เหล่านักพัฒนาค้นหาและจัดการไฟล์ได้อย่างรวดเร็ว
การเข้าใจโครงสร้างไดเรกทอรีของ ServBay มีความจำเป็นอย่างยิ่งต่อการพัฒนา, การตั้งค่าระบบ, การแก้ไขปัญหา รวมถึงการสำรองข้อมูลในเครื่องของคุณ บทความนี้จะอธิบายไดเรกทอรีหลักแต่ละส่วนของ ServBay และบทบาทของแต่ละโฟลเดอร์
โครงสร้างไดเรกทอรีของ ServBay หลังการติดตั้งโดยทั่วไปจะเป็นดังนี้:
ServBay
|____backup # โฟลเดอร์สำหรับสำรองข้อมูล
| |____config # สำรองไฟล์คอนฟิก
| |____databases # สำรองไฟล์ฐานข้อมูล
| |____ssl # สำรองไฟล์ใบรับรอง SSL
| |____websites # สำรองไฟล์เว็บไซต์
|____bin # โฟลเดอร์สำหรับไฟล์ที่ผู้ใช้เรียกใช้งาน (ลิงก์ไปที่ package/bin)
|____data # โฟลเดอร์ข้อมูลภายในของ ServBay
| |____servbay # การตั้งค่าและข้อมูลหลักของ ServBay
|____db # โฟลเดอร์จัดเก็บไฟล์ฐานข้อมูล
| |____mariadb # ไฟล์ข้อมูล MariaDB
| |____mongodb # ไฟล์ข้อมูล MongoDB
| |____mysql # ไฟล์ข้อมูล MySQL
| |____postgresql # ไฟล์ข้อมูล PostgreSQL
| |____redis # ไฟล์ข้อมูล Redis
|____etc # โฟลเดอร์ไฟล์คอนฟิก (ลิงก์ไปที่ package/etc)
|____logs # โฟลเดอร์ไฟล์บันทึก (ลิงก์ไปที่ package/var/log)
|____package # โฟลเดอร์ติดตั้งแพ็กเกจซอฟต์แวร์
| |____bin # ไฟล์ Executable ของแพ็กเกจ
| |____common # คลังไลบรารีและไลบรารีสำหรับพัฒนา
| | |____imap-uw
| | |____include # Header files (ServBay Development Library)
| | |____lib # ไลบรารี shared และ static (ServBay Development Library)
| | |____libexec
| | |____openssl
| | |____share
| |____etc # ตำแหน่งจริงที่เก็บไฟล์คอนฟิกของแต่ละแพ็กเกจ
| | |____caddy
| | |____dnsmasq
| | |____mariadb
| | |____mongodb
| | |____mysql
| | |____nginx
| | |____openldap
| | |____php
| | |____postgresql
| | |____redis
| | |____... (คอนฟิกแพ็กเกจอื่นๆ เช่น Python, Go, Java, Ruby, Rust ฯลฯ)
| |____<package_name> # โฟลเดอร์หลักของแต่ละแพ็กเกจ
| | |____<major_version> # โฟลเดอร์ตามเลขเวอร์ชันหลัก
| | | |____<full_version> # เวอร์ชันเต็ม (รวมตัวแพ็กเกจ)
| | | |____current # soft link ไปยังเวอร์ชันล่าสุด
| | |____...
| |____sbin # โปรแกรมระบบ Executable ของแพ็กเกจ
| |____var # ข้อมูลชั่วคราวของแพ็กเกจ (เช่น ตำแหน่งจริงของ logs)
| | |____log # ตำแหน่งไฟล์บันทึกจริง
| | |____run # ไฟล์ runtime (เช่น .pid)
|____sbin # ระบบ Executable ไฟล์ (ลิงก์ไปยัง package/sbin)
|____script # สคริปต์ภายใน ServBay
|____ssl # โฟลเดอร์ใบรับรอง SSL
| |____acme # SSL ที่ขอโดย ACME protocol
| |____caddy # SSL ที่สร้างอัตโนมัติโดย Caddy
| |____import # ใบรับรอง 3rd party ที่ผู้ใช้นำเข้า
| |____private # ServBay User CA
| |____public # ServBay Public CA
|____tmp # โฟลเดอร์ชั่วคราวและ socket
|____www # โฟลเดอร์รากของเว็บไซต์
| |____servbay # โฟลเดอร์ตัวอย่างเว็บไซต์
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
ถัดไปคือรายละเอียดแต่ละไดเรกทอรี
โฟลเดอร์หลักของ ServBay
โดยค่าดีฟอลต์ โฟลเดอร์หลักของ ServBay จะอยู่ที่ /Applications/ServBay
ไฟล์ทั้งหมดที่เกี่ยวข้อง ไม่ว่าจะเป็นซอฟต์แวร์, คอนฟิก, ข้อมูล, log ฯลฯ จะถูกรวมศูนย์ในที่เดียว
เพื่อความปลอดภัยและป้องกันข้อมูลสูญหาย แนะนำให้สำรองข้อมูลในไดเรกทอรีหลักนี้อยู่เสมอ คุณสามารถใช้ Time Machine หรือซอฟต์แวร์สำรองข้อมูลอื่นเพื่อ backup ทั้งโฟลเดอร์ /Applications/ServBay
ได้
รากเว็บไซต์ (www
)
ตำแหน่งหลักของไฟล์เว็บไซต์จะอยู่ที่ /Applications/ServBay/www
ซึ่งคือโฟลเดอร์ที่ใช้เก็บไฟล์โปรเจกต์เว็บไซต์ทั้งหมดที่คุณพัฒนาภายในเครื่อง
เพื่อความเป็นระเบียบและง่ายต่อการจัดการ แนะนำให้สร้างโฟลเดอร์ย่อยสำหรับแต่ละเว็บไซต์หรือ Virtual Site (ใน ServBay เรียกว่า “เว็บไซต์”) ภายใต้ไดเรกทอรีนี้
ตัวอย่างเช่น หากคุณสร้าง web.servbay.demo
, api.servbay.demo
และ new.servbay.local
ไว้ โครงสร้างที่แนะนำคือ
/Applications/ServBay/www
|____servbay.demo # เว็บไซต์ทุกโดเมน *.servbay.demo จะเก็บที่นี่
| |____web # ไฟล์สำหรับ web.servbay.demo
| |____api # ไฟล์สำหรับ api.servbay.demo
|____servbay.local # เว็บไซต์ทุกโดเมน *.servbay.local เก็บที่นี่
| |____new # ไฟล์สำหรับ new.servbay.local
|____myproject # โปรเจกต์แยกอื่นเช่น myproject.local
1
2
3
4
5
6
7
2
3
4
5
6
7
โครงสร้างลักษณะนี้ช่วยให้แยกบริหารจัดการโปรเจกต์และโดเมนต่างๆ ได้ง่ายขึ้นและเป็นระเบียบ
โฟลเดอร์ไฟล์คอนฟิก (etc
)
โฟลเดอร์คอนฟิก /Applications/ServBay/etc
ที่เห็นจริงๆ แล้วเป็น Soft Link ที่ชี้ไปยัง /Applications/ServBay/package/etc
ซึ่งเป็นที่จัดเก็บไฟล์คอนฟิกหลักของแต่ละแพ็กเกจ Linux ที่เซ็ตอัพใน ServBay เช่น PHP, MariaDB, Nginx, Caddy ฯลฯ
คุณสามารถเข้าถึงไฟล์คอนฟิกได้โดยตรงจาก /Applications/ServBay/etc
หากแก้ไขคอนฟิกส่วนใหญ่แล้ว ควร restart service ที่เกี่ยวข้องเพื่อให้ตั้งค่าใหม่มีผล
ตัวอย่างตำแหน่งไฟล์คอนฟิกของแพ็กเกจยอดนิยม:
PHP (etc/php
)
โฟลเดอร์คอนฟิก PHP จะถูกแบ่งเป็น 2 ชั้นตามเวอร์ชันหลัก เช่น ในไดเรกทอรี etc/php
จะเจอ 5.6
, 7.4
, 8.3
ฯลฯ แต่ละโฟลเดอร์ตรงกับเวอร์ชันหลักของ PHP โครงสร้างตัวอย่างเช่น:
php
|____5.6 # คอนฟิกสำหรับ PHP 5.6
| |____conf.d # ไดเรกทอรีย่อยสำหรับคอนฟิกของส่วนเสริม
| |____php.ini # ไฟล์คอนฟิกหลักของ PHP
|____7.4 # PHP 7.4 config
| |____conf.d
| |____php-fpm.d # ไฟล์คอนฟิกสำหรับ PHP-FPM pool
| |____php-fpm.conf # php-fpm หลัก
| |____php.ini
|____8.3
| |____conf.d
| |____php-fpm.d
| |____php-fpm.conf
| |____php.ini
|____...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ในแต่ละเวอร์ชันจะมี php.ini
(คอนฟิกหลักของ PHP), php-fpm.conf
(ถ้าเวอร์ชันนั้นรองรับ FPM), pear.conf
ฯลฯ หลังจากแก้ไขไฟล์เหล่านี้ควร restart PHP-FPM ผ่าน Control Panel ของ ServBay หรือใช้คำสั่ง servbayctl
เพื่อให้ค่ามีผล
โฟลเดอร์ conf.d
คือที่เก็บคอนฟิกของ PHP Extension เช่น xdebug.ini, opcache.ini, redis.ini
แก้ไขเพื่อเปิด/ปิดหรือปรับแต่ง extension ของ PHP โดยตรงได้และหลังจากแก้ควร restart PHP-FPM
หมายเหตุ: ServBay มีดีไซน์ให้ PHP ทุกเวอร์ชันย่อยที่อยู่ภายใต้เวอร์ชันหลักเดียวกันใช้คอนฟิกร่วมกัน เช่น PHP 8.3.3
และ 8.3.5
จะใช้ไฟล์จาก etc/php/8.3
MariaDB / MySQL / PostgreSQL (etc/mariadb
, etc/mysql
, etc/postgresql
)
โครงสร้างโฟลเดอร์คอนฟิกสำหรับฐานข้อมูลก็จะถูกแยกตามเวอร์ชัน เช่น etc/mariadb/11.2
แต่ละแฟ้มจะมีไฟล์หลัก (my.cnf
สำหรับ MariaDB/MySQL หรือ postgresql.conf
สำหรับ PostgreSQL) เมื่อแก้ไขแล้วควร restart service เพื่อให้ค่ามีผล เวอร์ชันย่อยยังคงใช้คอนฟิกร่วมกัน
การรีเซ็ต password ของ root MariaDB, MySQL หรือ PostgreSQL ไม่ได้แก้ไขผ่านไฟล์คอนฟิกโดยตรง แต่ควรใช้ command line tool หรือใน ServBay Control Panel
Caddy (etc/caddy
)
ไฟล์คอนฟิกของ Caddy (Caddyfile
) จะอยู่ในไดเรกทอรี etc/caddy
คำเตือน: ServBay จะสร้าง Caddyfile
อัตโนมัติตามที่คุณตั้งค่าเว็บไซต์ใน Control Panel ไม่ควรแก้ไขไฟล์นี้เอง เพราะไฟล์อาจถูกเขียนทับในการ regenerate ครั้งต่อไป หากต้องการกำหนดค่าเพิ่มเติมควรตั้งค่าผ่าน ServBay Control Panel เท่านั้น
Nginx (etc/nginx
)
ไฟล์คอนฟิกหลักของ Nginx (nginx.conf
) จะอยู่ที่ etc/nginx
ไฟล์นี้ ServBay ก็จะสร้างและปรับแต่งตามการตั้งค่าเว็บไซต์เช่นเดียวกับ Caddy การแก้โดยตรงควรทำด้วยความระมัดระวังและโดยทั่วไปแนะนำให้ตั้งค่าผ่าน Control Panel
dnsmasq (etc/dnsmasq
)
โฟลเดอร์นี้จะมี dnsmasq.conf
(คอนฟิกดีฟอลต์) และ domains.conf
(ไฟล์ที่ ServBay สร้างตามโดเมนที่คุณระบุสำหรับ Local)
คำเตือน: ไฟล์คอนฟิก dnsmasq เหล่านี้ ServBay จะดูแลและสร้างให้อัตโนมัติ ไม่ควรแก้ไขเอง เพราะอาจทำให้ฟีเจอร์ Local DNS ใช้งานไม่ได้
คอนฟิกแพ็กเกจอื่น
สำหรับแพ็กเกจอื่นๆ เช่น Node.js, Python, Go, Java, Ruby, Rust ฯลฯ หากมีคอนฟิกแบบ Global หรือ Service Level ก็มักจะเก็บไว้ในโฟลเดอร์ย่อยของ etc
ตามรูปแบบเดียวกัน
โฟลเดอร์ข้อมูลภายใน ServBay (data/servbay
)
/Applications/ServBay/data/servbay
1
โฟลเดอร์นี้ใช้เก็บไฟล์คอนฟิกที่สำคัญ, ข้อมูลสถานะ, และการตั้งค่าผู้ใช้ที่จำเป็นต่อการทำงานของ ServBay เช่น ข้อมูลของ Control Panel, การจัดการแพ็กเกจ, การตั้งค่าเว็บไซต์และฐานข้อมูล
สำคัญ: ควรสำรองข้อมูลไดเรกทอรีนี้อยู่เสมอ และห้ามลบหรือแก้ไขไฟล์ใดโดยตรง ไม่เช่นนั้นอาจทำให้ ServBay ใช้งานไม่ได้หรือข้อมูลการตั้งค่าหายไป
โฟลเดอร์ Executable และ Scripts (bin
, sbin
, script
)
/Applications/ServBay/bin -> package/bin
/Applications/ServBay/sbin -> package/sbin
/Applications/ServBay/script
1
2
3
2
3
ไฟล์ Executable ทั้งหมดของ ServBay จะจัดอยู่ใน bin
และ sbin
โดยเป็น soft link ไปยัง package/bin
และ package/sbin
ตามลำดับ ประกอบด้วยเครื่องมือสำคัญและ runtime ต่างๆ ที่ให้ ServBay นำไปใช้
คุณสามารถรันเครื่องมือเหล่านี้ผ่าน terminal ได้ทันที (โดย ServBay จะเพิ่มไดเรกทอรีนี้ใน PATH เมื่อเริ่มใช้งาน) เช่น
- เครื่องมือทั่วไป
curl
,openssl
,frpc
ฯลฯ - Runtime หลายเวอร์ชัน เช่น
php
(ดีฟอลต์),php-5.6
,php-7.4
,php-8.3
,node
,node-16
,node-18
,python3
,go
,java
,ruby
,rustc
ฯลฯ และสามารถเรียกเวอร์ชันเจาะจงโดยระบุเลขเวอร์ชันต่อท้าย - Database Client เช่น
mysql
,psql
,mongosh
,redis-cli
โฟลเดอร์ script
(/Applications/ServBay/script
) เป็นที่เก็บ system management scripts ภายใน สำหรับงานเริ่ม/หยุด service, init database หรือ maintenance อื่นๆ ถ้าต้องการใช้งานจริง แนะนำให้ใช้เครื่องมือ servbayctl
ที่หุ้ม script เหล่านี้และถูกออกแบบมาเพื่อใช้งานได้สะดวกกว่า
ตัวอย่างเช่น สั่ง start PHP 7.4 FPM ได้ด้วย
bash
servbayctl start php 7.4
1
ไฟล์ servbayctl
จะอยู่ที่ /Applications/ServBay/bin
โฟลเดอร์ฐานข้อมูล (db
)
/Applications/ServBay/db
1
ไดเรกทอรีนี้เป็นที่เก็บไฟล์ข้อมูลสำหรับฐานข้อมูลแต่ละชนิด (แบ่งตามชื่อและเวอร์ชัน) เช่น
/Applications/ServBay/db/mariadb/<major_version>
: ไฟล์ข้อมูล MariaDB/Applications/ServBay/db/mysql/<major_version>
: ไฟล์ข้อมูล MySQL/Applications/ServBay/db/postgresql/<major_version>
: ไฟล์ข้อมูล PostgreSQL/Applications/ServBay/db/mongodb
: ไฟล์ข้อมูล MongoDB/Applications/ServBay/db/redis
: ไฟล์ข้อมูล Redis
แต่ละฐานข้อมูลจะใช้ไฟล์ข้อมูลร่วมกันในแต่ละ “เวอร์ชันหลัก” เช่น MariaDB 11.2.x
ทั้งหมดจะเก็บใน /Applications/ServBay/db/mariadb/11.2
เดียวกัน
คำเตือน: โฟลเดอร์นี้มีข้อมูลฐานข้อมูลทั้งหมดของคุณ ก่อนอัปเกรด ServBay, ย้ายระบบ หรือดำเนินการสำคัญใดๆ ควรสำรองข้อมูลความเปลี่ยนแปลงเสมอ ServBay ก็จะ backup ฐานข้อมูลนี้ให้อัตโนมัติด้วย
โฟลเดอร์ log (logs
)
/Applications/ServBay/logs -> package/var/log
1
ไฟล์ log ทุกประเภทจากทุกบริการภายใน ServBay จะถูกจัดเก็บไว้ที่ /Applications/ServBay/logs
(ซึ่งลิงก์ไปยัง /Applications/ServBay/package/var/log
) เพื่อให้คุณสามารถตรวจสอบสถานะ Error และการทำงานของ Services ต่างๆ ได้สะดวก
ไฟล์ log จะถูกแบ่งย่อยตามบริการ เช่น
logs/caddy/
หรือlogs/nginx/
: Log การเข้าถึง/ผิดพลาดของ Caddy หรือ Nginx (แบ่งตามโดเมน)logs/php/
: Log ของ PHP-FPM (php-fpm.log
) และ log ข้อผิดพลาดขณะรันโค้ด PHP (errors.log
) โดยไฟล์ errors.log จะบันทึกข้อผิดพลาดที่ PHP Framework หรือ App ไม่ได้จัดการเองlogs/mariadb/
,logs/mysql/
,logs/postgresql/
,logs/mongodb/
,logs/redis/
: log ของฐานข้อมูลและ slow query log- Log บริการอื่นๆ เช่น Python, Go, Java, Ruby, Rust ฯลฯ ก็จะอยู่ในโฟลเดอร์เฉพาะเหล่านั้น
หมายเหตุ: ไฟล์ log โดยเฉพาะ access log หรือ error log อาจกินพื้นที่มากในระยะยาว (หากเป็นโปรเจกต์ที่มีการใช้งานเยอะ) ควรตรวจสอบและลบส่วนที่ไม่จำเป็นเป็นระยะเพื่อประหยัดพื้นที่
ไดเรกทอรีของซอฟต์แวร์แพ็กเกจ (package
)
/Applications/ServBay/package
1
โฟลเดอร์นี้คือที่เก็บและจัดการแพ็กเกจซอฟต์แวร์ทุกตัวที่ติดตั้งใน ServBay (แต่ละแพ็กเกจถูกแยกย่อยเป็นโฟลเดอร์ตามชื่อ/เวอร์ชัน) เช่น PHP เวอร์ชันหนึ่งจะเก็บที่ /Applications/ServBay/package/php/8.3/8.3.7
คุณสามารถ ติดตั้ง / ถอนการติดตั้ง / สลับเวอร์ชัน ต่างๆ ผ่าน Control Panel ของ ServBay ได้
หากไม่ต้องการเก็บเวอร์ชันเก่าไว้ สามารถลบไดเรกทอรีเวอร์ชันเต็มของแพ็กเกจเก่านั้นเองเพื่อคืนพื้นที่ (เช่น /Applications/ServBay/package/php/8.2/8.2.10
)
คำเตือน: ที่แต่ละโฟลเดอร์เวอร์ชันหลักจะมี Symlink ชื่อ current
ที่ชี้ไปยังเวอร์ชันล่าสุด อย่าลบหรือลบเลือน Symlink current นี้ด้วยตนเอง ไม่เช่นนั้น ServBay อาจหา Executable หรือไฟล์ไลบรารีไม่เจอจนบริการรันไม่ขึ้น
โฟลเดอร์ใบรับรอง SSL (ssl
)
/Applications/ServBay/ssl
1
โฟลเดอร์นี้สำหรับเก็บไฟล์ใบรับรองที่เกี่ยวข้องกับ SSL/TLS ได้แก่
- ใบรับรอง SSL ที่ ServBay ขอมาให้อัตโนมัติผ่าน ACME (เช่น ใน
ssl/caddy
หรือssl/acme
ขึ้นอยู่กับ Web Server ที่ใช้) - CA และใบรับรองสาธารณะสำหรับการพัฒนา HTTPS บน local (
ssl/private
และssl/public
) เมื่อติดตั้ง CA พวกนี้ลง trust ของระบบแล้ว Browser จะไว้ใจใบรับรองที่ ServBay ออกให้เว็บไซต์ท้องถิ่น
โฟลเดอร์สำรองข้อมูล (backup
)
/Applications/ServBay/backup
1
โฟลเดอร์นี้เก็บไฟล์สำรองข้อมูลอัตโนมัติที่ ServBay สร้างขึ้นเพื่อความปลอดภัยของงานสำคัญ เช่น
backup/config
: สำรองไฟล์คอนฟิกหลักและซอฟต์แวร์backup/databases
: สำรองไฟล์ฐานข้อมูลจาก MariaDB, MySQL, PostgreSQL, MongoDBbackup/ssl
: สำรองไฟล์ใบรับรอง SSLbackup/websites
: สำรองไฟล์เว็บไซต์ทั้งหมดใน/Applications/ServBay/www
ควรตรวจสอบและโยกย้ายไฟล์สำรองข้อมูลสำคัญเหล่านี้ไปเก็บภายนอกเป็นระยะ เพื่อความมั่นใจว่ามีการปกป้องข้อมูลอย่างรอบด้าน
โฟลเดอร์สำหรับไฟล์ชั่วคราว (tmp
)
/Applications/ServBay/tmp
1
โฟลเดอร์นี้จะเก็บไฟล์ชั่วคราวที่สร้างขึ้นระหว่างการทำงาน service ต่างๆ ที่พบได้บ่อย เช่น ไฟล์ .pid
กับ Unix Domain Socket
.pid
: เก็บหมายเลข PID ของบริการที่กำลังรันอยู่- Socket file : เช่น
php-cgi.sock
,mysql.sock
,pgsql.sock
ฯลฯ สำหรับการสื่อสารระหว่างโปรแกรมแบบ process-to-process บนเครื่องประสิทธิภาพสูงกว่าการคุยผ่าน TCP port และ latency ต่ำกว่า เหมาะกับงานบน Localhost
คอมโพเนนท์ร่วมและไลบรารีสำหรับพัฒนา (package/common
)
/Applications/ServBay/package/common
1
โฟลเดอร์นี้เก็บ shared libraries (.dylib
) และไลบรารีที่หลายแพ็กเกจใน ServBay ใช้ร่วมกัน รวมถึงไฟล์สำหรับการ compile source code (เมื่อลง ServBay Development Library จะเห็น include
และ lib
ด้วย)
หากต้องการ compile PHP Extension หรือโปรแกรมที่ต้องการไลบรารีจาก ServBay ภายในโฟลเดอร์นี้จะมี header และ static library ให้ใช้งาน
คำเตือน: ห้ามลบไฟล์ .dylib
ใน package/common/lib
เด็ดขาด เพราะทุกบริการสำคัญภายใน ServBay ต้องใช้ไลบรารีชุดนี้ หากขาดหายอาจทำให้บริการทำงานผิดปกติ
สรุป
โครงสร้างไดเรกทอรีของ ServBay ถูกออกแบบให้แยกซอฟต์แวร์, คอนฟิก, ข้อมูล, log และไฟล์เว็บไซต์อย่างชัดเจน อิงตามแนวทางไฟล์ระบบ Unix มาตรฐานจึงสะดวกแก่การจัดการสภาพแวดล้อม Local Development อย่างยิ่ง หากคุ้นเคยกับโครงสร้างแล้ว จะบริหารระบบได้คล่องตัวมากขึ้น อย่าลืมสำรองข้อมูลโฟลเดอร์สำคัญ (data
, db
) เป็นประจำ เพื่อปกป้องงานพัฒนาของคุณจากการศูนย์หายโดยไม่คาดคิด