GNU/Linux >> Belajar Linux >  >> Ubuntu

ISPConfig Pengaturan Multiserver Sempurna di Ubuntu 20.04 dan Debian 10

Tutorial ini akan membawa Anda melalui instalasi setup multiserver ISPConfig 3 Anda sendiri dengan dedicated server untuk panel, web, DNS, mail, dan webmail. Baik DNS dan server email akan memiliki server cermin untuk redundansi. Anda dapat dengan mudah menambahkan lebih banyak server dari jenis tertentu setelahnya.

Penginstal otomatis resmi ISPConfig akan digunakan untuk menyiapkan server. Debian 10 akan digunakan sebagai sistem operasi. Panduan ini juga telah diuji dengan Ubuntu 20.04.2.

Anda dapat membaca lebih lanjut tentang penginstal otomatis di sini.

1. Catatan Awal

Ini akan menjadi host yang kami instal:

host     FQDN                IP
panel     panel.example.com    10.0.64.12
web01     web01.example.com    10.0.64.13
mx1        m   . mx2.example.com        10.0.64.15
ns1        ns1.example.com        10.0.64.16
ns2        ns2.example.com        10.0.64.17
webmail.  .>

Kami akan menggunakan contoh nama host, alamat IP, dan rentang IP. Pastikan untuk mengubahnya sesuai dengan perintah/konfigurasi Anda.

Semua server berada di jaringan pribadi yang sama tetapi memiliki IP publik mereka sendiri. Jika server Anda tidak memiliki jaringan lokal bersama, gunakan alamat IPv4 publiknya.

Sebelum memulai penginstalan server, siapkan catatan A dan akhirnya AAAA yang mengarah ke publik Alamat IP server Anda. Misalnya, jika nama host adalah panel.example.com dan IP publik adalah 11.22.33.44, Anda harus menyiapkan catatan A untuk panel.example.com yang mengarah ke 11.22.33.44. Setiap server harus memiliki IP publik dan nama hostnya sendiri.

2. Menginstal server master

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.1 Konfigurasi nama host dan host

Nama host server Anda harus berupa subdomain seperti "panel.example.com". Jangan gunakan nama domain tanpa bagian subdomain seperti "example.com" sebagai nama host karena ini akan menyebabkan masalah dengan penyiapan email 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 panel nama host kami.example.com, file akan terlihat seperti ini (beberapa baris mungkin berbeda, dapat berbeda per penyedia hosting):

nano /etc/hosts
127.0.0.1 localhost.localdomain localhost
# Baris ini harus diubah pada setiap node ke nama server yang benar:
127.0.1.1 panel.example.com panel
# Baris ini adalah sama pada setiap node:10.0.64.12 panel.example.com panel
10.0.64.13 web01.example.com web01
10.0.64.14 mx1.example.com mx1
10.0.64.15 mx2.example .com mx2
10.0.64.16 ns1.example.com ns1
10.0.64.17 ns2.example.com ns2
10.0.64.18 webmail.example.com webmail# Baris berikut diinginkan untuk IPv6 host yang mampu::1 localhost ip6-localhost ip6-loopbackff02::1 ip6-allnodesff02::2 ip6-allrouters

Seperti yang Anda lihat, kami juga menambahkan nama host dari server kami yang lain, sehingga mereka dapat berkomunikasi melalui jaringan internal nanti.

Kemudian edit file /etc/hostname:

nano /etc/hostname

Ini hanya akan berisi bagian subdomain, dalam kasus kami:

panel

Terakhir, boot ulang server untuk menerapkan perubahan:

systemctl reboot

Masuk lagi dan periksa apakah nama host sudah benar sekarang dengan perintah berikut:

nama host
nama host -f

Outputnya akan seperti ini:

[email protected]:~$ hostname
panel
[email protected]:~$ hostname -f
panel.example.com

Sekarang kita dapat menjalankan penginstal otomatis untuk menginstal semua paket yang diperlukan dan ISPConfig:

wget -O - https://get.ispconfig.org | sh -s -- --no-mail --no-dns --use-php=system

Setelah beberapa waktu, Anda akan melihat:

PERINGATAN! Skrip ini akan mengkonfigurasi ulang server lengkap Anda!
Ini harus dijalankan pada server yang baru diinstal dan semua konfigurasi saat ini yang telah Anda lakukan kemungkinan besar akan hilang!
Ketik 'ya' jika Anda benar-benar ingin melanjutkan:

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] Kata sandi admin ISPConfig Anda adalah:5GvfSSSYsdfdYC
[INFO] Kata sandi root MySQL Anda adalah:kkAkft82d!kafMwqxdtYs

