จะใช้ลิงก์สัญลักษณ์ในเว็บเซิร์ฟเวอร์ของฉันได้หรือไม่?


13

ฉันมีการตั้งค่าไดเรกทอรีต่อไปนี้:

/var/www/html

และ

/home/tim/Website/files_here

โฟลเดอร์htmlนี้เป็นลิงก์/home/tim/Websiteจริง ซึ่งหมายความว่าไฟล์เว็บไซต์ทั้งหมดของฉันอยู่ในพื้นที่บ้านของฉัน (รวมอยู่ในการสำรองข้อมูล ฯลฯ )

มีอะไรผิดปกติกับวิธีนี้หรือไม่? มีวิธีที่ดีกว่าที่จะเข้าสู่โฮมเพจ/home/tim/Websiteหรือไม่

ลิงก์สัญลักษณ์บนเว็บเซิร์ฟเวอร์ไม่เข้ากันกับผู้ใช้ที่ไม่ได้อยู่ใน linux หรือไม่?


1
Symlinks เป็นการปฏิบัติที่ไม่ดีในเว็บเซิร์ฟเวอร์ มีคำอธิบายที่ดีในการเป็นเซิร์ฟเวอร์ความผิดเกี่ยวกับเรื่องนี้: serverfault.com/a/244612/66406 แต่ในกรณีของคุณคุณกำลังใช้ลิงก์สัญลักษณ์ในไดเรกทอรีรากของคุณดังนั้นคุณยังสามารถFollowSymLinksปิดใช้งานตัวเลือกใน apache และจะยังใช้งานได้ ดังนั้นปัญหาด้านความปลอดภัยจะไม่เป็นปัญหา
ด่าน

คำตอบ:


21

ไม่มีอะไรผิดปกติตราบใดที่กระบวนการ apache สามารถอ่านไฟล์ในโฮมไดเร็กตอรี่ของคุณได้

หากคุณอยู่ในเครื่องพัฒนาคุณสามารถวางไฟล์ของคุณไว้ใน/var/wwwไดเรกทอรีหรือไดเรกทอรีย่อยได้เช่นกัน แต่คุณสามารถแก้ไข/etc/apache2/sites-available/defaultเพื่อให้บรรทัดที่มีDocumentRootจุดอยู่ใน/home/tim/Website/files_hereโฟลเดอร์ของคุณ

นอกจากนี้ยังมีmod_userdirซึ่งเป็นโมดูล apache ที่อนุญาตให้ใช้ไฟล์ใน / home / <username> / public_html

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.