Thursday, March 22, 2007

Apache Config ง่ายๆ สำหรับนักพัฒนาเว็บไซต์

คือไปอ่านเจอวิธีทำในเว็บไซต์ ubuntuclub.com นะครับ ไม่ได้ต้องการคัดลอกความคิดหรอกนะครับ แต่เอามาเก็บไว้ดูเวลามีปัญหา ไม่ได้มีเจตนาอย่างอื่น และกลัวข้อมูลในเว็บไซต์นั้นหาย แล้วเวลาตัวเองอยากใช้งานหาไม่เจอ และเวลาตัวเองอยากใช้งานก็มาดูในบล็อกของตัวเองจะเร็วกว่า ก็เลยก็อปปี้เนื้อหามาไว้ครับ...

##############################################################
1. การสร้าง Virtual Host ให้เข้าไปแก้ไขที่ /etc/apache2/sites-available/default จะใช้ editor ไรก็ได้ไม่ว่ากัน เพิ่มส่วนข้างล่างไปเลยครับ อันนี้เป็นตัวอย่าง สำหรับ user tee น่ะครับ ผมกำหนดไว้ใน บ้านตัวเองเลย

Listen 9001
NameVirtualHost *:9001

ServerAdmin webmaster@localhost
DocumentRoot /home/tee/VHosts/mydomain.com

Options Includes Indexes FollowSymLinks MultiViews
AllowOverride All
#Order allow,deny
#allow from all
# This directive allows us to have apache2's default start page
# in /apache2-default/, but still have / go to the right place
# Commented out for Ubuntu
#RedirectMatch ^/$ /apache2-default/

#ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
#
# AllowOverride None
# Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
# Order allow,deny
# Allow from all
#

#ErrorLog /var/log/apache2/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
#CustomLog /var/log/apache2/access.log combined
ServerSignature On
#Alias /doc/ "/usr/share/doc/"
#
# Options Indexes MultiViews FollowSymLinks
# AllowOverride None
# Order deny,allow
# Deny from all
# Allow from 127.0.0.0/255.0.0.0 ::1/128
#

อธิบายส่วนสำคัญๆ ไดัดังนี้

1.1 Listen 9001 - ให้เปิด port นี้เอาไว้ (จริงๆ สำหรับ Ubuntu ส่วนนี้ default เค้าจะเอาไว้ใน /etc/apache2/ports.conf แต่เอาไว้ตรงนี้ก็ได้ ไม่ผิดแต่อย่างใด)
1.2 DocumentRoot /home/tee/VHosts/mydomain.com - ก็กำหนด ที่อยู่ของ file เว็บไซต์เลย อย่าลืมสร้างด้วยล่ะ
1.3 .... - ภายใต้ tag นี้ก็เพื่อจะกำหนด option ต่างๆ ของ folder อันนี้ต้องไปศึกษาเพิ่มเติมครับว่าอะไรทำไรบ้าง ขืนเขียนหมด จะยาวไม่จบเสร็จแล้วก็ reboot apache $sudo /etc/init.d/apache2 restart วิธิการเรียกใช้งานมาดูก็ http://localhost:9001/ ครับ
ส่วนที่ผม comment จาก default ก็คือผมไม่ต้องการจะใช้มันเช่น /cgi-bin/ /doc/ แล้วก็พวก error log เพราะมันจะทำเอา harddisk เต็มแบบไม่รู้ตัวนะครับ เผลอๆ ทำ apache เดี้ยงไปเลย

จบครับ Virtual Host ง่ายโคด (เว็บนี้ censor ป่าว) เมื่อย เอ้ายังมีอีกเรื่อง

2. การสร้าง UserDir สำหรับผู้ที่มี User บนระบบ เข้าไปแก้ไข /etc/apache2/apache2.conf หาบรรทัดนี้ครับ

# UserDir is now a module
UserDir Htdocs


AllowOverride FileInfo AuthConfig Limit
Options Indexes SymLinksIfOwnerMatch IncludesNoExec

อธิบายส่วนสำคัญๆ ไดัดังนี้

2.1 UserDir Htdocs - กำหนดชื่อ folder ในที่นี้ผมกำหนดเป็น Htdocs โดย default จะชื่อ public_html จะอะไรก็ได้
2.2 ... - ก็กำหนด option แหละครับ

เสร็จแล้วสร้าง folder Htdocs ลงไปที่ home ตัวเอง เช่น $mkdir /home/tee/Htdocs

ทีนี้ไม่ว่าเราจะยัดอะไรลงไปใน folder นี้ก็จะปรากฏใน http://localhost/~tee/ ครับ เย่ จบแล้วเมื่อยข้อมือ

** ไม่ว่าจะแก้อะไรใน config ถ้าจะให้ take effect ต้อง reboot apache ทุกครั้งนะครับ

#################################################################

Referece: Ubuntuclub

No comments: