Tutorial ini akan membawa Anda melalui pemasangan ISPConfig 3 pengaturan server tunggal Anda sendiri menggunakan penginstal otomatis ISPConfig. Pemasang ini mengikuti panduan Server Sempurna yang lama tetapi lebih modular dan mudah diikuti. Jika Anda ingin menyiapkan pengaturan multiserver dengan server khusus untuk setiap layanan, lihat panduan Multiserver Sempurna.
Panduan ini berfungsi untuk Debian 10, Debian 11 dan Ubuntu 20.04. Kami akan menggunakan nama host server1.example.com. Ganti jika perlu. Panduan ini memerlukan OS dasar yang baru diinstal dan kosong, jangan coba-coba menggunakannya pada sistem tempat Anda telah mengonfigurasi layanan lain.
1. Masuk ke server
Masuk sebagai root atau jalankan
su -
untuk menjadi pengguna root di server Anda sebelum Anda melanjutkan. PENTING :Anda harus menggunakan 'su -' dan bukan hanya 'su', jika tidak, variabel PATH Anda disetel salah oleh Debian.
2. Konfigurasi nama host dan host
Nama host server Anda harus berupa subdomain seperti "server1.example.com". Jangan gunakan nama domain tanpa bagian subdomain seperti "example.com" sebagai nama host karena ini akan menyebabkan masalah dengan pengaturan Anda nanti. Pertama, Anda harus memeriksa nama host di /etc/hosts dan mengubahnya bila perlu. Baris harus:"Alamat IP - spasi - nama host lengkap termasuk domain - spasi - bagian subdomain". Untuk nama host server1.example.com kami, file akan terlihat seperti ini (beberapa baris mungkin berbeda, dapat berbeda per penyedia hosting):
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost
# This line should be changed to the correct servername:
127.0.1.1 server1.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
Kemudian edit file /etc/hostname:
nano /etc/hostname
Ini hanya akan berisi bagian subdomain, dalam kasus kami:
server1
Terakhir, boot ulang server untuk menerapkan perubahan:
systemctl reboot
Masuk lagi dan periksa apakah nama host sudah benar sekarang dengan perintah berikut:
hostname
hostname -f
Outputnya akan seperti ini:
[email protected]:~$ hostname
server1
[email protected]:~$ hostname -f
server1.example.com
Anda juga harus menyiapkan catatan DNS dengan penyedia DNS Anda yang mengarah ke server Anda. Harus ada catatan A (dan/atau AAAA) untuk subdomain yang mengarah ke IP publik Anda.
3. Perbarui sistem
Untuk memperbarui paket sistem, jalankan perintah:
apt update && apt upgrade
4. Jalankan penginstal otomatis
Sekarang kita dapat menjalankan penginstal otomatis. Pengaturan dasar berisi paket perangkat lunak berikut (tentu saja ditambah dependensinya):Apache2, PHP (versi 5.6 - 8.0), MariaDB, Postfix, Dovecot, Rspamd, BIND, Jailkit, Roundcube, PHPMyAdmin, Mailman, Webalizer, AWStats, dan GoAccess. Anda dapat dengan mudah memilih untuk tidak menggunakan fungsi tertentu atau menginstal layanan tambahan dengan meneruskan argumen ke penginstal. Anda dapat melihat semua argumen dengan:
wget -O - https://get.ispconfig.org | sh -s -- --help
Anda sekarang dapat menjalankan skrip dengan argumen. Misalnya, jika Anda ingin penginstalan normal dengan rentang port untuk FTP Pasif + peningkatan tanpa pengawasan, jalankan:
wget -O - https://get.ispconfig.org | sh -s -- --use-ftp-ports=40110-40210
--unattended-upgrades
Setelah beberapa waktu, Anda akan melihat:
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:
Jawab "ya" dan tekan enter. Penginstal sekarang akan dimulai.
Ketika penginstal selesai, itu akan menunjukkan kepada Anda admin ISPConfig dan kata sandi root MySQL seperti ini:
[INFO] Your ISPConfig admin password is: 5GvfSSSYsdfdYC
[INFO] Your MySQL root password is: kkAkft82d!kafMwqxdtYs
Pastikan Anda menuliskan informasi ini, karena Anda akan membutuhkannya nanti.
5. Menyiapkan firewall
Hal terakhir yang harus dilakukan adalah menyiapkan firewall kita.
Masuk ke UI ISPConfig, dan buka Sistem -> Firewall. Kemudian klik "Tambahkan data firewall baru".
Untuk pengaturan normal, akan terlihat seperti ini:
TCP:
20,21,22,25,80,443,40110:40210,110,143,465,587,993,995,53,8080,8081
UDP:
53
Port yang diperlukan untuk setiap layanan adalah:
Web:20, 21, 22, 80, 443 dan 40110:40210 (Semua TCP, tanpa UDP)
Email:25, 110, 143, 465, 587, 993, dan 995 (Semua TCP, tanpa UDP)
DNS:53 (TCP dan UDP)
Panel:8080 dan 8081 (Semua TCP, tanpa UDP)
Server Anda sekarang sudah siap dan siap digunakan. Anda dapat masuk di https://server1.example.com:8080
6. Opsi Lanjutan
Pemasang otomatis memiliki berbagai opsi baris perintah untuk menyempurnakan pengaturan. Anda bisa misalnya pilih antara server web Apache dan Nginx dan layanan mana yang akan diinstal pada sistem. Argumen baris perintah adalah:
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|dev> "stable" is the latest ISPConfig release available on www.ispconfig.org "dev" is the latest stable-branch from the ISPConfig git repository: https://git.ispconfig.org/ispconfig/ispconfig3/tree/stable-3.1 -> 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 and 8.0 available). --use-php=system disables the sury repository and just installs the system's default PHP version. ommiting the argument (use 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 adviced unless you are migrating from a 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 --unattended-upgrades Install UnattendedUpgrades. You can add extra arguments for automatic cleanup and automatic reboots when necessary with --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.
Misalnya, untuk menginstal 'Server Sempurna' seperti setup dengan Nginx bukan Apache, gunakan perintah ini:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --use-ftp-ports=40110-40210
--unattended-upgrades
Atau untuk menginstal server web Nginx tanpa layanan Email dan DNS:
wget -O - https://get.ispconfig.org | sh -s -- --use-nginx --no-dns --no-mail --use-ftp-ports=40110-40210
--unattended-upgrades
7. Menyelesaikan
Penyiapan Anda sekarang selesai!
Anda dapat mendukung ISPConfig dengan membeli manual kami:https://www.ispconfig.org/documentation/
Tautan berikut adalah beberapa tutorial/petunjuk yang berguna untuk penyiapan lebih lanjut:
- Menyiapkan email (rDNS, SPF, DKIM):https://www.howtoforge.com/how-to-install-an-email-server-with-ispconfig-on-debian-10/
- Mengatur Kubus Bulat:https://www.howtoforge.com/community/threads/tweaking-the-roundcube-settings.86387/
- Menyiapkan autoconfig (konfigurasi otomatis untuk klien email Anda):https://schaal-it.com/ispconfig-automail/
- Tingkatkan keamanan PHPMyAdmin dan antarmuka rspamd:https://www.howtoforge.com/community/threads/improving-the-security-of-phpmyadmin-and-rspamd-ui.86544/
- Repositori kode dan pelacak masalah ISPConfig Autoinstaller:https://git.ispconfig.org/ispconfig/ispconfig-autoinstaller
Jika Anda memiliki pertanyaan, tanyakan di forum.