|
การเซ็ต
Apache ให้มีการถาม User
และ Password เมื่อเข้าเว็บ
เว็บเพจบางหน้าต้องการระบบความปลอดภัยให้มีการถาม
Username และ
Password ก่อนที่จะเข้าเว็บได้
ความสามารถแบบนี้สามารถทำได้บน Apache Web Server
ซึ่งมีขั้นตอนในการทำดังต่อไปนี้ :
1.
การสร้างผู้ใช้และกำหนดรหัสผ่านโดยใช้โปรแกรม
htpasswd
ซึ่งโปรแกรมนี้จะมาพร้อมกับการติดตั้ง Apache
ซึ่งจะอยู่ที่ /usr/bin
โดยการสร้างผู้ใช้และกำหนดรหัสผ่านให้ใช้คำสั่งดังนี้ :
htpasswd -c <Filename> <ผู้ใช้>
//สำหรับการสร้างผู้ใช้คนแรก
htpasswd <Filename> <ผู้ใช้>
//สำหรับผู้ใช้คนต่อไป
ตัวอย่างเช่นต้องการให้ user ที่ชื่อ
sormchai และ somsak
สามารถเข้าเว็บได้ก็ให้ไปที่ command prompt
แล้วป้อนคำสั่งดังนี้
#htpasswd -c /etc/htuser somchai
New password:
Re-type new password:
Adding password for user somchai
#htpasswd /etc/htuser somsak
New password:
Re-type new password:
Adding password for user somsak
จากข้างบนนี้เป็นการสร้างไฟล์ /etc/htuser
สำหรับใช้เก็บ user ของโปรแกรม
htpasswd (จะตั้งชื่อไฟล์เป็นชื่ออื่นก็ได้ครับ)
และต้องกำหนดคุณสมบัติของไฟล์ /etc/htuser
ให้สามารถอ่านและ execute ได้ดังนี้
#chmod 605 /etc/htuser
ในกรณีที่มีผู้ใช้หลายคนก็สามารถจะสร้างกลุ่มผู้ใช้ทีคล้ายกับไฟล์
/etc/group เพื่อระบุว่าผู้ใช้คนไหนอยู่กลุ่มไหนนั่นเอง
การสร้างกลุ่มผู้ใช้เพียงแต่สร้างไฟล์ข้อความที่มีรูปแบบดังนี้
< ชื่อกลุ่ม > : < สมาชิก
1 > <สมาชิก 2 >
เช่นอาจจะเป็นดังนี้
websecure: somsak, somchai,
somsri
Other:
guest
2.การปรับค่าไดเร็คตีฟ
ให้เข้าไปเพิ่ม directory
ในไฟล์คอนฟิกของ Apache
คือที่ไฟล์ /etc/httpd/conf/httpd.conf
เพื่อกำหนด ผู้ใช้/กลุ่ม และตำแหน่งของเว็บเพจที่จะให้ถาม user
และ password
โดยตัวอย่างต่อไปนี้เป็นการระบุชื่อ user โดยตรง
( Require user) :
<Directory "var/www/html/phpmyadmin">
AllowOveride None
AuthUserFile /etc/htuser
AuthName "phpmyadmin"
AuthType Basic
Require user somchai
Require user somsak
</Directory>
จากข้างบนนี้เป็นการกำหนดให้ไดเร็คทอรี่ /var/www/html/phpmyadmin
เป็น directory
หรือเว็บเพจที่ต้องมีการป้อน
username และ password
ก่อนถึงจะเข้าไปดูได้ โดย
user ที่กำหนดมีสองคนคือ
somchai กับ
somsak
และถ้าต้องการระบุผู้ใช้เป็นกลุ่ม (Require group)
ก็ให้เพิ่มบรรทัดที่เป็น AuthGroupFile
เข้าไป และเปลี่ยน Require user
เป็น Require group ดังนี้ :
<Directory "var/www/html/phpmyadmin">
AllowOveride None
AuthUserFile /etc/htuser
AuthGroupFile /etc/htgroup
AuthName "phpmyadmin"
AuthType Basic
Require group websecure
</Directory>
สุดท้ายอย่าลืม restart httpd (Apache) นะครับ |