debian: ทดลองติดตั้ง WebDAV

Topic: 
 

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

ที่มา


ลองกับเครื่อง Windows ME ยังไม่ผ่าน
 

Syndicate

Subscribe to Syndicate

Who's online

There are currently 0 users online.