Wednesday, September 9, 2015

403 Forbidden after changing DocumentRoot directoryon Ubuntu 14.04

  • ติดตั้ง Ubuntu 14.04 Server LTS เรียบร้อย ลง LAMP
  • ลองทดสอบ http://localhost รันได้ปกติ
  • พอจะเปลี่ยนพาธของ root web จาก /var/www/html/ ไปที่อื่นเช่น /home/user/public_html
  • มัน permission ไม่ผ่านซะงั้น
  • และ เราจะสร้าง vhost ตั้งพาธไปที่อื่นที่ไม่ใช่ /var/www/ มันก็ไม่ได้เช่นกัน 
  • ประมาณว่า บังคับให้สร้างไว้ภายใต้ /var/www/ อย่างเดียวเลย ถึงจะผ่าน permission เข้าไปรันเว็บได้น่ะ
  • พยายาม sudo chmod -R 777 /home/user/public_html 
  • และ sudo chown -R www-data:www-data /home/user/public_html
  • ทั้งสองอย่าง มันก็ยังติด permission denied เหมือนเดิม
  • ซึ่งจำได้หว่าเคยแก้บน Debian และ Ubuntu เวอร์ชั่นเก่าๆ ไม่น่าจะเปลี่ยนพาธยากลำบากขนาดนี้เลยนะ 
Solved
  • ขั้นแรกต้องแก้ไขไฟล์ apache2.conf ครับพี่น้อง
sudo nano /etc/apache2/apache2.conf
  • ตรงบรรทัดประมาณนี้
  • แก้จาก Require all denied => Require all granted
  • จากนั้นบันทึกไฟล์ให้เรียบร้อย และ restart apache สักรอบ
sudo service apache2 restart
  • แค่นี้การเปลี่ยนใช้พาธอื่นๆ แทน ของเดิม /var/www/ ก็ไม่มีปัญหาเรื่อง permission แล้วครับ
เพิ่มเติม
  • อ้างอิงเค้าให้เรา sudo a2dissite 000-default.conf แต่อันนี้ลองแล้วไม่จำเป็นต้องทำก็ได้ครับ
  • ส่วนเรื่อง permission เรากำหนดให้ประมาณ 705 ก็น่าจะพอแล้วครับ
อ้างอิง
  • http://askubuntu.com/questions/413887/403-forbidden-after-changing-documentroot-directory-apache-2-4-6
  • http://ubuntuforums.org/showthread.php?t=2219339

No comments:

Post a Comment