- ติดตั้ง apache ด้วยคำสั่ง sudo apt-get install apache2 apache2-doc
ทดสอบผลงานไปที่เวบได้เลย
พื้นที่เก็บข้อมูลเวบนี้อยู่ที่ /var/www
- หาก apache เริ่มทำงานแล้วมี error ประมาณว่า
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
ไม่ต้องตกใจ ระบบยังทำงานได้ เพียงแต่มันฟ้องว่าหาชื่อ host ไม่เจอ
วิธีแก้ไขปัญหานี้ ทำได้โดยการแก้ไขแฟ้ม /etc/hosts
หากข้อมูลเดิมมีประมาณว่า
127.0.0.1 localhost
127.0.1.1 ubuntu
ให้แก้ไขใหม่เป็นประมาณว่า
127.0.0.1 localhost.local localhost
127.0.1.1 ubuntu.local ubuntu
แล้วลองสั่งให้ apache ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/apache2 restart จะพบว่า error ดังกล่าวหายไป
หรือ
แก้ไขแฟ้ม /etc/apache2/httpd.conf ก็ได้
เมื่อเปิดแฟ้มนี้จะเป็นแฟ้มเปล่าให้เพิ่มข้อความว่า
ServerName localhost
สำหรับ Ubuntu 12.10, 13.04 ให้สร้างแฟ้ม /etc/apache2/conf.d/name โดยมีข้อความว่า
ServerName localhost
แล้วลองสั่งให้ apache ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/apache2 restart จะพบว่า error ดังกล่าวหายไป
- หากต้องการใช้ cgi ให้ทำดังนี้
sudo apt-get install libapache2-mod-perl2
sudo a2enmod cgi
พื้นที่สำหรับเก็บ cgi script อยู่ที่ /usr/lib/cgi-bin
อย่าลืมตั้งค่าให้แฟ้ม cgi สามารถทำงานแบบ execute ด้วย
เวลาใช้งานก็เรียกเวบประมาณว่า http://localhost/cgi-bin/yourcgi
- หากต้องการเปลี่ยนหรือเพิ่ม port ให้แก้ไขแฟ้ม /etc/apache2/ports.conf เป็นประมาณตัวอย่างว่า
Listen 80
Listen 8010
- การสร้าง virtual host ให้แก้ไขแฟ้ม /etc/apache2/sites-available/default เป็นประมาณว่า
<VirtualHost *:80>
DocumentRoot /var/www/
ServerName origin.hostname.domain
</VirtualHost>
*** ข้างบนนี้ต้องมีเพื่อให้คงชื่อ web host ของเดิมไว้
<VirtualHost *:80>
DocumentRoot /var/www/newfile
ServerName new.name.domain
</VirtualHost>
*** เพิ่มชื่อ web host ใหม่เข้าไป
<VirtualHost *:80>
ServerName www.mydomain.com
Redirect / http://new.domain.com/
</VirtualHost>
*** ทำการ redirect ต่อไปให้เวบอื่น
ต้องแก้ไขแฟ้ม /etc/apache2/sites-available/default
ให้ส่วนของ <Directory /var/www/> บริวเณประมาณบรรทัดที่ 14
ต้องอนุญาติให้ AllowOverride All ดังตัวอย่าง
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
เสร็จแล้วก็สั่ง apache ทำงานใหม่ ด้วยคำสั่ง sudo /etc/init.d/apache2 force-reload
- การสร้าง virtual host ที่เป็น https ทำดังนี้
สั่งเปิด ssl ด้วยคำสั่ง sudo a2enmod ssl
ดาวน์โหลดแฟ้มจาก ftp://ftp.psu.ac.th/pub/apache/apache2-ssl.tar.gz
ด้วยคำสั่ง wget ftp://ftp.psu.ac.th/pub/apache/apache2-ssl.tar.gz
แล้วแตกแฟ้มออกมาด้วยคำสั่ง tar -zxvf apache2-ssl.tar.gz -C /tmp
คัดลอกแฟ้มไปยังตำแหน่งที่ถูกต้องด้วยคำสั่ง
sudo mv /tmp/ssleay.cnf /usr/share/apache2
sudo mv /tmp/apache2-ssl-certificate /usr/sbin
sudo mkdir -p /etc/apache2/ssl
สร้าง certification ด้วยคำสั่ง sudo apache2-ssl-certificate
ระบบจะมีข้อความออกให้โต้ตอบ ก็ให้กดแป้น Enter อย่างเดียวจนเสร็จ
แก้ไขแฟ้ม /etc/apache2/sites-available/default
เพิ่มบรรทัดว่า NameVirtualHost *:443 เข้าไป
ถัดต่อจากบรรทัดเดิมที่ว่า NameVirtualHost *:80
แล้วสร้างเพิ่ม tag ทำนองเดียวกับ <VirtualHost *:80>
แต่เปลี่ยนจากเลข 80 เป็นเลข 443 และเพิ่ม SSL ประมาณว่า
<VirtualHost *:443>
......
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
</VirtualHost>
เสร็จแล้วก็ให้ restart apache ใหม่ด้วยคำสั่ง sudo /etc/init.d/apache2 force-reload
- การทำให้ www server ไม่แสดงผลรายการชื่อแฟ้มใน directory
ให้แก้ไขแฟ้ม /etc/apache2/sites-available/default
ประมาณบรรที่ 14 ให้ลบคำว่า Indexes ออกจากส่วนของ
<Directory "/var/www/l">
....
</Directory>
จากตัวอย่างข้อความเดิมคือ Options Indexes FollowSymLinks
แก้ไขใหม่เป็น Options FollowSymLinks
แล้วสั่งให้ apache ทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/apache2 force-reload
/etc/apache2/httpd.conf
- หากต้องการบริการจำนวน client มากกว่าเดิม กลายเป็น 500 connection
ต้องตรวจสอบว่า apache มีการจัดการ process แบบใด ให้ใช้คำสั่ง apache2 -l
ถ้ามีข้อความคำตอบ prefork.c แสดงว่าจัดการ process แบบ MPM prefork
ถ้ามีข้อความคำตอบ worker.c แสดงว่าจัดการ process แบบ MPM worker
ให้แก้ไขที่แฟ้ม /etc/apache2/apache2.conf ที่ประมาณข้อความว่า
หากเป็นแบบ MPM prefork ให้แก้ไขดังนี้ ที่ประมาณข้อความว่า
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>/etc/apache2/httpd.conf
ให้แก้ใขค่า MaxClients และเพิ่มค่า ServerLimit เป็น 500 ดังตัวอย่าง
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
ServerLimit 500
MaxClients 500
MaxRequestsPerChild 0
</IfModule>
หากเป็นแบบ MPM worker ที่ประมาณข้อความว่า
<IfModule mpm_worker_module>/etc/apache2/httpd.conf
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
ให้ แก้ใขค่า MaxClients เป็น 500 และเพิ่มค่า ServerLimit เป็น 20
หมายเหตุ. MaxClients = ServerLimit x ThreadsPerChild ดังตัวอย่าง
<IfModule mpm_worker_module>
StartServers 2
MinSpareThreads 25
MaxSpareThreads 75
ThreadLimit 64
ThreadsPerChild 25
ServerLimit 20/etc/apache2/httpd.conf
MaxClients 500
# MaxClients 150
MaxRequestsPerChild 0
</IfModule>
เสร็จแล้วสั่งให้ระบบทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/apache2 force-reload
- ตั้งค่าให้เวบแสดงผลภาษาไทยแบบ utf-8 โดยอัตโนมัติ
ให้แก้ไขแฟ้ม /etc/apache2/conf.d/charset
ตั้งค่าตัวแปรเป็นว่า AddDefaultCharset UTF-8
เสร็จแล้วสั่งให้ระบบทำงานใหม่ด้วยคำสั่ง sudo /etc/init.d/apache2 force-reload
วันอาทิตย์ที่ 26 มกราคม พ.ศ. 2557
ติดตั้ง apache บน ubuntu
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น