วิธีการโฮสต์หลายไซต์จากกล่องเสมือน Ubuntu โคมไฟสแต็ค


0

ฉันค่อนข้างใกล้เคียงกับการทำสิ่งที่ฉันต้องการ แต่อนิจจาการแก้ปัญหาสุดท้ายก็หลบเลี่ยงฉัน โดยพื้นฐานแล้วฉันกำลังพยายามไปยังตำแหน่งที่ฉันสามารถโฮสต์หลายไซต์บนหนึ่ง vb และเข้าถึงพวกเขาโดยใช้ url แบบง่าย ๆ จากเครื่องทั้งสอง ...

การตั้งค่าของฉัน:

โฮสต์ Windows 7 ซึ่งมีรายการในไฟล์โฮสต์ที่อ่าน: 192.168.0.30 laravel.dev ฉันมีการจอง DHCP สำหรับที่อยู่นี้ซึ่งสำรองไว้สำหรับที่อยู่ mac ที่ไม่ซ้ำกันของ virtualbox

Virtualbox ถูกตั้งค่าด้วยอะแดปเตอร์เครือข่าย bridged และโหมด promiscuous: อนุญาตทั้งหมด (ไม่แน่ใจว่าจำเป็นหรือไม่) ฉันไม่ได้ทำการเปลี่ยนแปลงไฟล์ hosts บน guest os

ฉันได้สร้างไฟล์ใหม่ชื่อ laravel.dev ที่/etc/apache2/sites-availableเรียกlaravel.devและแก้ไขดังต่อไปนี้:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName *.laravel.dev
    DocumentRoot /var/www/laravel.dev/public/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/laravel.dev/public/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/laravel_error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/laravel_access.log combined
</VirtualHost>

ฉันได้เปิดใช้งานแล้ว (ฉันคิดว่า) โดยการพิมพ์sudo a2ensite laravel.devและรีสตาร์ท apache

สถานการณ์ปัจจุบัน:

ดังนั้นในขณะนี้ฉันสามารถเข้าถึงโดยเว็บรูท ( /var/www/) จากโฮสต์โดยพิมพ์http://laravel.dev/ในแถบที่อยู่ของฉันและฉันสามารถเข้าถึงได้จากเบราว์เซอร์แขกของฉันโดยการพิมพ์localhost

ฉันสามารถเข้าถึงไฟล์ดัชนีโครงการของฉัน ( /var/www/laravel.dev/public/index.php) จากโฮสต์โดยพิมพ์http://laravel.dev/laravel.dev/publicในแถบที่อยู่ของฉันและฉันสามารถเข้าถึงได้จากเบราว์เซอร์แขกของฉันโดยการพิมพ์localhost/laravel.dev/public

สิ่งที่ฉันต้องการ

ไม่เป็นไร แต่สิ่งที่ฉันต้องการคือสามารถเข้าถึงรูทของไซต์ของฉัน ( /var/www/laravel.dev/public/index.php) เพียงแค่พิมพ์ laravel.dev ในแถบที่อยู่ของเครื่องใดเครื่องหนึ่ง - ทุกคนสามารถอธิบายสิ่งที่ฉันทำผิดได้ที่นี่ ฉันจะขอบคุณไปชั่วนิรันดร์

ขอข้อมูลเพิ่มเติม:

ผลลัพธ์ของ ls -l ใน / etc / apache2 / sites-enabled /

total 0
lrwxrwxrwx 1 root root 26 Feb 26 17:16 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 30 Feb 26 18:27 laravel.dev -> ../sites-available/laravel.dev

... ยินดีที่จะให้ข้อมูลอื่น ๆ ซึ่งอาจช่วยแก้ปัญหานี้

นอกจากนี้นอกจากการติดตั้งสแต็คหลอดไฟ ฉันยังไม่ได้ทำอะไรนอกจากรายการที่นี่ - ถ้าฉันไม่ได้พูดถึงฉันอาจจะยังไม่ได้ทำดังนั้นคำแนะนำใด ๆ ที่ได้รับการชื่นชม ปลอดภัยที่จะสมมติว่าคุณจัดการกับ linux noob ... จะไม่มีความผิดใด ๆ เกิดขึ้น


คุณเป็นโฮสต์ DNS ของคุณหรือไม่
แช้ดแฮร์ริสัน

ไม่ฉันไม่ใช่. ฉันควรจะเป็นอย่างไร
SwiftD

คำตอบ:


1

ฉันสงสัยว่าปัญหาเป็นปัญหา DNS แม้ว่าฉันจะถามว่าไฟล์ที่คุณทำจริง ๆ ถูกอ่านโดย Apache หรือไม่บรรทัด "DocumentRoot /var/www/laravel.dev/public/" ควรจะเพียงพอสำหรับการทำงานดังกล่าว

