ถ้าเกิดตอนลง apache2 แล้วเกิดข้อความแจ้งเตือนขึ้นมาดังนี้
-----------------------------------
apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
วิธีแก้ไขคือ 1. ให้แก้ไขที่ /etc/host โดยใช้คำสั่ง vi /etc/hosts แล้วให้ทำดังนี้
127.0.0.1 localhost
127.0.1.1 greanjub
ไปเป็น
127.0.0.1 localhost.local localhost
127.0.1.1 greanjub.local greanjub (ตรงนี้เป็นชื่อเครื่องของเราเด้อ)
2. แก้ไขที่ vi /etc/apache2/httpd.conf แล้ว ปกติแล้ว ถ้าลงใหม่ๆ จะไม่มีข้อมูลอะไรเลยให้เพิ่ม
ServerName greanjub (ตรงนี้เป็นชื่อเครื่องของเราเด้อ)
จากนั้นให้ทำการ restart apache2 โดยใช้คำสั่ง /etc/init.d/apache2 restart แค่นี้ก็จะไม่มีข้อความเตือนอีกแล้วครับ เรียบร้อยโรงเรียนไทยเลย ครับวัยล๊วน
-----------------------------------------------------------------------------------------------------------------------------------
-apache web server Hardening (เบื้องต้น)
group:: www-data, user:: www-data
/var/www (default DecumentRoot)
/etc/apache2 (directory)
conf.d (sub-directory)
charset //file config กำหรดค่าตัวอักษรที่ใช้
sercurity //file config กำหนดค่า security
ตัวแปรที่สำคัญ
ServerTokens=Prod
ServerSignature = off
TracerEnable=off
mods-available (sub-directory) //Full modul
mods-enable (sub-directory) //modul บางส่วนของ apache2 $sudo a2enmod
ถ้าต้องการ enable module ที่ต้องการ
sudo a2enmod ____ <-(proxy cach)
site-available (sub-directory) //full site ถ้าต้องการเว็บอีกเว็บที่มากว่าเว็บเดิม ก็
copy default ไปเป็นอีกชื่อหนึ่ง
site-enable (sub-dircetory) // กรณีต้องการ สร้าง site เพิ่ม $ sudo a2ensite
ถ้าต้องการเปิด เว็บไซด์ ที่มากขึ้น
sudo a2ensite ชื่อ------
envvers //file กำหนดค่าตัวแปรระบบให้ apache
magic
apache2.conf //file config
httpd.conf //file config แต่ ใน Ubuntu ไม่ใช่
// linux อื่นๆ ใช้ file นี้ file เดี๋ยวเก็บค่า config ทุกอย่าง
ports.conf // file config ใช้กำหนด port number.
------------------------------------------------------------------------------------------------------
ถ้าต้องการ check PID
cat /var/run/apache2.pid
---------------------------------------------------------------------------------------------------------
หากต้องการ WebServer ของเรา ไม่ให้แสดง List Directory เมื่อ User เปิด index of ของเรา
ไปที่
nano /etc/apache2/site-available/default
...............................................
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews (ให้ลบ Indexes ทิ้งไปเด้อ)
AllowOverride None
Order allow,deny
allow from all
</Directory>
...............
......ทำการ Save (Ctrl+O Enter) แล้ว Exit (Ctrl+X) ทำการ Restart Apache โดย /etc/init.d/apache2 restart
--------------------------------------------------------------------------------------------------------
อยากตั้งค่าให้เว็บแสดงผลเป็นภาษาไทยโดย Auto แบบ UTF-8
ไปที่ nano /etc/apache2/conf.d/charset
ให้ เพิ่ม AddDefaultCharset UTF-8 ลงไป นะครับ^^
ทำการ Save (Ctrl+O Enter) แล้ว Exit (Ctrl+X) ทำการ Restart Apache โดย /etc/init.d/apache2 restart
--------------------------------------------------------------------------------------------------------
การทำ Virtual Host ในเครื่อง windows นะครับ ^^
ทำความเข้าใจนิดหน่อย ว่าเป็นการทำ ให้ 1 IP มีหลาย Domain Name นะครับ
1. เปิด
127.0.0.1 localhost
127.0.0.1 web.local (เพิ่มเข้าไปเท่าที่ต้องการเลยครับ)
127.0.0.1 web2.local
2. เปิด C:\AppServ\Apache2.2\conf\httpd.conf ทำการแก้ไขไฟล์โดย เอา # ออกครับ
#Virtual hosts
Include conf/extra/httpd-vhosts.conf
แล้วทำการ Save file
3.เปิด C:\AppServ\Apache2.2\conf\extra\httpd-vhosts.conf
------------------------------------------------------------------------
# You may use the command line option '-S' to verify your virtual host # configuration.
<Directory c:/AppServ/www>
Order Deny,Allow
Allow from all
</Directory>
<Directory d:/>
Order Deny,Allow
Allow from all
</Directory>
ถ้าเราไม่กำหนด ในข้างต้น เวลาเราเรียก ชื่อ Virtual host แล้วจะมีข้อความ ที่ Browser ครับ
Forbidden
You don't have permission to access /index.php on this server.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:8088 (เปิด Port ที่ให้บริการครับ)
# # VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:8088>
DocumentRoot c:/AppServ/www
ServerName localhost
</VirtualHost>
<VirtualHost *:8088>
DocumentRoot c:/AppServ/www/21072011_5151001277
ServerName web.local (ชื่อ host URL)
</VirtualHost>
<VirtualHost *:8088>
DocumentRoot d:/21072011_5151001277
ServerName web1.local (ชื่อ host URL)
</VirtualHost>
จากกันให้ Save File
4. ให้ ทำการ Restart Service Apache โดย จะ Restart คอมพิวเตอร์ก็ได้นะครับ อาจเสียเวลานิดหน่อย ถ้าไม่มีเวลาเพราะไม่มีนาฬิกาข้อมือใส่ก็ไม่เป็นไร ไปที่ Run แล้วพิมพ์ Cmd ให้พิมพ์
C:/>net stop apach2.2
C:/>net start apach2.2
5. น่าจะไม่มีปัญหาอะไร นะครับ น่าเกิดมันไม่ มี Error นะครับ เรามาทดสอบโดยการเปิด Browser แล้วพิมพ์ ชื่อ Virtual host ที่ได้กำหนดไว้ นะครับ แค่นี้ก็เสร็จแล้วครับ สู้ๆๆ
----------------------------------------------------------------------------------------------
หากต้องการ WebServer ของเรา ไม่ให้แสดง List Directory เมื่อ User เปิด index of ของเรา
ไปที่
nano /etc/apache2/site-available/default
...............................................
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews (ให้ลบ Indexes ทิ้งไปเด้อ)
AllowOverride None
Order allow,deny
allow from all
</Directory>
...............
......ทำการ Save (Ctrl+O Enter) แล้ว Exit (Ctrl+X) ทำการ Restart Apache โดย /etc/init.d/apache2 restart
--------------------------------------------------------------------------------------------------------
อยากตั้งค่าให้เว็บแสดงผลเป็นภาษาไทยโดย Auto แบบ UTF-8
ไปที่ nano /etc/apache2/conf.d/charset
ให้ เพิ่ม AddDefaultCharset UTF-8 ลงไป นะครับ^^
ทำการ Save (Ctrl+O Enter) แล้ว Exit (Ctrl+X) ทำการ Restart Apache โดย /etc/init.d/apache2 restart
--------------------------------------------------------------------------------------------------------
การทำ Virtual Host ในเครื่อง windows นะครับ ^^
ทำความเข้าใจนิดหน่อย ว่าเป็นการทำ ให้ 1 IP มีหลาย Domain Name นะครับ
1. เปิด
C:\WINDOWS\system32\drivers\etc\hosts
ใน Notepad โดยปกติ127.0.0.1 localhost
127.0.0.1 web.local (เพิ่มเข้าไปเท่าที่ต้องการเลยครับ)
127.0.0.1 web2.local
2. เปิด C:\AppServ\Apache2.2\conf\httpd.conf ทำการแก้ไขไฟล์โดย เอา # ออกครับ
#Virtual hosts
Include conf/extra/httpd-vhosts.conf
แล้วทำการ Save file
3.เปิด C:\AppServ\Apache2.2\conf\extra\httpd-vhosts.conf
------------------------------------------------------------------------
# You may use the command line option '-S' to verify your virtual host # configuration.
<Directory c:/AppServ/www>
Order Deny,Allow
Allow from all
</Directory>
<Directory d:/>
Order Deny,Allow
Allow from all
</Directory>
ถ้าเราไม่กำหนด ในข้างต้น เวลาเราเรียก ชื่อ Virtual host แล้วจะมีข้อความ ที่ Browser ครับ
Forbidden
You don't have permission to access /index.php on this server.
#
# Use name-based virtual hosting.
#
NameVirtualHost *:8088 (เปิด Port ที่ให้บริการครับ)
# # VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:8088>
DocumentRoot c:/AppServ/www
ServerName localhost
</VirtualHost>
<VirtualHost *:8088>
DocumentRoot c:/AppServ/www/21072011_5151001277
ServerName web.local (ชื่อ host URL)
</VirtualHost>
<VirtualHost *:8088>
DocumentRoot d:/21072011_5151001277
ServerName web1.local (ชื่อ host URL)
</VirtualHost>
จากกันให้ Save File
4. ให้ ทำการ Restart Service Apache โดย จะ Restart คอมพิวเตอร์ก็ได้นะครับ อาจเสียเวลานิดหน่อย ถ้าไม่มีเวลาเพราะไม่มีนาฬิกาข้อมือใส่ก็ไม่เป็นไร ไปที่ Run แล้วพิมพ์ Cmd ให้พิมพ์
C:/>net stop apach2.2
C:/>net start apach2.2
5. น่าจะไม่มีปัญหาอะไร นะครับ น่าเกิดมันไม่ มี Error นะครับ เรามาทดสอบโดยการเปิด Browser แล้วพิมพ์ ชื่อ Virtual host ที่ได้กำหนดไว้ นะครับ แค่นี้ก็เสร็จแล้วครับ สู้ๆๆ
----------------------------------------------------------------------------------------------