Hướng dẫn này sẽ giúp bạn cài đặt thiết lập máy chủ đơn ISPConfig 3 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ó tính mô-đun hơn và dễ làm theo. Nếu bạn muốn thiết lập thiết lập nhiều 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 Perfect Multiserver.
Hướng dẫn này hoạt động với Debian 11 và 12, Ubuntu 22.04 và Ubuntu 24.04. Hiện tại, hướng dẫn này hỗ trợ kiến trúc CPU x86_64 (còn gọi là AMD64) và ARM (ARM64). Chúng tôi sẽ sử dụng tên máy chủ server1.example.com. Thay thế tên này khi cần thiết. Hướng dẫn yêu cầu hệ điều hành cơ sở mới cài đặt và trống; không cố gắng sử dụng nó trên một hệ thống mà bạn đã cấu hình các dịch vụ khác.
trên Debian để 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 --login' hoặc 'su -' chứ không chỉ 'su'. Nếu không, Debian sẽ đặt sai biến PATH của bạn.
Trên Ubuntu, hãy sử dụng lệnh:
để trở thành người dùng root.
Sau đó chỉnh sửa tệp /etc/hostname:
Trong trường hợp của chúng tôi, tệp này sẽ chỉ chứa phần tên miền phụ:
Cuối cùng, khởi động lại máy chủ để áp dụng thay đổi:
Đăng nhập lại và kiểm tra xem tên máy chủ có đúng không bằng các lệnh sau:
Đầu ra sẽ như thế này:
Bạn cũng sẽ phải thiết lập bản ghi DNS với nhà cung cấp DNS của mình để trỏ đến máy chủ của bạn. Phải có bản ghi A (và/hoặc AAAA) cho tên miền phụ trỏ đến IP công khai của bạn.
Các bước sau được mô tả trong chương "Chạy trình cài đặt tự động".
Trả lời "yes" và nhấn enter. Trình cài đặt sẽ bắt đầu ngay bây giờ.
Khi trình cài đặt hoàn tất, nó sẽ hiển thị cho bạn mật khẩu quản trị ISPConfig và mật khẩu gốc MySQL như thế này:
Đảm bảo bạn ghi lại thông tin này, vì bạn sẽ cần đến nó sau này.
Đă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 thiết lập bình thường, nó sẽ trông như thế này:
TCP:
UDP:
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)
Mail: 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
Bạn có thể xem tất cả các đối số bằng:
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à:
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 này:
Hoặc để cài đặt máy chủ web Nginx mà không có dịch vụ Email và DNS:
Bạn có thể hỗ trợ ISPConfig bằng cách mua hướng dẫn sử dụng 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/chỉ dẫn hữu ích để thiết lập thêm:
Ngoài ra, tùy chọn dòng lệnh --interactive có thể giúp phát hiện lý do gây ra lỗi cài đặt.
Chi tiết đăng nhập cho VM
Hướng dẫn này hoạt động với Debian 11 và 12, Ubuntu 22.04 và Ubuntu 24.04. Hiện tại, hướng dẫn này hỗ trợ kiến trúc CPU x86_64 (còn gọi là AMD64) và ARM (ARM64). Chúng tôi sẽ sử dụng tên máy chủ server1.example.com. Thay thế tên này khi cần thiết. Hướng dẫn yêu cầu hệ điều hành cơ sở mới cài đặt và trống; không cố gắng sử dụng nó trên một hệ thống mà bạn đã cấu hình các dịch vụ khác.
Điều kiện tiên quyết
- Hệ điều hành: Debian 11 và Debian 12, Ubuntu 22.04 hoặc Ubuntu 24.04.
- Kiến trúc CPU Intel hoặc AMD 64-Bit (x86_64, còn được gọi là AMD64) hoặc kiến trúc CPU ARM (ARM64).
- Hệ thống phải có quyền truy cập internet để tải xuống và cài đặt phần mềm bằng apt.
- Bắt đầu từ cài đặt hệ điều hành cơ sở sạch và trống. Hệ thống phải có thể truy cập hoàn toàn từ internet; không chặn quyền truy cập bằng tường lửa, đặc biệt là cổng 80 để cấp chứng chỉ LE và cổng 8080 để truy cập ISPConfig, cộng với các cổng cho tất cả các dịch vụ bạn sử dụng trên hệ thống đó. Máy chủ cũng phải có quyền truy cập internet để tải xuống và cài đặt phần mềm trong quá trình cài đặt và giải quyết tên miền thông qua DNS.
1. Đăng nhập vào máy chủ
Đăng nhập với tư cách là root hoặc chạy
Mã:
su --login
Trên Ubuntu, hãy sử dụng lệnh:
Mã:
sudo -s
2. Cấu hình tên máy chủ và máy chủ
Tên máy chủ của máy chủ của bạn phải là một tên 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ố sau này với thiết lập của bạn. Trước tiên, bạn nên kiểm tra tên máy chủ trong /etc/hosts và thay đổi khi cần thiết. Dòng này phải là: "Địa chỉ IP - khoảng trắng - tên máy chủ đầy đủ bao gồm tên miền - khoảng trắng - phần tê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 như thế này (một số dòng có thể khác nhau; có thể khác nhau tùy theo nhà cung cấp dịch vụ lưu trữ):
Mã:
nano/etc/hosts
Mã:
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.1server1.example.com server1
# Các dòng sau đây là mong muốn đối với các máy chủ có khả năng IPv6::1 localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 ip6-allrouters
Mã:
nano /etc/hostname
Mã:
server1
Mã:
systemctl reboot
Mã:
hostname
hostname -f
Mã:
root@server1:~$ hostname
server1
root@server1:~$ hostname -f
server1.example.com
3. Cập nhật hệ thống
Để cập nhật các gói hệ thống, hãy chạy lệnh:
Mã:
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 bao gồm 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.3), 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 một số chức năng nhất định hoặc cài đặt các dịch vụ bổ sung bằng cách truyền đối số cho trình cài đặt. Xem Chương 6 để biết các tùy chọn dòng lệnh khả dụng.Cài đặt ISPConfig với máy chủ web Apache
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 máy chủ web Apache và phạm vi cổng cho FTP thụ động + nâng cấp không giám sát, hãy chạy:
Mã:
wget -O - https://get.ispconfig.org | sh -s -- [ICODE]--use-ftp-ports=40110-40210[/ICODE] --unattended-upgrades
Cài đặt ISPConfig với máy chủ web Nginx
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 máy chủ web Nginx và phạm vi cổng cho FTP thụ động + nâng cấp không giám sát, hãy chạy:
Mã:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx [ICODE]--use-ftp-ports=40110-40210[/ICODE] --unattended-upgrades
Chạy trình cài đặt tự động
Sau một thời gian, bạn sẽ thấy:
Mã:
CẢNH BÁO! Tập lệnh này sẽ cấu hình lại toàn bộ máy chủ của bạn!
Nó phải được chạy trên một máy chủ mới cài đặt và mọi cấu hình hiện tại mà bạn đã thực hiện rất có thể sẽ bị mất!
Gõ 'yes' nếu bạn thực sự muốn tiếp tục:
Khi trình cài đặt hoàn tất, nó sẽ hiển thị cho bạn mật khẩu quản trị ISPConfig và mật khẩu gốc MySQL như thế này:
Mã:
[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
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 ta.Đă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 thiết lập bình thường, nó sẽ trông như thế này:
TCP:
Mã:
20,21,22,25,80,443,40110:40210,110,143,465,587,993,995,53,8080,8081
Mã:
53
Web: 20, 21, 22, 80, 443 và 40110:40210 (Tất cả TCP, không có UDP)
Mail: 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
6. Tùy chọn nâng cao
Trình cài đặt tự động có nhiều tùy chọn dòng lệnh để tinh chỉnh thiết lập.Bạn có thể xem tất cả các đối số bằng:
Mã:
wget -O - https://get.ispconfig.org | sh -s -- --help
Mã:
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ừ hướng dẫn "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 nhật ký từng lệnh với mã thoát). --channel Chọn kênh để sử dụng cho ISPConfig: --channel= "stable" là bản phát hành ISPConfig mới nhất có trên www.ispconfig.org "dev" là nhánh dev mới nhất từ kho lưu trữ git ISPConfig: https://git.ispconfig.org/ispconfig/ispconfig3/tree/develop Kênh dev có thể chứa lỗi và các tính năng ít được kiểm tra và chỉ nên được sử dụng trong sản xuất bởi những người dùng rất có kinh nghiệm. --lang Sử dụng ngôn ngữ để cài đặt ISPConfig. Chỉ định bằng --lang=en|de (hiện chỉ hỗ trợ en (tiếng Anh) và de (tiếng Đức)). --interactive 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, ví dụ: để cài đặt máy chủ phụ sẽ được tích hợp vào thiết lập đa máy chủ hiện có. --use-nginx Sử dụng nginx webserver 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ể, 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, 8.0, 8.1, 8.2 và 8.3). --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. --use-php khi bỏ qua đối số, sử dụng tất cả các phiên bản. --use-ftp-ports Tùy chọn này thiết lập 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-ports=40110-40210. Nếu không cung cấp, phạm vi cổng thụ động sẽ không được 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 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ư. Điều này sẽ cài đặt postfix để gửi thư hệ thống, nhưng không phải dovecot và không cấu hình bất kỳ cài đặt nào cho thư ISPConfig. Nó ngụ ý --no-mailman. --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. Bind sẽ chỉ được cài đặt để lưu trữ đệm/giải quyết DNS cục bộ. --no-local-dns Không cài đặt lưu trữ đệm/giải quyết DNS cục bộ thông qua bind. --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 sử dụng --no-mail. Cần cấu hình thủ công cấu hình Roundcube. --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. --no-jailkit Không cài đặt jailkit. --no-ftp Không cài đặt máy chủ pure-ftpd. --monit Cài đặt Monit và thiết lập để giám sát các dịch vụ đã cài đặt. Các dịch vụ được hỗ trợ: Apache2, NGINX, MariaDB, pure-ftpd-mysql, php-fpm, ssh, named, Postfix, Dovecot, rspamd. --monit-alert-email Thiết lập cảnh báo để Monit được gửi đến địa chỉ email đã cho. ví dụ: [emailprotected]. --ssh-port Cấu hình máy chủ SSH để lắng nghe trên một cổng không phải cổng mặc định. Số cổng phải nằm trong khoảng từ 1 đến 65535 và không thể được các dịch vụ khác sử dụng. ví dụ: --ssh-port=64. --ssh-permit-root Cấu hình máy chủ SSH cho phép đăng nhập root hay không: --ssh-permit-root=, ví dụ: --ssh-permit-root=without-password. --ssh-password-authentication Cấu hình máy chủ SSH cho phép xác thực mật khẩu hay không: --ssh-password-authentication=, ví dụ: -ssh-password-authentication=no. --ssh-harden Cấu hình máy chủ SSH để có cấu hình bảo mật mạnh hơn. --unattended-upgrades Cài đặt UnattendedUpgrades. Bạn có thể thêm các đối số bổ sung cho việc dọn dẹp tự động và khởi động lại tự động khi cần thiết: --unattended-upgrades=autoclean,reboot (hoặc chỉ một trong số chúng). --i-know-what-i-am-doing Ngăn trình cài đặt tự động yêu cầu xác nhận trước khi tiếp tục cấu hình lại máy chủ.
Mã:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx [ICODE]--use-ftp-ports=40110-40210[/ICODE] --unattended-upgrades
Mã:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail [ICODE]--use-ftp-ports=40110-40210[/ICODE] --unattended-upgrades
7. Hoàn tất
Quá trình thiết lập của bạn đã hoàn tất!Bạn có thể hỗ trợ ISPConfig bằng cách mua hướng dẫn sử dụng 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/chỉ dẫn 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/
- Điều chỉnh Roundcube: https://www.howtoforge.com/community/threads/tweaking-the-roundcube-settings.86387/
- Thiết lập autoconfig (cấu hình tự động cho máy khách email của bạn): https://schaal-it.com/ispconfig-automail/
- Cải thiện tính bảo mật của PHPMyAdmin và giao diện Rspamd: https://www.howtoforge.com/communit...e-security-of-phpmyadmin-and-rspamd-ui.86544/
- Kho lưu trữ mã và trình theo dõi sự cố của ISPConfig Autoinstaller: https://git.ispconfig.org/ispconfig/ispconfig-autoinstaller
8. Gỡ lỗi trong trường hợp xảy ra lỗi
Nếu có sự cố xảy ra trong quá trình cài đặt, bạn có thể gỡ lỗi quy trình bằng cách thêm cờ dòng lệnh --debug vào lệnh cài đặt. Lệnh này sẽ ghi một tệp nhật ký
Mã:
/tmp/ispconfig-ai/var/log/ispconfig.log
9. Tải xuống dưới dạng máy ảo
Cài đặt 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) dành cho người đăng ký howtoforge. Máy ảo dựa trên Debian 12 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 "admin" ISPConfig là:howtoforge
- Có một người dùng shell khác có tên "administrator" và mật khẩu: howtoforge
- Mật khẩu gốc MySQL là: 7s8EtDL1QhorSaeHhnRh
- Địa chỉ IP của VM là 192.168.0.100