Pastikan Anda menuliskan informasi ini, bersama dengan servernya, karena Anda akan membutuhkannya nanti.

2.2 Menyiapkan pengguna MySQL jarak jauh untuk server budak kami

Kami akan masuk ke MySQL untuk mengizinkan server lain terhubung ke database ISPConfig pada node ini selama instalasi, dengan menambahkan catatan pengguna root MySQL di database master untuk setiap nama host server budak dan alamat IP.

Di terminal, jalankan

mysql -u root -p

Masukkan kata sandi MySQL Anda dan kemudian jalankan perintah berikut:

BUAT PENGGUNA 'root'@'10.0.64.13' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'10.0.64.13' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
BUAT PENGGUNA 'root'@'10.0.64.14' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'10.0.64.14' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
BUAT PENGGUNA 'root'@'10.0.64.15' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'10.0.64.15' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
BUAT PENGGUNA 'root'@'10.0.64.16' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'10.0.64.16' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
BUAT PENGGUNA 'root'@'10.0.64.17' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'10.0.64.17' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
BUAT PENGGUNA 'root'@'10.0.64.18' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'10.0.64.18' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
BUAT PENGGUNA 'root'@'web01.example.com' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'web01.example.com' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
BUAT PENGGUNA 'root'@'mx1.example.com' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'mx1.example.com' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
BUAT PENGGUNA 'root'@'mx2.example.com' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'mx2.example.com' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
BUAT PENGGUNA 'root'@'ns1.example.com' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'ns1.example.com' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
BUAT PENGGUNA 'root'@'ns2.example.com' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'ns2.example.com' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
BUAT PENGGUNA 'root'@'webmail.example.com' DIIDENTIFIKASI DENGAN 'myrootpassword';
BERIKAN SEMUA HAK ISTIMEWA DI * . * UNTUK 'root'@'webmail.example.com' DIIDENTIFIKASI DENGAN 'myrootpassword' DENGAN GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;

Dalam perintah SQL di atas, ganti alamat IP (10.0.64.12 - 10.0.64.18) dengan alamat IP server Anda, web01.example.com, mx1.example.com, mx2.example.com, ns1.example.com , ns2.example.com, dan webmail.example.com dengan nama host server Anda dan myrootpassword dengan kata sandi root yang diinginkan (adalah praktik yang baik untuk menggunakan kata sandi yang berbeda untuk setiap host. Catat, karena Anda akan membutuhkannya nanti saat memasang atau memperbarui server budak Anda).

Setelah ini selesai, Anda dapat keluar dari MySQL dengan:

KELUAR;

Sekarang Anda dapat masuk ke ISPConfig di https://panel.example.com:8080 dengan nama pengguna admin dan kata sandi yang ditunjukkan penginstal kepada Anda.

2.3 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 server panel, kita harus membuka port berikut:

TCP:

22,80,443,8080,8081

Tidak ada port UDP yang harus dibuka melalui UI.

Kami juga akan membuka port 3306, yang digunakan untuk MySQL, tetapi hanya dari jaringan lokal kami untuk alasan keamanan. Untuk melakukannya, jalankan perintah berikut dari CLI, setelah perubahan dari panel ISPConfig disebarkan (ketika titik merah hilang):

ufw izinkan dari 10.0.64.0/24 ke port 3306 proto tcp

Panel Anda sekarang telah disiapkan dan siap digunakan.

Pada langkah selanjutnya, kita akan menginstal server web.


Ubuntu
  1. Instalasi ISPConfig 3 Otomatis Server Sempurna pada Debian 10 - 11 dan Ubuntu 20.04

  2. Server Sempurna - Ubuntu 15.04 (nginx, BIND, Dovecot, dan ISPConfig 3)

  3. Instalasi ISPConfig 3 Otomatis Server Sempurna pada Debian 10 - 11 dan Ubuntu 20.04

  1. Instal Node.js Di Ubuntu dan Debian

  2. Cara Setup IP Failover dengan KeepAlived di Ubuntu &Debian

  3. Cara Meningkatkan Server Ubuntu 7.10 ("Pengaturan Sempurna" + ISPConfig) Ke Ubuntu 8.04 LTS

  1. Instalasi ISPConfig 3 Otomatis Server Sempurna pada Debian 10 - 11 dan Ubuntu 20.04

  2. Cara Meningkatkan Server Ubuntu 7.04 ("Pengaturan Sempurna" + ISPConfig) Ke Ubuntu 7.10

  3. Skrip pengaturan OpenVPN untuk Debian dan Ubuntu