Tuesday, August 26, 2014

สิ่งที่ต้องทำหลังจาก Upgrade Apache 2.2 ไปเป็น Apache 2.4

ปรับเปลี่ยนการตั้งค่า Virtual Host
เนื่องจากมีการเปลี่ยน การตั้งค่า หลักๆ 2 อย่าง ดังนี้

1. ที่ virtual host configuration file จะต้องมี คำว่า Require all granted ก่อนปิด Directory เสมอ เหมือนตัวอย่างด้านล่าง

< Directory /path/to/public/website/ >
   Require all granted
< /Directory >

2. virtual host configuration file จะต้องมีนามสกุลเป็น .conf
    สำหรับ Ubuntu สามารถทำการเพิ่มนามสกุล .conf ให้กับ virtual host configuration file ได้ดังนี้

  2.1 mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf
    2.2 ใช้คำสั่ง  a2ensite example.com.conf  เพิ่มทำการเปิดให้ site ทำงาน
    2.3 หากมี site อื่นๆ ก็ให้ดำเนินการตามข้อ 2.1 - 2.2 ให้ครบทุก site
    2.4 จากนั้นใช้คำสั่ง
           service apache2 reload
     เพื่อให้ Apache โหลดค่าต่างๆ ใหม่

Default Virtual Host

     เปลี่ยนจาก /var/www ไปเป็น /var/www/html

Module Configurations

    จะถูกแยกไปโหลดต่างหาก ไม่โหลดพร้อม configuration file เหมือนเดิม โดยแยกไปเป็น mods-available/ หรือ mods-enabled/ และ มีการเพิ่มเติมนามสกุลให้กับไฟล์ เป็นดังตัวอย่าง module_name.conf

Errors From Non-Updated Settings

The following symptoms may indicate that you need to make the changes to your Apache 2.4 configuration that are described in this article. Note that other causes can also produce these symptoms, so if you didn’t recently upgrade from Apache 2.2 to 2.4, you should pursue additional troubleshooting avenues.

Symptom: When you try to visit your website, you see the default It works! Apache web page.

Solution: Add the .conf extensions to your virtual host configuration files and re-add your sites, as detailed above. You can also make any desired changes to the Apache default site behavior. If you want to disable the default site, you must do so again.

Symptom: When you use the Apache a2ensite command, you receive the error Site example.com does not exist!

Solution: Make sure you have the .conf extension at the end of your configuration file name, and that you also use the .conf extension with the a2ensite command.

Symptom: When you try to visit your website, you see a 403 Forbidden message.

Solution: Add the Require all granted line to each of your virtual host configuration files, as detailed above.

Symptom: Apache fails to start or run.

Solution: Check for incompatible settings and modules in your Apache configuration files.

คัดลอกจาก : https://www.linode.com/docs/security/upgrading/updating-virtual-host-settings-from-apache-2-2-to-apache-2-4