[แน่นอนถ้านี่คือทั้งหมดที่คุณพยายามจะทำคุณต้องการ guff อื่นที่คุณใส่ไว้หรือไม่? ถ้าไม่ฉันจะลองลบไฟล์นี้และแก้ไข DocumentRoot ในการกำหนดค่า apache หลัก]

หากวิธีนี้ไม่ช่วยแก้ปัญหาของคุณคุณสามารถให้ผลลัพธ์ของ "ls -l / etc / apache2 / sites-enabled" ได้เนื่องจากควรมี symlink อยู่ในเว็บไซต์ / laravel.dev ซึ่งอาจหายไป - ถ้าไม่ เราอาจต้องตรวจสอบว่าไฟล์นี้ถูกวิเคราะห์คำหรือไม่และทำไมไม่


ขอบคุณสำหรับคำแนะนำของคุณ ฉันไม่ได้ทำไฟล์นั้นมันถูกคัดลอกมาจากค่าเริ่มต้นและแก้ไขฉันเกรงว่าฉันไม่รู้เกี่ยวกับสิ่งที่ฉันทำเพื่อ "กำจัด guff ใด ๆ " ดังนั้นฉันจึงแก้ไขสิ่งที่ดูเหมือนว่าจำเป็นต้องเปลี่ยนเท่านั้น ฉันได้อัปเดตคำถามของฉันพร้อมกับผลลัพธ์ของ ls -l หมายเหตุ: แม้ว่าฉันจะมีเพียงไซต์เดียวในขณะนี้ที่ฉันต้องการรับหลายไซต์ใน vm เดียวกัน แต่จนถึงตอนนี้ฉันได้สร้าง vm แยกต่างหากสำหรับแต่ละไซต์ แต่มันน่าแปลกใจที่เทราไบต์สามารถหายไปได้เร็วเพียงใด สันนิษฐานว่าถ้าฉันแก้ไขรากเอกสารในการกำหนดค่า apache มันจะเป็นการตั้งค่าเว็บไซต์เดียว
SwiftD

นอกจากนี้ยังมีจุด guff อื่น ๆ มันจะมีประโยชน์ถ้าฉันสามารถแยกบันทึกข้อผิดพลาดของฉัน (และบันทึก mysql ในอุดมคติ แต่ฉันจะกังวลเกี่ยวกับเรื่องนั้นในภายหลัง) บันทึกการเข้าถึงอาจจะไปได้ แต่ยิ่งฉันสามารถเลียนแบบประเภทของระบบได้ดีขึ้น ยังค่อนข้างกระตือรือร้นที่จะเรียนรู้วิธีการทำสิ่งต่าง ๆ อย่างถูกต้อง (ไม่ว่าจะด้วยวิธีใด) และเริ่มที่จะทำให้หัวของฉันไปรอบ ๆ ผู้ดูแลระบบหลอดไฟได้ดีขึ้นเล็กน้อย
SwiftD

จากมุมมองของความเร็วและทรัพยากรคุณมีลำดับความสำคัญที่ดีกว่าในการตั้งค่าโฮสต์เสมือนจากนั้นจึงมีเครื่องเสมือนสำหรับแต่ละไซต์และที่จริงแล้วไม่ใช่เรื่องยากสำหรับ Apache คุณต้องการแชทและเราสามารถลองและแก้ปัญหาทีละขั้นตอนได้หรือไม่? ฉันเตรียมพร้อมสำหรับชั่วโมงถัดไปหรือมากกว่านั้น (แต่ไม่เคยใช้การแชท !!!)
davidgo

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

เราจะไปแชทกันเวลา 2:00 น. GMT (เช่น 2.5 ชั่วโมงจากนี้)?
davidgo

0

คุณสามารถลองใช้บทช่วยสอนที่ฉันพบที่นี่ ดูเหมือนว่าจะบอกวิธีการตั้งค่าโดยใช้ vhosts บน Ubuntu นอกจากนี้ยังครอบคลุมถึง Arch Linux เช่นกัน แต่ฉันสามารถค้นหาว่าปัญหาของฉันคืออะไรหลังจากอ่านบทช่วยสอนฉันพลาดขั้นตอนง่าย ๆ ก่อนจะติดตาม อาจเป็นไปได้ว่าคุณกำลังทำงานในสถานการณ์เดียวกัน http://www.adminempire.com/how-to-setup-v-host-on-apache/

ส่วนอาจเป็นนามแฝงจะแก้ปัญหาของคุณด้วยวิธีการพิมพ์ในสิ่งที่คุณต้องการและไม่ต้องรวมส่วน localhost


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