การติดตั้ง web server ด้วยโปรแกรม Apache


การติดตั้ง web server ด้วยโปรแกรม Apache

การติดตั้ง web server ด้วยโปรแกรม Apache

วิธีติดตั้ง www server ด้วยโปรแกรม httpd (apache 2.0)

  1. ขอแนะนำให้ปิดการทำงานของระบบ selinux ทำงานเสียก่อน
    เพราะอาจสร้างปัญหาปวดหัว ทำให้ใช้โปรแกรม httpd ที่ติดตั้งไม่ได้

    โดยแก้ไขแฟ้มชื่อ /etc/selinux/config ให้แก้ไขจากเดิมบรรทัดว่า
    SELINUX=enforcing ให้เป็น SELINUX=disabled แล้วรีบูทเครื่องใหม่

  2. ติดตั้งโปรแกรม httpd พร้อมคู่มือ ด้วยคำสั่ง
    apt-get install httpd
    apt-get install httpd-manual
    ถ้าต้องการติดตั้งให้รองรับ https port ด้วย ให้ติดตั้ง mod_ssl เพิ่มเติมด้วยคำสั่ง
    apt-get install mod_ssl

    ในกรณีที่ใช้ yum ให้เปลี่ยนคำว่า apt-get เป็น yum ดังตัวอย่าง
    yum install httpd
    yum install httpd-manual
    yum install mod_ssl

  3. แก้ไขให้ทำงานทุกครั้งที่บูทเครื่อง
    chkconfig httpd on

  4. สั่งให้ทำงานด้วยคำสั่งว่า
    service httpd start
    Starting httpd:                                             [  OK  ]
    *** บน fedora core 3 หากได้ error ว่า
    Starting httpd: /usr/sbin/httpd: error while loading shared libraries:
    librt.so.1: failed to map segment from shared object: Permission denied
    แสดงว่ามีการเปิดระบบ selinux ทำงาน  เราสามารถทำการปิด selinux

  5. การปรับแต่งระบบทำได้โดยการแก้ไขแฟ้ม /etc/httpd/conf/httpd.conf แล้ว ให้ระบบอ่านค่าที่ปรับใหม่ได้ด้วยคำสั่ง
    service httpd restart
    Stopping httpd:                                            [  OK  ]
    Starting httpd:                                             [  OK  ]

  6. คำแนะนำในการปรับแต่งค่าต่างๆของ /etc/httpd/conf/httpd.conf

    • การทำให้รองรับระบบภาษาไทย ต้องแก้ไขให้มีค่าดังต่อไปนี้
      ***โปรดระวัง หากมีการใส่ข้อมูลผิดพลาด อาจทำให้ web server ไม่ทำงาน
      ***ห้ามแปะข้อความทั้งหมดนี้ต่อท้ายแฟ้มเดิม เพราะเป็นวิธีที่ไม่ถูกต้อง

      DefaultLanguage th
      AddLanguage th .th
      LanguagePriority th en da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv tw
      AddCharset TIS-620       .tis-620  .th

      ***หมายเหตุ มักเจอปัญหาการใส่ข้อมูลผิดพลาดบ่อยๆมากๆ
      ***คำแนะนำ/ข้อสังเกตุ
      เดิมมีบรรทัดว่า # DefaultLanguage nl
      ให้เพิ่มบรรทัดใหม่ข้อความว่า DefaultLanguage th
      (ห้ามมีเครื่องหมาย # อยู่ข้างหน้า)

      เดิมมีบรรทัดว่า AddLanguage ... ซึ่งเป็นภาษาอื่นๆ
      ให้เพิ่มบรรทัดใหม่ข้อความว่า AddLanguage th .th

      เดิมมีบรรทัดว่า LanguagePriority en ca cs da de ....
      ให้เพิ่มข้อความอักษร th แทรกเข้าไป
      กลายเป็น LanguagePriority th en ca ca da de ....

      เดิมมีบรรทัดว่า AddDefaultCharset UTF-8
      ให้เพิ่มเครื่องหมาย # นำหน้าบรรทัดกลายเป็นว่า #AddDefaultCharset UTF-8
      *** หากจำเป็นจริงๆ อาจต้องเปลี่ยนเป็น
      AddDefaultCharset TIS-620

      เดิมมีบรรทัดว่า AddCharset ...ซึ่งเป็นภาษาอื่นๆ
      ให้เพิ่มบรรทัดใหม่ข้อความว่า AddCharset TIS-620       .tis-620  .th

  7. ข้อมูลสำหรับโอมเพจอยู่ที่ /var/www/html

  8. หากไม่ต้องการให้ www server แสดงผลรายการชื่อแฟ้มใน directory
    ให้แก้ไขแฟ้ม /etc/httpd/conf/httpd.conf ในลบคำว่า Indexes ออกจากพื้นที่
    <Directory "/var/www/html">
    ....
    </Directory>
    จากตัวอย่างข้อความเดิมคือ Options Indexes FollowSymLinks
    แก้ไขใหม่เป็น    Options FollowSymLinks

  9. หากไม่ต้องการให้แสดงโฮมเพจ Test Page for The Apache
    ให้ลบแฟ้ม /etc/httpd/conf.d/welcome.conf ทิ้ง

  10. การทำให้มีโฮมเพจของผู้ใช้
    • แก้ไขแฟ้ม /etc/httpd/conf/httpd.conf ให้มีบรรทัดข้อความดังนี้
      UserDir public_html
      *** ตรวจสอบให้ละเอียด หากมีของเดิมค่า default คือ UserDir disable ก็ให้เปลี่ยนเป็น UserDir public_html ได้เลย

      และถัดลงมาอีกมีบรรทัดข้อความดังต่อไปนี้
      (อาจมีข้อมูลนี้อยู่แล้ว ให้เอาเครื่อง # ออกไปก็พอ)

      <Directory /home/*/public_html>
          AllowOverride FileInfo AuthConfig Limit
          Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
          <Limit GET POST OPTIONS>
              Order allow,deny
              Allow from all
          </Limit>
          <LimitExcept GET POST OPTIONS>
              Order deny,allow
              Deny from all
          </LimitExcept>
      </Directory>

    • home ของผู้ใช้ต้องมี permission เป็น 711 ดังตัวอย่างคำสั่ง
      chmod 711 /home/userid

    • ต้องสร้าง directory ชื่อ public_html ใน home ของผู้ใช้
      และมี permission เป็น 755 ดังตัวอย่างคำสั่ง
      mkdir /home/userid/public_html
      chmod 755 /home/userid/public_html

  11. การสร้าง virtual host ให้ทำดังนี้
    • ต้องเป็นชื่อที่บันทึกแสดงไว้ในระบบ DNS
    • แก้ไขแฟ้ม /etc/httpd/conf/httpd.conf ให้มีบรรทัดข้อความดังนี้
      NameVirtualHost *:80
      <VirtualHost *:80>
          DocumentRoot /var/www/html
          ServerName origin.hostname.domain
      </VirtualHost>
      ** ข้างบนนี้ต้องมีเพื่อให้คงชื่อ web host ของเดิมไว้

      <VirtualHost *:80>
          DocumentRoot /var/www/newfile
          ServerName new.name.domain
      </VirtualHost>
      ** เพิ่มชื่อ web host ใหม่เข้าไป

  12. หากต้องการทำเป็น virtual host ที่เป็น https ให้ทำดังนี้
    • ต้องได้ติดตั้ง mod_ssl ตามข้อ 2 ข้างบนแล้ว

    • แก้ไขทำนองเดียวกับสร้าง virtual host ที่เป็น http ธรรมดา
      แตกต่างที่

      เปลี่ยนเป็นแก้ไขแฟ้ม  /etc/httpd/conf.d/ssl.conf
      แทนแฟ้ม /etc/httpd/conf/httpd.conf

      และเปลี่ยนค่า <VirtualHost *:80>
      ให้กลายเป็น <VirtualHost *:443> เท่านั้น ดังตัวอย่าง

      <VirtualHost *:443>
          DocumentRoot /var/www/newfile
          ServerName new.name.domain
      </VirtualHost>

  13. การกำหนดสิทธิการเข้าถึง directory โดยวิธีจัดการแฟ้ม .htaccess
    • ต้องมีแฟ้มชื่อ .htaccess ภายใต้ directory ที่ต้องการกำหนดสิทธิ
    • หากต้องการกำหนดสำหรับ home ของผู้ใช้ทั่วไป
      ให้แก้ไขแฟ้ม /etc/httpd/conf/httpd.conf ให้มีบรรทัดข้อความดังนี้
      <Directory /home/*/public_html>
          AllowOverride FileInfo AuthConfig Limit
          Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
          <Limit GET POST OPTIONS>
              Order allow,deny
              Allow from all
          </Limit>
          <LimitExcept GET POST OPTIONS>
              Order deny,allow
              Deny from all
          </LimitExcept>
      </Directory>
หมายเลขบันทึก: 107632เขียนเมื่อ 30 มิถุนายน 2007 17:09 น. ()แก้ไขเมื่อ 5 มิถุนายน 2012 09:34 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท