Cài đặt Perfect Server Automated ISPConfig 3 trên Debian 10-11 và Ubuntu 20.04
Hướng dẫn này sẽ hướng dẫn bạn cài đặt thiết lập máy chủ đơn ISPConfig 3 của riêng bạn bằng trình cài đặt tự động ISPConfig. Trình cài đặt này tuân theo các hướng dẫn Perfect Server cũ nhưng có nhiều mô-đun hơn và dễ làm theo hơn. Thay vào đó, nếu bạn muốn thiết lập một thiết lập đa máy chủ với các máy chủ chuyên dụng cho từng dịch vụ, hãy xem hướng dẫn Đa máy chủ hoàn hảo.
Hướng dẫn này hoạt động cho cả Debian 10, Debian 11 và Ubuntu 20.04, nó hiện chỉ hỗ trợ kiến trúc CPU x86_64 (còn được gọi là AMD64) trong khi ARM không được hỗ trợ. Chúng tôi sẽ sử dụng tên máy chủ server1.example.com . Thay thế nó khi cần thiết. Hướng dẫn này yêu cầu hệ điều hành cơ sở trống và mới được cài đặt, không cố gắng sử dụng hệ điều hành này trên hệ thống mà bạn đã định cấu hình các dịch vụ khác.
1. Đăng nhập vào máy chủ
Đăng nhập với quyền root hoặc chạy
su -
để trở thành người dùng root trên máy chủ của bạn trước khi bạn tiếp tục. QUAN TRỌNG : Bạn phải sử dụng ‘su -‘ chứ không phải chỉ ‘su’, nếu không biến PATH của bạn bị Debian đặt sai.
2. Định cấu hình tên máy chủ và máy chủ lưu trữ
Tên máy chủ của máy chủ của bạn phải là một miền phụ như “server1.example.com”. Không sử dụng tên miền không có phần tên miền phụ như “example.com” làm tên máy chủ vì điều này sẽ gây ra sự cố với thiết lập của bạn sau này. Đầu tiên, bạn nên kiểm tra tên máy chủ trong / etc / hosts và thay đổi nó khi cần thiết. Dòng phải là: “Địa chỉ IP – khoảng trắng – tên máy chủ đầy đủ bao gồm miền – khoảng trắng – phần miền phụ”. Đối với tên máy chủ server1.example.com của chúng tôi, tệp sẽ trông giống như sau (một số dòng có thể khác nhau, nó có thể khác nhau tùy theo nhà cung cấp dịch vụ lưu trữ):
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost
# Dòng này phải được thay đổi thành tên máy chủ chính xác:
127.0.1.1 server1.example.com server1
# Các dòng sau là mong muốn cho các máy chủ có khả năng IPv6 :: 1 localhost ip6-localhost ip6-loopback ff02 :: 1 ip6-allnodes ff02 :: 2 ip6-allrouters
Sau đó chỉnh sửa tệp / etc / hostname:
nano /etc/hostname
Nó sẽ chỉ chứa phần miền phụ, trong trường hợp của chúng tôi:
máy chủ 1
Cuối cùng, khởi động lại máy chủ để áp dụng thay đổi:
systemctl reboot
Đăng nhập lại và kiểm tra xem tên máy chủ bây giờ có chính xác hay không bằng các lệnh sau:
hostname
hostname -f
Đầu ra sẽ như thế này:
[email được bảo vệ]: ~ $ hostname
máy chủ 1
[email được bảo vệ]: ~ $ hostname -f
server1.example.com
Bạn cũng sẽ phải thiết lập bản ghi DNS với nhà cung cấp DNS trỏ đến máy chủ của bạn. Phải có bản ghi A (và / hoặc AAAA) cho miền phụ trỏ đến IP công cộng của bạn.
3. Cập nhật hệ thống
Để cập nhật gói hệ thống, hãy chạy lệnh:
apt update && apt upgrade
4. Chạy trình cài đặt tự động
Bây giờ chúng ta có thể chạy trình cài đặt tự động. Thiết lập cơ bản chứa các gói phần mềm sau (tất nhiên là cộng với các gói phụ thuộc của chúng): Apache2, PHP (phiên bản 5.6 – 8.0), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats và GoAccess. Bạn có thể dễ dàng chọn không sử dụng các chức năng nhất định hoặc cài đặt các dịch vụ bổ sung bằng cách chuyển các đối số cho trình cài đặt. Bạn có thể xem tất cả các đối số với:
wget -O - https://get.ispconfig.org | sh -s -- --help
Bây giờ bạn có thể chạy tập lệnh với các đối số. Ví dụ: nếu bạn muốn cài đặt bình thường với phạm vi cổng cho Passive FTP + nâng cấp không cần giám sát, hãy chạy:
wget -O - https://get.ispconfig.org | sh -s -- --use-ftp-ports=40110-40210
--unattended-upgrades
Sau một thời gian, bạn sẽ thấy:
CẢNH BÁO! Tập lệnh này sẽ cấu hình lại máy chủ hoàn chỉnh của bạn!
Nó phải được chạy trên một máy chủ mới được cài đặt và tất cả cấu hình hiện tại mà bạn đã thực hiện rất có thể sẽ bị mất!
Nhập 'có' nếu bạn thực sự muốn tiếp tục:
Trả lời “có” và nhấn enter. Bây giờ trình cài đặt sẽ bắt đầu.
Khi trình cài đặt hoàn tất, nó sẽ hiển thị cho bạn quản trị viên ISPConfig và mật khẩu gốc MySQL như sau:
[INFO] Mật khẩu quản trị ISPConfig của bạn là: 5GvfSSSYsdfdYC
[INFO] Mật khẩu gốc MySQL của bạn là: kkAkft82d! KafMwqxdtYs
Hãy chắc chắn rằng bạn viết thông tin này ra, vì bạn sẽ cần chúng sau này.
5. Thiết lập tường lửa
Điều cuối cùng cần làm là thiết lập tường lửa của chúng tôi.
Đăng nhập vào giao diện người dùng ISPConfig và đi tới Hệ thống -> Tường lửa. Sau đó nhấp vào “Thêm bản ghi tường lửa mới”.
Đối với một thiết lập thông thường, nó sẽ giống như sau:
TCP:
20,21,22,25,80,443,40110: 40210,110,143,465,587,993,995,53.8080,8081
UDP:
53
Các cổng cần thiết cho mọi dịch vụ là:
Web: 20, 21, 22, 80, 443 và 40110: 40210 (Tất cả TCP, không có UDP) Quảng cáo
Thư: 25, 110, 143, 465, 587, 993 và 995 (Tất cả TCP, không có UDP)
DNS: 53 (TCP và UDP)
Bảng điều khiển: 8080 và 8081 (Tất cả TCP, không có UDP)
Máy chủ của bạn hiện đã được thiết lập và sẵn sàng để sử dụng. Bạn có thể đăng nhập tại https://server1.example.com:8080
6. Tùy chọn nâng cao
Trình cài đặt tự động có các tùy chọn dòng lệnh khác nhau để tinh chỉnh thiết lập. Ví dụ, bạn có thể chọn giữa máy chủ web Apache và Nginx và dịch vụ nào sẽ được cài đặt trên hệ thống. Các đối số dòng lệnh là:
Cách sử dụng: ispc3-ai.sh [] [...] Tập lệnh này tự động cài đặt tất cả các gói cần thiết cho thiết lập ISPConfig 3 bằng cách sử dụng các hướng dẫn từ howtos "Thiết lập Máy chủ Hoàn hảo" trên www.howtoforge.com. Các đối số có thể là: --help Hiển thị trang trợ giúp này --debug Bật ghi nhật ký chi tiết (ghi từng lệnh bằng mã thoát) --channel Chọn kênh để sử dụng cho ISPConfig. --channel = <ổn định | dev> "ổn định" là phiên bản ISPConfig mới nhất hiện có trên www.ispconfig.org "dev" là nhánh ổn định mới nhất từ kho lưu trữ git của ISPConfig: https://git.ispconfig.org/ispconfig /ispconfig3/tree/stable-3.1 -> Kênh nhà phát triển có thể chứa lỗi và các tính năng ít được thử nghiệm và chỉ nên được sử dụng trong sản xuất bởi những người dùng có kinh nghiệm. --lang Sử dụng ngôn ngữ để cài đặt ISPConfig. Chỉ định với --lang = en | de (hiện chỉ hỗ trợ en (tiếng Anh) và de (tiếng Đức)). - tương tác Không cài đặt ISPConfig ở chế độ không tương tác. Điều này là cần thiết nếu bạn muốn sử dụng chế độ chuyên gia, chẳng hạn như để cài đặt một máy chủ phụ sẽ được tích hợp vào một thiết lập đa máy chủ hiện có. --use-nginx Sử dụng máy chủ web nginx thay vì apache2 --use-amavis Sử dụng amavis thay vì rspamd để lọc thư --use-unbound Sử dụng unbound thay vì bind9 để giải quyết cục bộ. Chỉ được phép nếu --no-dns được đặt. --use-php Sử dụng các phiên bản PHP cụ thể, được phân tách bằng dấu phẩy, thay vì cài đặt nhiều PHP, ví dụ --use-php = 7.4,8.0 (có sẵn 5.6, 7.0, 7.1, 7.2, 7.3, 7.4 và 8.0). --use-php = system vô hiệu hóa kho lưu trữ sury và chỉ cài đặt phiên bản PHP mặc định của hệ thống. bỏ qua đối số (sử dụng tất cả các phiên bản)--use-ftp-port Tùy chọn này đặt phạm vi cổng thụ động cho pure-ftpd. Bạn phải chỉ định phạm vi cổng được phân tách bằng dấu gạch nối, ví dụ --use-ftp-port = 40110-40210. Nếu không được cung cấp, phạm vi cổng thụ động sẽ không được định cấu hình. --use-certbot Sử dụng Certbot thay vì acme.sh để cấp chứng chỉ Let's Encrypt. Không được khuyến khích trừ khi bạn đang di chuyển từ một máy chủ cũ sử dụng Certbot. --no-web Không sử dụng ISPConfig trên máy chủ này để quản lý cài đặt máy chủ web và không cài đặt nginx / apache hoặc pureftpd. Điều này cũng sẽ ngăn việc cài đặt giao diện người dùng ISPConfig và ngụ ý --no-roundcube cũng như --no-pma --no-mail Không sử dụng ISPConfig trên máy chủ này để quản lý cài đặt máy chủ thư. Thao tác này sẽ cài đặt postfix để gửi thư hệ thống, nhưng không phải dovecot và không định cấu hình bất kỳ cài đặt nào cho thư ISPConfig. Nó ngụ ý - không có người đưa thư. --no-dns Không sử dụng ISPConfig trên máy chủ này để quản lý các mục nhập DNS. Ràng buộc sẽ chỉ được cài đặt cho bộ nhớ đệm / phân giải DNS cục bộ. --no-local-dns Không cài đặt bộ nhớ đệm / phân giải DNS cục bộ thông qua liên kết. --no-firewall Không cài đặt ufw và yêu cầu ISPConfig không quản lý cài đặt tường lửa trên máy chủ này. --no-roundcube Không cài đặt webmail roundcube. --roundcube Cài đặt Roundcube ngay cả khi --no-mail được sử dụng. Cấu hình thủ công của cấu hình Roundcube là cần thiết. --no-pma Không cài đặt PHPMyAdmin trên máy chủ này. --no-mailman Không cài đặt trình quản lý danh sách gửi thư Mailman. --no-quota Vô hiệu hóa hạn ngạch hệ thống tệp --no-ntp Vô hiệu hóa thiết lập NTP - không giám sát-nâng cấpCài đặt UnattendedUpgrades. Bạn có thể thêm các đối số bổ sung để tự động dọn dẹp và tự động khởi động lại khi cần thiết với --unattended-upgrade = autoclean, reboot (hoặc chỉ một trong số chúng). --tôi biết tôi đang làm gì
Ví dụ: để cài đặt ‘Máy chủ hoàn hảo’ như thiết lập với Nginx thay vì Apache, hãy sử dụng lệnh sau:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210
--unattended-upgrades
Hoặc để cài đặt máy chủ web Nginx không có dịch vụ Email và DNS:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail --use-ftp-ports=40110-40210
--unattended-upgrades
7. Hoàn thiện
Thiết lập của bạn bây giờ đã hoàn tất!
Bạn có thể hỗ trợ ISPConfig bằng cách mua sách hướng dẫn của chúng tôi: https://www.ispconfig.org/documentation/
Các liên kết sau đây là một số hướng dẫn / gợi ý hữu ích để thiết lập thêm:
- Thiết lập thư (rDNS, SPF, DKIM): https://www.howtoforge.com/how-to-install-an-email-server-with-ispconfig-on-debian-10/
- Tinh chỉnh Roundcube: https://www.howtoforge.com/community/threads/tweaks-the-roundcube-settings.86387/
- Thiết lập autoconfig (cấu hình tự động cho ứng dụng email của bạn): https://schaal-it.com/ispconfig-automail/
- Cải thiện bảo mật của PHPMyAdmin và giao diện rspamd: https://www.howtoforge.com/community/threads/improving-the-security-of-phpmyadmin-and-rspamd-ui.86544/
- Kho lưu trữ mã và trình theo dõi vấn đề của Trình cài đặt tự động ISPConfig: https://git.ispconfig.org/ispconfig/ispconfig-autoinstaller
Nếu bạn có bất kỳ câu hỏi nào, hãy hỏi họ trên diễn đàn.
8 Tải xuống dưới dạng máy ảo
Thiết lập này có sẵn dưới dạng tải xuống máy ảo ở định dạng ova / ovf (tương thích với VMWare và Virtualbox) cho người đăng ký howtoforge. Máy ảo dựa trên Debian 11 và sử dụng Apache làm máy chủ web.
Chi tiết đăng nhập cho VM
- Mật khẩu gốc là: howtoforge
- Mật khẩu của người dùng “quản trị viên” ISPConfig là: howtoforge
- Có một người dùng trình bao khác với tên “quản trị viên” và mật khẩu: howtoforge
- Mật khẩu gốc của MySQL là: 4VLc2vw5mZzqHNd4xURT
Vui lòng thay đổi tất cả mật khẩu trong lần đăng nhập đầu tiên.
- Địa chỉ IP của máy ảo là 192.168.0.100