Cách cài đặt Webmin trên Ubuntu 18.04
Webmin là một console dựa trên web cho bất kỳ máy Linux nào, cho phép bạn quản lý server của bạn thông qua giao diện dựa trên web hiện đại. Với Webmin, bạn có thể thay đổi cài đặt cho các gói phổ biến một cách nhanh chóng, bao gồm web server và database , cũng như quản lý user , group và gói phần mềm.Trong hướng dẫn này, bạn sẽ cài đặt và cấu hình Webmin trên server của bạn và truy cập an toàn vào giao diện với certificate hợp lệ bằng Let's Encrypt và Apache. Sau đó, bạn sẽ sử dụng Webmin để thêm account user mới và cập nhật tất cả các gói trên server của bạn từ trang tổng quan.
Yêu cầu
Để hoàn thành hướng dẫn này, bạn cần :
- Một server Ubuntu 18.04 được cài đặt theo hướng dẫn cài đặt server ban đầu Ubuntu 18.04 , bao gồm user không phải root có quyền sudo và firewall .
- Đã cài đặt Apache theo Cách cài đặt ngăn xếp Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 18.04 . Ta sẽ sử dụng Apache để thực hiện xác minh domain của Let's Encrypt và hoạt động như một proxy cho Webmin. Đảm bảo bạn cấu hình quyền truy cập vào Apache thông qua firewall khi làm theo hướng dẫn này.
- Tên domain Đủ điều kiện (FQDN), với bản ghi DNS A trỏ đến địa chỉ IP của server của bạn. Để cấu hình điều này, hãy làm theo hướng dẫn Cách cài đặt tên server lưu trữ với DigitalOcean .
- Đã cài đặt Certbot theo Bước 1 của Cách bảo mật Apache bằng Let's Encrypt trên Ubuntu 18.04 . Bạn sẽ sử dụng Certbot để tạo certificate TLS / SSL cho Webmin.
Bước 1 - Cài đặt Webmin
Đầu tiên, ta cần thêm repository Webmin để có thể dễ dàng cài đặt và cập nhật Webmin bằng trình quản lý gói của ta . Ta thực hiện việc này bằng cách thêm repository vào file /etc/apt/sources.list
.
Mở file trong editor :
- sudo nano /etc/apt/sources.list
Sau đó, thêm dòng này vào cuối file để thêm repository mới:
. . . deb http://download.webmin.com/download/repository sarge contrib
Lưu file và thoát khỏi editor .
Tiếp theo, thêm khóa Webmin PGP để hệ thống của bạn sẽ tin cậy vào repository mới:
- wget http://www.webmin.com/jcameron-key.asc
- sudo apt-key add jcameron-key.asc
Tiếp theo, cập nhật danh sách các gói để bao gồm repository Webmin:
- sudo apt update
Sau đó cài đặt Webmin:
- sudo apt install webmin
Sau khi quá trình cài đặt kết thúc, bạn sẽ thấy kết quả sau:
OutputWebmin install complete. You can now login to https://your_server_ip:10000 as root with your root password, or as any user who can use `sudo`.
Bây giờ, hãy truy cập an toàn vào Webmin bằng cách đặt nó phía sau web server Apache và thêm certificate TLS / SSL hợp lệ.
Bước 2 - Bảo mật Webmin bằng Apache và Let's Encrypt
Để truy cập Webmin, bạn phải chỉ định cổng 10000
và đảm bảo cổng đó đang mở trên firewall của bạn. Điều này thật bất tiện, đặc biệt nếu bạn đang truy cập Webmin bằng FQDN như webmin. your_domain
Ta sẽ sử dụng server ảo Apache để gửi các yêu cầu proxy đến server của Webmin đang chạy trên cổng 10000
. Sau đó, ta sẽ bảo mật server ảo bằng certificate TLS / SSL từ Let's Encrypt.
Đầu tiên, tạo một file server ảo Apache mới trong folder cấu hình của Apache:
- sudo nano /etc/apache2/sites-available/your_domain.conf
Thêm phần sau vào file , thay thế địa chỉ email và domain của bạn :
<VirtualHost *:80> ServerAdmin your_email ServerName your_domain ProxyPass / http://localhost:10000/ ProxyPassReverse / http://localhost:10000/ </VirtualHost>
Cấu hình này yêu cầu Apache chuyển các yêu cầu đến http://localhost:10000
, server Webmin. Nó cũng đảm bảo các liên kết nội bộ được tạo từ Webmin cũng sẽ đi qua Apache.
Lưu file và thoát khỏi editor .
Tiếp theo, ta cần yêu cầu Webmin ngừng sử dụng TLS / SSL, vì Apache sẽ cung cấp điều đó cho ta về sau.
Mở file /etc/webmin/miniserv.conf
trong editor :
- sudo nano /etc/webmin/miniserv.conf
Tìm dòng sau:
... ssl=1 ...
Thay đổi 1
thành 0
Điều này sẽ thông báo cho Webmin ngừng sử dụng SSL.
Tiếp theo, ta sẽ thêm domain của bạn vào danh sách các domain được phép, để Webmin hiểu rằng khi ta truy cập console từ domain của bạn , đó không phải là điều gì đó độc hại, chẳng hạn như cuộc tấn công Cross-Site Scripting (XSS) .
Mở file /etc/webmin/config
trong editor :
- sudo nano /etc/webmin/config
Thêm dòng sau vào cuối file , thay thế your_domain
bằng domain đủ điều kiện của bạn.
. . . referers=your_domain
Lưu file và thoát khỏi editor .
Tiếp theo, khởi động lại Webmin để áp dụng các thay đổi cấu hình:
- sudo systemctl restart webmin
Sau đó, kích hoạt module proxy_http
của Apache:
- sudo a2enmod proxy_http
Bạn sẽ thấy kết quả sau:
OutputConsidering dependency proxy for proxy_http: Enabling module proxy. Enabling module proxy_http. To activate the new configuration, you need to run: systemctl restart apache2
Đầu ra đề xuất bạn khởi động lại Apache, nhưng trước tiên, hãy kích hoạt server ảo Apache mới mà bạn đã tạo:
- sudo a2ensite your_domain
Bạn sẽ thấy kết quả sau cho biết trang web đã được bật:
OutputEnabling site your_domain. To activate the new configuration, you need to run: systemctl reload apache2
Bây giờ hãy khởi động lại Apache hoàn toàn để kích hoạt module proxy_http
và server ảo mới:
- sudo systemctl restart apache2
Lưu ý : Đảm bảo rằng bạn cho phép lưu lượng truy cập đến web server của bạn trên cổng 80
và cổng 443
như trong hướng dẫn yêu cầu Cách cài đặt ngăn xếp Linux, Apache, MySQL, PHP (LAMP) trên Ubuntu 18.04 . Bạn có thể thực hiện việc này bằng lệnh sudo ufw allow in "Apache Full"
.
Điều hướng đến http:// your_domain
trong trình duyệt của bạn và bạn sẽ thấy trang đăng nhập Webmin xuất hiện.
Cảnh báo: KHÔNG đăng nhập vào Webmin vì ta chưa kích hoạt SSL. Nếu bạn đăng nhập ngay bây giờ, thông tin đăng nhập của bạn sẽ được gửi đến server dưới dạng văn bản rõ ràng.
Bây giờ, hãy cấu hình một certificate để kết nối của bạn được mã hóa trong khi sử dụng Webmin. Để làm điều này, ta sẽ sử dụng Let's Encrypt.
Yêu cầu Certbot tạo certificate TLS / SSL cho domain của bạn và cấu hình Apache để chuyển hướng lưu lượng truy cập đến trang web an toàn:
- sudo certbot --apache --email your_email -d your_domain --agree-tos --redirect --noninteractive
Bạn sẽ thấy kết quả sau:
OutputSaving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Performing the following challenges: http-01 challenge for your_domain Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/your_domain-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/your_domain-le-ssl.conf Enabling available site: /etc/apache2/sites-available/your_domain-le-ssl.conf Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/your_domain.conf to ssl vhost in /etc/apache2/sites-available/your_domain-le-ssl.conf ------------------------------------------------------------------------------- Congratulations! You have successfully enabled https://your_domain You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=your_domain -------------------------------------------------------------------------------
Kết quả cho biết rằng certificate đã được cài đặt và Apache được cấu hình để chuyển hướng các yêu cầu từ http:// your_domain
đến https:// your_domain
.
Đến đây bạn đã cài đặt một version hoạt động, bảo mật của Webmin. Hãy xem cách sử dụng nó.
Bước 3 - Sử dụng Webmin
Webmin có các module có thể kiểm soát mọi thứ từ BIND DNS Server đến một thứ đơn giản như thêm user vào hệ thống. Hãy xem cách tạo user mới và sau đó khám phá cách cập nhật gói phần mềm bằng cách sử dụng Webmin.
Để đăng nhập vào Webmin, hãy chuyển đến http:// your_domain
và đăng nhập bằng user gốc hoặc user có quyền sudo.
Quản lý user và group
Hãy quản lý user và group trên server .
Đầu tiên, hãy nhấp vào tab Hệ thống , sau đó nhấp vào nút User và Group . Từ đây, bạn có thể thêm user , quản lý user hoặc thêm hoặc quản lý một group .
Hãy tạo một user mới có tên là deploy được dùng để lưu trữ các ứng dụng web. Để thêm user , hãy nhấp vào Tạo user mới , ở đầu bảng user . Thao tác này hiển thị màn hình Tạo user , nơi bạn có thể cung cấp tên user , password , group và các tùy chọn khác. Làm theo các hướng dẫn sau để tạo user :
- Điền vào Tên user với
deploy
. - Chọn Tự động cho ID user .
- Điền vào Tên thật với tên mô tả như Người
Deployment user
. - Đối với Thư mục chính , hãy chọn Tự động .
- Đối với Shell , hãy chọn / bin / bash từ danh sách thả xuống.
- Đối với Mật khẩu , hãy chọn Mật khẩu Bình thường và nhập password bạn chọn.
- Đối với Group chính , hãy chọn Group mới có cùng tên với user .
- Đối với Group phụ , chọn sudo từ danh sách Tất cả group và nhấn nút -> để thêm group vào danh sách group .
- Nhấn Create để tạo user mới này.
Khi tạo user , bạn có thể đặt các tùy chọn về thời hạn sử dụng password , shell của user hoặc liệu họ có được phép sử dụng folder chính hay không.
Tiếp theo, hãy xem cách cài đặt các bản cập nhật cho hệ thống của ta .
Cập nhật các gói
Webmin cho phép bạn cập nhật tất cả các gói của bạn thông qua giao diện user của nó. Để cập nhật tất cả các gói của bạn, hãy nhấp vào liên kết Trang tổng quan , sau đó tìm trường Cập nhật gói . Nếu có sẵn các bản cập nhật, bạn sẽ thấy một liên kết cho biết số lượng các bản cập nhật có sẵn, như thể hiện trong hình sau:
Bấm vào liên kết này, sau đó nhấn Cập nhật các gói đã chọn để bắt đầu cập nhật. Bạn có thể được yêu cầu khởi động lại server , điều này bạn cũng có thể thực hiện thông qua giao diện Webmin.
Kết luận
Đến đây bạn có một version Webmin làm việc được bảo mật và bạn đã sử dụng giao diện để tạo user và cập nhật các gói. Webmin cung cấp cho bạn quyền truy cập vào nhiều thứ bạn thường cần truy cập thông qua console và nó sắp xếp chúng theo cách trực quan. Ví dụ: nếu bạn đã cài đặt Apache, bạn sẽ tìm thấy tab cấu hình cho nó trong Server , sau đó là Apache .
Khám phá thêm giao diện hoặc xem wiki Webmin chính thức để tìm hiểu thêm về cách quản lý hệ thống của bạn với Webmin.
Các tin liên quan
Cách thiết lập chia sẻ Samba cho tổ chức nhỏ trên Ubuntu 16.042018-05-11
Cách tự động hóa triển khai Elixir-Phoenix với Distillery và edeliver trên Ubuntu 16.04
2018-05-03
Cách thiết lập khóa SSH trên Ubuntu 18.04
2018-04-27
Cách nâng cấp lên Ubuntu 18.04 Bionic Beaver
2018-04-26
Có gì mới trong Ubuntu 18.04 Bionic Beaver
2018-04-26
Cách cài đặt và cấu hình Ghost trên Ubuntu 16.04
2018-04-13
Cách lưu trữ một trang web với Caddy trên Ubuntu 16.04
2018-04-12
Cách thiết lập khóa SSH trên Ubuntu 16.04
2018-04-12
Cách đồng bộ hóa dữ liệu đã chuyển đổi từ MongoDB sang Elasticsearch với Transporter trên Ubuntu 16.04
2018-04-05
Cách triển khai trang web Jekyll bằng Git Hooks trên Ubuntu 16.04
2018-03-29