Hướng dẫn cài đặt webmin lên Ubuntu Server
Giới thiệu
Webmin là một ứng dụng mã nguồn mở và miễn phí để quản trị các máy chủ Unix/Linux. Mình sẽ hướng dẫn cách cài đặt Webmin trên máy chủ Ubuntu 22.04.
Để tìm hiểu kỹ hơn về webmin và những gì webmin có thể làm được, bạn có thể vào trang chủ webmin.
Cài đặt
Mặc định thì webmin không có trong repo của Ubuntu, vì vậy để cài đặt, đầu tiên chúng ta thêm repo chính thức của webmin vào, tạo file repo
sudo nano /etc/apt/sources.list.d/webmin.list
nhập vào nội dung sau và lưu file lại
deb http://download.webmin.com/download/repository sarge contrib
Sau đó, chúng ta cần chạy lệnh sau để tải xuống Webmin PGP signing key để trình quản lý gói APT có thể xác minh tính toàn vẹn của các gói được tải xuống từ kho lưu trữ Webmin.
wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc
cập nhập repo
sudo apt update
và tiến hành cài đặt
sudo apt install webmin
Sau khi cài đặt, Wemin sẽ tự động khởi động như có thể kiểm tra bằng cách chạy lệnh systemctl bên dưới:
systemctl status webmin
nếu chưa chạy thì có thể chạy lên bằng lệnh
sudo systemctl start webmin
Webmin chạy ở cổng 10000, chúng ta có thể truy cập thông qua địa chỉ server-IP:10000, tuy nhiên khá là khó nhớ, do đó chúng ta có thể cấu hình Nginx làm Reverse Proxy để truy cập vào webmin thông qua domain, cũng như thêm chứng chỉ SSL cho domain này, nhìn cũng chuyên nghiệp hẳn =))
Cấu hình Reverse Proxy bằng Nginx
Giả sử mình có domain webmin.com (bạn thay bằng domain của bạn), đã được lấy chứng chỉ SSL từ Let's Encrypt trước. Tạo file Virtual Host cho Nginx:
sudo nano /etc/nginx/site-available/webmin.com
và nhập vào nội dung sau
server {
listen 80;
listen [::]:80;
server_name webmin.com;
}
server {
listen 443 ssl;
listen [::]:443;
server_name webmin.com;
access_log /var/log/nginx/webmin.access;
error_log /var/log/nginx/webmin.error;
ssl_certificate /etc/letsencrypt/live/webmin.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/webmin.com/privkey.pem;
location / {
proxy_pass http://localhost:10000;
#proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Lưu file lại, ánh xạ để bật cấu hình lên
sudo ln -s /etc/nginx/site-available/webmin.com /etc/nginx/site-enable/webmin.com
Kiểm tra không lỗi thì khởi động lại Nginx để cấu hình có tác dụng
sudo nginx -t
sudo systemctl restart nginx
Giờ bạn có thể truy cập webmin thông qua trang web webmin.com rồi đó.
Thêm Trusted Referrers
Vì bản thân Webmin đang chạy ở chế độ HTTP và chúng ta đã bật HTTPS trong Nginx, nên Webmin sẽ nghĩ rằng https://webmin.com nằm ngoài máy chủ Webmin. Vì vậy, chúng ta cần thêm trusted referrers.
Sửa file cấu hình của webmin
sudo nano /etc/webmin/config
và thêm dòng này vào dưới cùng
referers=webmin.com
lưu file và khởi động lại webmin
sudo systemctl restart webmin
Chúc các bạn thành công.