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 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 /etc/hostname tệp:
Trong trường hợp của chúng tôi, tệp này 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 cái này:
Bạn cũng sẽ phải thiết lập một 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ó một 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 "có" và nhấn enter. 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 mật khẩu quản trị ISPConfig và mật khẩu gốc MySQL như sau:
Đả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)
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
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' giống 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ần Email và DNS dịch vụ:
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 miền phụ như "server1.example.com". Không sử dụng tên miền không có phầ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
# This line should be changed to the correct servername:
127.0.1.1server1.example.com server1
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::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 -- --use-ftp-ports=40110-40210
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 --use-ftp-ports=40110-40210
Chạy trình cài đặt tự động
Sau một thời gian, bạn sẽ thấy:
Mã:
WARNING! This script will reconfigure your complete server!
It should be run on a freshly installed server and all current configuration that you have done will most likely be lost!
Type 'yes' if you really want to continue:
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ư sau:
Mã:
[INFO] Your ISPConfig admin password is: 5GvfSSSYsdfdYC
[INFO] Your MySQL root password is: 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)
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
Đang tải…
server1.example.com
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ã:
Usage: ispc3-ai.sh [] [...]
This script automatically installs all needed packages for an ISPConfig 3 setup using the guidelines from the "Perfect Server Setup" howtos on www.howtoforge.com.
Possible arguments are: --help Show this help page. --debug Enable verbose logging (logs each command with the exit code). --channel Choose the channel to use for ISPConfig: --channel= "stable" is the latest ISPConfig release available on www.ispconfig.org "dev" is the latest dev-branch from the ISPConfig git repository: https://git.ispconfig.org/ispconfig/ispconfig3/tree/develop The dev channel might contain bugs and less-tested features and should only be used in production by very experienced users. --lang Use language for ISPConfig installation. Specify with --lang=en|de (only en (English) and de (German) supported currently). --interactive Don't install ISPConfig in non-interactive mode. This is needed if you want to use expert mode, e.g. to install a slave server that shall be integrated into an existing multiserver setup. --use-nginx Use nginx webserver instead of apache2. --use-amavis Use amavis instead of rspamd for mail filtering. --use-unbound Use unbound instead of bind9 for local resolving. Only allowed if --no-dns is set. --use-php Use specific PHP versions, comma separated, instead of installing multiple PHP, e.g. --use-php=7.4,8.0 (5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1, 8.2 and 8.3 available). --use-php=system disables the sury repository and just installs the system's default PHP version. --use-php while omitting the argument, uses all versions. --use-ftp-ports This option sets the passive port range for pure-ftpd. You have to specify the port range separated by hyphen, e.g. --use-ftp-ports=40110-40210. If not provided the passive port range will not be configured. --use-certbot Use Certbot instead of acme.sh for issuing Let's Encrypt certificates. Not advised unless you are migrating from an old server that uses Certbot. --no-web Do not use ISPConfig on this server to manage webserver setting and don't install nginx/apache or pureftpd. This will also prevent installing an ISPConfig UI and implies --no-roundcube as well as --no-pma. --no-mail Do not use ISPConfig on this server to manage mailserver settings. This will install postfix for sending system mails, but not dovecot and not configure any settings for ISPConfig mail. It implies --no-mailman. --no-dns Do not use ISPConfig on this server to manage DNS entries. Bind will be installed for local DNS caching / resolving only. --no-local-dns Do not install local DNS caching / resolving via bind. --no-firewall Do not install ufw and tell ISPConfig to not manage firewall settings on this server. --no-roundcube Do not install roundcube webmail. --roundcube Install Roundcube even when --no-mail is used. Manual configuration of Roundcube config is needed. --no-pma Do not install PHPMyAdmin on this server. --no-mailman Do not install Mailman mailing list manager. --no-quota Disable file system quota. --no-ntp Disable NTP setup. --no-jailkit Do not install jailkit. --no-ftp Do not install pure-ftpd server. --monit Install Monit and set it up to monitor installed services. Supported services: Apache2, NGINX, MariaDB, pure-ftpd-mysql, php-fpm, ssh, named, Postfix, Dovecot, rspamd. --monit-alert-email Set up alerts for Monit to be sent to given e-mail address. e.g. [emailprotected]. --ssh-port Configure the SSH server to listen on a non-default port. Port number must be between 1 and 65535 and can not be in use by other services. e.g. --ssh-port=64. --ssh-permit-root Configure the SSH server whether or not to allow root login: --ssh-permit-root=, e.g. --ssh-permit-root=without-password. --ssh-password-authentication Configure the SSH server whether or not to allow password authentication: --ssh-password-authentication=, e.g. -ssh-password-authentication=no. --ssh-harden Configure the SSH server to have a stronger security config. --unattended-upgrades Install UnattendedUpgrades. You can add extra arguments for automatic cleanup and automatic reboots when necessary: --unattended-upgrades=autoclean,reboot (or only one of them). --i-know-what-i-am-doing Prevent the autoinstaller to ask for confirmation before continuing to reconfigure the server.
Mã:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210
Mã:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail --use-ftp-ports=40110-40210
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