ตั้งค่าไซต์ localhost ใน apache หรือไม่


11

ฉันได้ค้นหาวิธีการตั้งค่าสภาพแวดล้อม localhost บน Ubuntu เป็นเวลาหลายสัปดาห์โดยไม่มีวิธีแก้ปัญหาที่ดี

นี่คือสิ่งที่ฉันต้องการบรรลุ:

ฉันต้องการมีโฟลเดอร์รูทของฉันเช่น /home/'username'/Sites/'projectname.pl 'หรือ / home /' ชื่อผู้ใช้ '/ ไซต์ / pl /' ชื่อโครงการ '/ สาธารณะ (หรือ simular)

เมื่อเข้าถึง localhost ของฉันฉันไม่ต้องการเขียน localhost / 'projectname' / public (หรือ whatnot) ฉันต้องการที่จะสามารถเข้าถึงโครงการได้โดยพิมพ์ http: //'projectname'.pl

ฉันรู้ว่าสิ่งนี้สามารถทำได้บนเซิร์ฟเวอร์ apache บน OSX แต่ฉันไม่สามารถหาคำแนะนำใด ๆ เพื่อให้บรรลุสิ่งนี้บนเครื่อง Ubuntu ของฉัน

ฉันจะขอบคุณทุกความช่วยเหลือและฉันหวังว่ามันจะเป็นไปได้

ความนับถือ!

คำตอบ:


16

คุณสามารถตั้งค่า vhosts ของคุณได้

/etc/apache2/sites-available

สำหรับ vhost ทุกครั้งที่คุณต้องการสร้างไฟล์ conf ในไดเรกทอรีนี้ ในการกำหนดค่า vhost คุณสามารถตั้งค่ารูทเอกสารของคุณ ชื่อของไฟล์จะต้องลงท้ายด้วย. conf

ตัวอย่างเช่น: /etc/apache2/sites-available/projectname.conf:

<VirtualHost *:80>
  ServerName projectname.pl

  DocumentRoot "/home/Sites/projectname/public"

</VirtualHost>

ตอนนี้เปิดใช้งานไซต์ของคุณด้วย:

sudo a2ensite projectname

และรีสตาร์ท apache:

sudo /etc/init.d/apache2 restart

จากนั้นแก้ไขไฟล์ / etc / hosts ของคุณ

เพียงวางบรรทัด:

127.0.0.1 projectname.pl

ในตอนท้าย

ตอนนี้คุณสามารถเข้าถึงไซต์ของคุณด้วย http://projectname.pl


ขอบคุณสำหรับคำตอบ. ฉันใช้ตัวอักษรผิดกฎหมายในคำถามของฉันซึ่งส่งผลให้ข้อความส้มตก ฉันได้อัปเดตคำถามของฉันตอนนี้ โปรดอ้างอิงอีกครั้งและดูว่ามีอะไรที่ฉันต้องทำเพื่อให้มันใช้งานได้ ความนับถือ!
พิวเตอร์

โดยพื้นฐานแล้วมันก็ยังคงเหมือนเดิม ฉันได้แก้ไขคำตอบ mach ความปรารถนาของคุณ :)
rechengehirn

ประเด็นสำคัญสองข้อในที่นี้คือการตั้งชื่อ apache config พร้อมกับส่วนเสริมของการตั้งค่าและการรีสตาร์ท apache หลังจากนั้น
JohnMerlino

ทำงานให้ฉัน !!
arqam

1

เพียงเพิ่มคำตอบอื่น ๆ ที่นี่วิธีที่ฉันได้กำหนดค่าพฤติกรรมดังกล่าวอยู่กับ symlinks ... ดูเหมือนว่าจะทำงานได้ดี มันง่ายมากที่จะทำและไม่ต้องการไฟล์การกำหนดค่าใด ๆ

sudo ln -s ~/path/to/yoursite/ /var/www/html/yoursite

ส่วนสุดท้ายของด้านบนอาจแตกต่างกันสำหรับคุณ ข้างต้นคือสิ่งที่ฉันใช้ใน Linux Mint 17 ไดเรกทอรี '/ var / www / html /' เป็นโฟลเดอร์ "ไซต์" เริ่มต้นของ Apache

ดังนั้นใช่สำหรับผู้ที่กำลังมองหาวิธีที่ง่ายและสะอาดในการทำแผนที่ไซต์โดยไม่ต้องวางไดเรกทอรีของไซต์ของพวกเขาในโฟลเดอร์ apache ที่เป็นค่าเริ่มต้น

หมายเหตุ:ฉันไม่แน่ใจว่าข้างต้นเหมาะสมสำหรับสภาพแวดล้อมการผลิต แต่สำหรับการพัฒนาท้องถิ่นดูเหมือนว่าจะไม่เป็นไร เหตุผลที่ฉันไม่แน่ใจเป็นเพราะ symlink ดำเนินการอนุญาตของโฟลเดอร์ในไดเรกทอรีบ้านซึ่งเป็นไปได้มากที่สุด "เป็นเจ้าของ" โดยผู้ใช้ หากคุณต้องการคุณสามารถเปลี่ยนได้อย่างชัดเจนว่าเป็น 'รูท' ที่ปลอดภัยกว่าเช่นไดเรกทอรีอาปาเช่ แต่ฉันปล่อยให้ฉันอยู่คนเดียวเพราะฉันใช้สิ่งนี้ในสภาพแวดล้อมการพัฒนา


0

ฉันแก้ไขมันโดยทำตามคู่มือนี้ วิธีการแก้ปัญหาที่เป็นระเบียบซึ่งช่วยให้คุณสามารถสร้างโฟลเดอร์ใน "Sites" ที่ระบุของคุณ - โฟลเดอร์และเข้าถึงได้โดยไม่ต้องเพิ่มไซต์ที่ใช้ได้สำหรับทุกไซต์ใหม่

คำแนะนำ -> http://css.dzone.com/articles/drop-folder-directory-and-have

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