Hướng dẫn thiết lập hệ thống WebDAV với Apache2 trên OpenSUSE 11.3

QuanTriMang.com - Trong bài viết sau đây, Quản Trị Mạng sẽ giới thiệu với các bạn cách cài đặt và thiết lập hệ thống WebDAV cùng với Apache2 trên nền tảng OpenSUSE 11.3 server. WebDAV là khái niệm viết tắt của Web-based Distributed Authoring and Versioning – bộ tổ hợp các công cụ hỗ trợ giao thức HTTP cho phép người sử dụng trực tiếp chỉnh sửa dữ liệu trên server Apache, qua đó không cần phải thao tác qua FTP. Đương nhiên WebDAV cũng có thể làm được việc upload và download dữ liệu.

Lưu ý sơ bộ

Tại hệ thống thử nghiệm này, chúng tôi sử dụng OpenSUSE 11.3 server và địa chỉ IP 192.168.0.100

Cài đặt WebDAV

Nếu hệ thống của bạn chưa được cài đặt Apache, hãy sử dụng lệnh sau:

yast2 -i apache2

Sau đó, kích hoạt các module của WebDAV:

a2enmod dav
a2enmod dav_fs
a2enmod dav_lock

Và tạo đường dẫn khởi động cho Apache, đồng thời khởi động luôn dịch vụ này:

chkconfig --add apache2

/etc/init.d/apache2 start

Tạo host ảo

Sau đây, chúng ta sẽ tạo 1 vhost Apache www.example1.com tại thư mục /srv/www/web1/web. Nếu hệ thống của bạn đã có vhost thì chỉ cần chỉnh lại các thông số cho phù hợp với bài thử nghiệm này.

Trước tiên, tạo thư mục /srv/www/web1/web, tạo tài khoản sử dụng Apache (wwwrun) và nhóm (www) để quản lý thư mục đó:

mkdir -p /srv/www/web1/web
chown wwwrun:www /srv/www/web1/web

Thiết lập vhost Apache cho www.example1.com:

vi /etc/apache2/vhosts.d/www.example1.com.conf

<VirtualHost *>
ServerAdmin webmaster@localhost
ServerName www.example1.com
ServerAlias example1.com

DocumentRoot /srv/www/web1/web/
<Directory /srv/www/web1/web/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

</VirtualHost>

Mở file cấu hình /etc/apache2/httpd.conf và thêm dòng NameVirtualHost * vào trước Include /etc/apache2/vhosts.d/*.conf:

vi /etc/apache2/httpd.conf

[...]
### Virtual server configuration ############################################
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs-2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
NameVirtualHost *

Include /etc/apache2/vhosts.d/*.conf
[...]

Khởi động lại Apache:

/etc/init.d/apache2 restart


Thiết lập host ảo đối với WebDAV

Tạo file mật khẩu WebDAV /srv/www/web1/passwd.dav dành cho tài khoản test (tham số -c sẽ chuyển sang bước tạo file nếu file đó chưa có sẵn):

htpasswd2 -c /srv/www/web1/passwd.dav test

Hệ thống sẽ yêu cầu bạn khai báo mật khẩu cho tài khoản test (lưu ý rằng không nên sử dụng -c nếu file /srv/www/web1/passwd.dav đã tồn tại, vì bạn sẽ mất hết dữ liệu thiết lập cho tài khoản trước đó). Thay đổi quyền truy cập tới file /srv/www/web1/passwd.dav thành chỉ có tài khoản root và thành viên của nhóm www mới được phép truy cập và thao tác:

chown root:www /srv/www/web1/passwd.dav
chmod 640 /srv/www/web1/passwd.dav

Chỉnh lại vhost www.example1.com trong file /etc/apache2/vhosts.d/www.example1.com.conf và thêm dòng lệnh sau vào:

vi /etc/apache2/vhosts.d/www.example1.com.conf

[...]
Alias /webdav /srv/www/web1/web

<Location /webdav>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /srv/www/web1/passwd.dav
Require valid-user
</Location>
[...]

Khi người sử dụng tiến hành gọi /webdav thì Alias (cùng với <Location>) sẽ trực tiếp thực hiện điều đó, nhưng bạn vẫn có thể truy cập toàn bộ thư mục gốc của vhost, toàn bộ các đường dẫn URL khác vẫn thuộc dạng “normal”. Vhost sau khi chỉnh sửa sẽ trông giống như sau:

<VirtualHost *>
ServerAdmin webmaster@localhost
ServerName www.example1.com
ServerAlias example1.com

DocumentRoot /srv/www/web1/web/
<Directory /srv/www/web1/web/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

Alias /webdav /srv/www/web1/web

<Location /webdav>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /srv/www/web1/passwd.dav
Require valid-user
</Location>
</VirtualHost>

Chúng ta cần chỉ định chính xác vị trí của WebDAV để hạn chế việc truy cập tùy tiện vào cơ sở dữ liệu. Tại đây chúng ta sẽ áp dụng vào thư mục /var/lib/dav/, do đó tạo thư mục đó bằng lệnh sau:

mkdir /var/lib/dav/
chown wwwrun:www /var/lib/dav/

Mở file cấu hình /etc/apache2/httpd.conf và thêm DAVLockDB vào trước dòng NameVirtualHost *:

vi /etc/apache2/httpd.conf

[...]
### Virtual server configuration ############################################
#
# VirtualHost: If you want to maintain multiple domains/hostnames on your
# machine you can setup VirtualHost containers for them. Most configurations
# use only name-based virtual hosts so the server doesn't need to worry about
# IP addresses. This is indicated by the asterisks in the directives below.
#
# Please see the documentation at
# <URL:http://httpd.apache.org/docs-2.2/vhosts/>
# for further details before you try to setup virtual hosts.
#
# You may use the command line option '-S' to verify your virtual host
# configuration.
#
<IfModule mod_dav_fs.c>
# Location of the WebDAV lock database.
DAVLockDB /var/lib/dav/lockdb
</IfModule>
NameVirtualHost *

Include /etc/apache2/vhosts.d/*.conf
[...]

Sau đó khởi động lại Apache:

/etc/init.d/apache2 restart

Kiểm tra WebDAV

Để thực hiện bước này, chúng ta cần cài đặt cadaver – ứng dụng WebDAV client với giao diện dòng lệnh:

yast2 -i cadaver

Và kiểm tra lại WebDAV với lệnh sau:

cadaver http://www.example1.com/webdav/

Hệ thống sẽ yêu cầu người sử dụng khai báo tài khoản đăng nhập, ở đây chúng ta điền tên là test và mật khẩu tạo ra ở bước trên. Khi tài khoản đó được gán quyền truy cập nghĩa là quá trình thiết lập của chúng ta đã thành công. Gõ lệnh quit để thoát khỏi WebDAV:

server1:~ # cadaver http://www.example1.com/webdav/
Authentication required for webdav on server `www.example1.com':
Username: test
Password:
dav:/webdav/> quit
Connection to `www.example1.com' closed.
Server1:~ #

Trên đây là 1 số thao tác cơ bản để cài đặt và thiết lập WebDAV với Apache2 trên OpenSUSE 11.3. Chúc các bạn thành công!

Thứ Tư, 15/09/2010 08:29
31 👨 1.512
0 Bình luận
Sắp xếp theo
    ❖ Tổng hợp