debian: ทดลองติดตั้ง WebDAV
WebDAV (Web based Distributed Authoring and Versioning)เป็นโปรโตคอลที่ทำให้สามารถเขียนข้อมูลเข้าไปที่ http server ได้
มีข้อดีกว่า ftp ตรงที่สามารถเข้ารหัสข้อมูลได้ (ต้องเป็น https) และสามารถล๊อกระเบียนข้อมูลได้
มีข้อดีกว่า samba ตรงที่ใช้พอร์ตมาตรฐานของ http คือ 80 ทำให้ปรับตั้งไฟร์วอลล์ได้ง่าย
(ลอก ๆ เขามา ถ้าผิดช่วยบอกด้วย :P)
ติดตั้ง apache2 ให้เรียบร้อยก่อน
# apt-get install apache2
เปิดให้โมดูล webdav ทำงาน
# a2enmod dav_fs
# a2enmod dav
สร้างไดเรคทอรี่ขึ้นมาสำหรับให้ webdav
# mkdir -p /var/www/webdav
# chown www-data:www-data webdav
การ authenticate เราใช้ตามตัวอย่าง
เปิดให้โมดูล auth_digest ทำงาน
# a2enmod auth_digest
สร้างไฟล์รหัสผ่านให้กับผู้ใช้ชื่อ user1
โดยเอาไฟล์รหัสไว้ที่ /var/www และไฟล์ชื่อ digest-password
ตั้งชื่อ AuthName ว่า webdav-thaitux
# htdigest [-c] /var/www/digest-password webdav-thaitux user1
<<<--- ใส่ค่ารหัสผ่าน
หมายเหตุ: ถ้ามีไฟล์ digest-password อยู่แล้ว ห้ามใส่พารามิเตอร์ -c ไม่งั้นไฟล์เก่าโดนลบ
แก้ไขไฟล์คอนฟิกของ apache2 ให้ใช้ /webdav
(ตามตัวอย่างใช้ example.com ของเราเป็น www.thaitux.info ละกัน)
# vi /etc/apache2/site-available/www.thaitux.info
... <VirtualHost *> ... #WEBDAV FROM http://www.debian-administration.org/articles/285 Alias /webdav /var/www/webdav <Location /webdav> dav on AuthType Digest AuthName "webdav-thaitux" AuthUserFile /var/www/digest-password Require valid-user RewriteEngine off </Location> </VirtualHost>
ตรวจสอบไฟล์คอนฟิกใหม่ด้วยคำสั่ง
# apache2ctl configtest
ถ้าเรียบร้อยก็สั่งเริ่ม apache2 ใหม่
# /etc/init.d/apache2 restart
ที่เครื่องลูกข่ายแบบเทอร์มินอล
ติดตั้ง webdav-client ชื่อ cadaver
$ sudo apt-get install cadaver
$ cadaver http://www.thaitux.info/webdav
Authentication required for webdav-thaitux on server `www.thaitux.info': <<<--- ใส่ค่ารหัสผ่าน
dav:/webdav/>
เรียบร้อย
ที่เครื่องลูกข่ายแบบ gnome
เรียก Nautilus
เลือก แฟ้ม -> เชื่อมต่อไปยังเซิร์ฟเวอร์
เลือก
ชนิดบริการ = WebDAV (HTTP)
พอร์ต = 80
โฟล์เดอร์ = webdav
ชื่อผู้ใช้ = user1
-> เชื่อมต่อ
พอใส่ค่ารหัสผ่านก็สามารถใช้ทรัพยากรได้ตามต้องการ
เครื่องลูกข่าย Windows Xp
Start -> My Network Places
Add a network place
Welcome to the Add Network Place Wizard -> Next
Choose another network location ... -> Next
Internet or network address: http://server1.example.com:80/webdav
User name: username
Password: password
Mark : Remember my password
Ok
หมายเหตุสำหรับ Xp
มีข้อผิดพลาดเรื่องการล๊อกอินและการแสดงผล parent folder แก้โดย
- แก้เรื่องล๊อกอิน โดยเติมค่าพอร์ต 80 ด้วย ด้วยการใส่ url เป็น
http://server1.example.com:80/webdav
- แก้เรื่องล๊อกอิน โดยเติมค่า # หลัง url คือใส่ url เป็น
http://server1.example.com/webdav#
- อันนี้แก้ได้ทุกปัญหา คือให้ webdav เป็น root folder เช่นเปลี่ยน url เป็น
http://dav.example.com
ที่มา
- WebDAV on Apache2
- howtoforge.com: How To Set Up WebDAV With Apache2 On Debian Etch
- ulihansen.kicks-ass.net: Windows XP and Apache WebDAV
ลองกับเครื่อง Windows ME ยังไม่ผ่าน
Recent comments