วิธีการตั้งค่า apache2 virtualhosts บนโฮมไดเร็กตอรี่ของคุณบน Ubuntu 14.04?


10

ฉันกำลังพยายามติดตั้ง apache2 virtualhost เพื่อเรียกใช้แอพพลิเคชั่นจากไดเรกทอรีแอพในโฮมไดเร็กตอรี่ของฉัน

home/myusername/apps/application1

นี่คือขั้นตอนที่ฉันกำลังทำอยู่:

1) การสร้างไดเรกทอรีและเพิ่มไฟล์ index.html ไว้ในนั้น

home/myusername/apps/application1/index.html

2) การให้สิทธิ์กับไดเรกทอรี

sudo chown -R $USER:$USER /home/myusername/apps/application1

sudo chmod -R 755 /home/myusername/apps

3) การสร้างไฟล์โฮสต์เสมือน

sudo touch /etc/apache2/sites-enabled/application1.app.conf

<VirtualHost *:80>    
    ServerAdmin webmaster@localhost
    DocumentRoot /home/myusername/application1
    ServerName application1.app
    ServerAlias www.application1.app

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

4) เปิดใช้งานโฮสต์

sudo a2ensite application1.app

5) รีสตาร์ท Apache

sudo service apache2 restart

6) การเพิ่มโดเมนไปยังไฟล์โฮสต์

127.0.0.1    application1.app

หลังจากทำทั้งหมดนี้เมื่อฉันพิมพ์ที่อยู่ในแอปพลิเคชันเบราว์เซอร์ 1.app ฉันได้รับ 403 ต่อไปนี้

Forbidden
You don't have permission to access / on this server.
Apache/2.4.7 (Ubuntu) Server at application1.app Port 80

มีความคิดเห็นเกี่ยวกับสิ่งที่ฉันทำผิดหรือเปล่า? ขอบคุณทุกคน

คำตอบ:


19

เมื่อคุณใช้ไดเรกทอรีที่ไม่ได้มาตรฐานใด ๆ ด้วย apache คุณต้องแก้ไข/etc/apache2/apache2.confและเพิ่มใน<Directory /bla/bla>stanza เพื่อให้ apache รู้ว่ามันเป็นสิ่งที่ดีในการเข้าถึงพื้นที่ เพียงคัดลอกที่มีอยู่/var/wwwหรือ/var/www/htmlหนึ่ง ตัวอย่างเช่น (จากคำถามอื่นและสำหรับตำแหน่งอื่น):

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

<Directory /media/newhd/test_web/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

ใช่. ใช่แล้ว .. ฉันคิดออก .. คำแนะนำอยู่ในหน้า Landing Page ของ apache2 ขอบคุณที่เหนียว การโหวต ;)
Vinicius Santana

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