Thứ Sáu, 24 tháng 9, 2021

Cài đặt và cấu hình Apache trên Ubuntu

Cài đặt Apache 

Ta cài đặt apache với lệnh sau

$ sudo apt-get install apache2

 

Trong bài này ta sẽ dùng methode PUT của HTTP do đó ta cần dùng đến WebDAV. Ta kích hoạt việc dùng module này trong Apache với lệnh sau :

$ sudo a2enmod dav
$ sudo a2enmod dav_fs

 

Cấu hình cho Apache 

Ta tạo tập tin toanhttp.conf tại /etc/apache2/sites-available

$ sudo vi /etc/apache2/sites-available/toanhttp.conf

 

Nội dung của tập tin toanhttp.conf như sau :

<VirtualHost *:9015>

        DocumentRoot /home/toan/toanhttp

<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
DAV On
</Directory>

        <Directory /home/toan/toanhttp/ >
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                Allow from all
                Require all granted
        </Directory>

        LogLevel debug

        ErrorLog ${APACHE_LOG_DIR}/error.log

        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
 

Cấu hình này cho phép mọi người truy cập bằng giao thức http vào mọi thông tin lưu tại /home/toan/toanhttp
Để ý thấy "DAV On" ở đây cho biết là ta kích hoạt sử dụng WebDAV

 

Thêm cổng 9015 vào tập tin ports.conf

$ sudo vi /etc/apache2/ports.conf

 

Thêm cổng này vào cuối tập tin ports.conf như sau :

Listen 9015

 

Thêm cấu hình toanhttp.conf vào Apache với lệnh sau và khởi động lại Apache để cập nhật cấu hình mới này như sau :

$ sudo a2ensite toanhttp.conf 
$ sudo service apache2 stop
$ sudo service apache2 start

 

Kiểm tra việc cài đặt Apache sau khi cấu hình cho nó

Trong một trình duyệt web, ta kiểm tra xem cấu hình này đã được Apache cập nhật chưa bằng cách truy cập địa chỉ URL sau :

http://localhost:9015/

 

Ta có thể xem các methode được cung cấp tại địa chỉ trên với cấu hình này của Apache bằng lệnh sau

$ curl -i -X OPTIONS "http://localhost:9015" 

Như đã thấy ở trên ta đã kích hoạt WebDAV trong Apache để sử dụng methode PUT, dưới đây là một truy vấn http PUT để tải lên tập tin có tên testhttp.txt vào thư mục gốc của site tức tại /home/toan/toanhttp với lệnh curl như sau :

$ curl -X PUT -T "testhttp.txt" "http://localhost:9015"

 

Cấu hình Apache với BASIC Authentication

Để phát sinh mật khẩu cho Apache ta cài đặt module sau :

$ sudo apt-get install apache2-utils

 

Sau đó tạo tập tin mật khẩu ".htpasswd" và thêm người dùng đầu tiên có tên "toanwebdav" với mật khẩu của nó với lệnh :

$ htpasswd -c /etc/apache2/.htpasswd toanwebdav
 

Để thêm người dùng tiếp theo có tên "toan" ta dùng lệnh sau : 

$ htpasswd /etc/apache2/.htpasswd toan
 

Ta tạo một tập tin cấu hình toanwebdav.conf cho Apache dùng BASIC Authentication như sau :

$ sudo vi /etc/apache2/sites-available/toanwebdav.conf

 

Nội dung của tập tin toanwebdav.conf

<VirtualHost *:9016>

        DocumentRoot /home/toan/toanwebdav

<Directory />
Options FollowSymLinks
AllowOverride All
Require all granted
DAV On
AuthType Basic
AuthName "webdav - Authentication required"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</Directory>

        <Directory /home/toan/
toanwebdav/ >
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
        </Directory>

        LogLevel debug

        ErrorLog ${APACHE_LOG_DIR}/error.log

        CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

 

Tương tự như trên, ta sẽ :

Thêm cổng 9016 vào tập tin ports.conf

$ sudo vi /etc/apache2/ports.conf

Thêm cổng này vào cuối tập tin ports.conf như sau :

Listen 9016

 

Thêm cấu hình toanwebdav.conf vào Apache với lệnh sau và khởi động lại Apache để cập nhật cấu hình mới này như sau :

$ sudo a2ensite toanwebdav.conf 
$ sudo service apache2 stop
$ sudo service apache2 start

 

Trong một trình duyệt web, ta kiểm tra xem cấu hình này đã được Apache cập nhật chưa bằng cách truy cập địa chỉ URL sau :

http://localhost:9016/

Khi truy cập vào địa chỉ trên ta phải cung cấp tên người dùng (toanwebdav chẳng hạn) và mật khẩu mà ta vừa định nghĩa trong tập tin .htpasswd ở trên.

 

Không có nhận xét nào:

Đăng nhận xét