GNU/Linux >> Belajar Linux >  >> Ubuntu

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

Tutorial ini menunjukkan langkah-langkah untuk menginstal server Ubuntu 15.04 (Vivid Vervet) dengan Nginx, PHP, MariaDB, Postfix, pure-ftpd, BIND, Dovecot, dan ISPConfig 3. ISPConfig 3 adalah panel kontrol hosting web yang memungkinkan Anda mengonfigurasi yang diinstal layanan melalui browser web. Pengaturan ini menyediakan server hosting lengkap dengan web, email (termasuk filter spam dan antivirus), Database, FTP, dan layanan DNS.

1. Catatan Awal

Dalam tutorial ini, saya akan menggunakan hostname server1.example.com dengan alamat IP 192.168.1.100 dan gateway 192.168.1.1 untuk konfigurasi jaringan. Pengaturan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu. Sebelum melangkah lebih jauh, Anda harus memiliki instalasi dasar minimal Ubuntu 15.04 seperti yang dijelaskan dalam tutorial.

Langkah-langkah dalam tutorial ini harus dijalankan sebagai pengguna root, jadi saya tidak akan menambahkan "sudo" di depan perintah. Login sebagai pengguna root ke server Anda sebelum melanjutkan atau menjalankan:

sudo su

untuk menjadi root ketika Anda masuk sebagai pengguna lain di shell.

Perintah untuk mengedit file akan menggunakan editor "nano", Anda dapat menggantinya dengan editor pilihan Anda. Nano adalah editor file yang mudah digunakan untuk shell. Jika Anda ingin menggunakan nano dan belum menginstalnya, jalankan:

apt-get install nano

2. Perbarui Instalasi Linux Anda

Edit /etc/apt/sources.list. Beri komentar atau hapus CD instalasi dari file dan pastikan bahwa repositori universe dan multiverse diaktifkan. Seharusnya terlihat seperti ini:

nano /etc/apt/sources.list
#

# deb cdrom:[Ubuntu-Server 15.04 _Vivid Vervet_ - Rilis amd64 (20150422)]/ Vivid main terbatas

#deb cdrom:[Ubuntu-Server 15.04 _Vivid Vervet_ - Rilis amd64 (20150422)]/ jelas utama dibatasi

# Lihat http://help.ubuntu.com/community/UpgradeCatatan untuk cara meningkatkan ke
# versi yang lebih baru dari distribusinya.
deb http://de.archive.ubuntu.com/ubuntu/ jelas utama dibatasi
deb-src http://de.archive.ubuntu.com/ubuntu/ jelas utama dibatasi

## Pembaruan perbaikan bug utama yang dihasilkan setelah rilis final dari
## distribusi.
deb http://de.archive.ubuntu.com/ubuntu/ vivid-updates utama dibatasi
deb-src http://de.archive.ubuntu.com/ubuntu/ vivid-updates utama dibatasi

## N.B. perangkat lunak dari repositori ini SEPENUHNYA TIDAK DIDUKUNG oleh tim
## Ubuntu. Juga, harap perhatikan bahwa perangkat lunak di universe TIDAK AKAN menerima
## ulasan atau pembaruan apa pun dari tim keamanan Ubuntu.
deb http://de.archive.ubuntu.com/ubuntu/ vivid universe
deb-src http://de.archive.ubuntu.com/ubuntu/ vivid universe
deb http://de.archive.ubuntu.com/ubuntu/ vivid-updates universe
deb- src http://de.archive.ubuntu.com/ubuntu/ vivid-updates universe

## N.B. perangkat lunak dari repositori ini SEPENUHNYA TIDAK DIDUKUNG oleh tim
## Ubuntu, dan mungkin tidak memiliki lisensi gratis. Harap puaskan diri Anda tentang
## hak Anda untuk menggunakan perangkat lunak. Juga, harap perhatikan bahwa perangkat lunak di
## multiverse TIDAK AKAN menerima ulasan atau pembaruan apa pun dari tim keamanan
## Ubuntu.
deb http://de.archive.ubuntu.com/ ubuntu/ vivid multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ vivid multiverse
deb http://de.archive.ubuntu.com/ubuntu/ vivid-updates multiverse
deb-src http://de.archive.ubuntu.com/ubuntu/ vivid-updates multiverse

## N.B. perangkat lunak dari repositori ini mungkin belum diuji
## secara ekstensif seperti yang terdapat dalam rilis utama, meskipun ini menyertakan
## versi terbaru dari beberapa aplikasi yang mungkin menyediakan fitur yang berguna.
# # Juga, harap perhatikan bahwa perangkat lunak di backport TIDAK AKAN menerima ulasan
## atau pembaruan dari tim keamanan Ubuntu.
deb http://de.archive.ubuntu.com/ubuntu/ vivid-backports multiverse alam semesta terbatas utama
deb-src http://de.archive.ubuntu.com/ubuntu/ vivid-backports multiverse alam semesta terbatas utama

deb http://security.ubuntu.com /ubuntu vivid-security main terbatas
deb-src http://security.ubuntu.com/ubuntu vivid-security main terbatas
deb http://security.ubuntu.com/ubuntu vivid-security universe
deb-src http://security.ubuntu.com/ubuntu vivid-security universe
deb http://security.ubuntu.com/ubuntu vivid-security multiverse

## Batalkan komentar pada dua baris berikut untuk menambahkan perangkat lunak dari
# Canonical # repositori 'partner'.
## Perangkat lunak ini bukan bagian dari Ubuntu, tetapi ditawarkan oleh Canonical dan
## vendor masing-masing sebagai layanan untuk pengguna Ubuntu.
# deb http://archive.canonical.com/ubuntu mitra hidup
# deb-src http://archive.canonical.com/ubuntu mitra hidup

Kemudian jalankan

apt-get update

untuk memperbarui database paket apt dan

apt-get upgrade

untuk menginstal pembaruan terbaru (jika ada). Jika Anda melihat kernel baru terinstal sebagai bagian dari pembaruan, Anda harus mem-boot ulang sistem setelahnya:

boot ulang

3. Ubah Shell Default

/bin/sh adalah symlink ke /bin/dash, namun kita membutuhkan /bin/bash, bukan /bin/dash. Oleh karena itu kami melakukan ini:

dpkg-konfigurasi ulang tanda hubung

Gunakan tanda hubung sebagai shell sistem default (/bin/sh)? <-- Tidak

Jika Anda tidak melakukannya, penginstalan ISPConfig akan gagal.

4. Nonaktifkan AppArmor

AppArmor adalah ekstensi keamanan (mirip dengan SELinux) yang seharusnya memberikan keamanan yang diperluas. Itu tidak diinstal secara default mulai 13.10. Kami akan crosscheck jika sudah terpasang. Menurut pendapat saya Anda tidak memerlukannya untuk mengkonfigurasi sistem yang aman, dan biasanya menyebabkan lebih banyak masalah daripada keuntungan (pikirkan setelah Anda melakukan pemecahan masalah selama seminggu karena beberapa layanan tidak berfungsi seperti yang diharapkan, dan kemudian Anda mengetahui bahwa semuanya baik-baik saja, hanya AppArmor yang menyebabkan masalah). Oleh karena itu saya menonaktifkannya (ini adalah suatu keharusan jika Anda ingin menginstal ISPConfig nanti).

Kita dapat menonaktifkannya seperti ini:

service apparmor berhenti
update-rc.d -f apparmor hapus
apt-get remove apparmor apparmor-utils

5. Sinkronkan Jam Sistem

Sebaiknya sinkronisasi jam sistem dengan NTP (n jaringan t waktu p rotocol) server melalui Internet. Jalankan saja

apt-get install ntp ntpdate

dan waktu sistem Anda akan selalu sinkron.

6. Instal Postfix, Dovecot, MariaDB, phpMyAdmin, rkhunter, binutils

Kita dapat menginstal Postfix, Dovecot, MariaDB (sebagai pengganti MySQL), rkhunter, dan binutils dengan satu perintah:

apt-get install postfix postfix-mysql postfix-doc mariadb-client mariadb-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo

MariaDB adalah garpu dari server database MySQL, yang dikembangkan oleh pengembang MySQL asli Monty Widenius. Menurut tes yang ditemukan di internet, MariaDB lebih cepat dari MySQL dan pengembangannya berlangsung lebih cepat, oleh karena itu sebagian besar Distribusi Linux menggantikan MySQL dengan MariaDB sebagai server database "MySQL serupa". Jika Anda lebih memilih MySQL daripada MariaDB, ganti "mariadb-client mariadb-server" pada perintah di atas dengan "mysql-client mysql-server".

Anda akan ditanya pertanyaan berikut:

Buat sertifikat SSL yang ditandatangani sendiri? <-- yes
Nama host:<-- server1.example.com
Jenis umum konfigurasi email:<-- Situs Internet
Nama email sistem:<-- server1.example.com

Selanjutnya buka TLS/SSL dan port pengiriman di Postfix:

nano /etc/postfix/master.cf

Batalkan komentar pada bagian kiriman dan smtps sebagai berikut - tambahkan baris -o smtpd_client_restrictions=permit_sasl_authenticated,tolak kedua bagian dan tinggalkan semuanya setelahnya dikomentari:

[...]pengajuan inet n - - - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=ya -o smtpd_client_restrictions_restrictions=permit # -O smtpd_reject_unlisted_recipient =no # -o smtpd_client_restrictions =$ mua_client_restrictions # -o smtpd_helo_restrictions =$ mua_helo_restrictions # -o smtpd_sender_restrictions =$ mua_sender_restrictions # -o smtpd_recipient_restrictions =permit_sasl_authenticated, menolak # -o milter_macro_daemon_name =ORIGINATINGsmtps inet n - - - - smtpd -o syslog_name=postfix/smtps -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject # -O smtpd_reject_unlisted_recipient =no # -o smtpd_client_restrictions =$ mua_client_restrictions # -o smtpd_helo_restrictions =$ mua_helo_restrictions # -o smtpd_sender_restrictions =$ mua_sender_restrictions # -o smtpd_recipient_restrictions =permit_sasl_authenticated, menolak # -o milter_macro_daemon_name =BERASAL [...] 

Mulai ulang Postfix sesudahnya:

service postfix restart

Kami ingin MariaDB/MySQL mendengarkan di semua antarmuka, bukan hanya localhost. Oleh karena itu kami mengedit /etc/mysql/mariadb.conf.d/mysqld.cnf (untuk MariaDB atau /etc/mysql/my.cnf (untuk MySQL) dan mengomentari baris bind-address =127.0.0.1:

MariaDB

nano /etc/mysql/mariadb.conf.d/mysqld.cnf

Sekarang kita menetapkan kata sandi root di MariaDB. Jalankan:

mysql_secure_installation

Anda akan ditanyai pertanyaan berikut:

Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada):<-- tekan enter
Tetapkan kata sandi root? [Y/n] <-- y
Kata sandi baru:<-- Masukkan kata sandi root MariaDB baru di sini
Masukkan kembali kata sandi baru:<-- Ulangi kata sandi
Hapus pengguna anonim? [Y/n] <-- y
Larang login root dari jarak jauh? [Y/n] <-- y
Muat ulang tabel hak istimewa sekarang? [Y/n] <-- y

Kemudian jalankan perintah ini untuk menonaktifkan plugin auth:

echo "perbarui set plugin pengguna='' di mana Pengguna='root';hak flush;" | mysql --defaults-file=/etc/mysql/debian.cnf mysql

Untuk mengizinkan otentikasi berbasis kata sandi dari PHPMyAdmin.

MySQL

nano /etc/mysql/my.cnf
[...]# Alih-alih melewatkan jaringan, defaultnya sekarang hanya mendengarkan di# localhost yang lebih kompatibel dan tidak kalah aman.# bind-address =127.0.0.1[...]

Kemudian kita restart MariaDB / MySQL:

layanan mysql restart

Nama layanan systemd untuk MariaDB dan MySQL adalah "mysql", jadi perintah restart sama untuk keduanya.

Sekarang periksa apakah jaringan diaktifkan. Jalankan:

netstat -ketuk | grep mysql

Outputnya akan terlihat seperti ini:

[email protected]:~# netstat -tap | grep mysql
tcp        0      0 *:mysql               *:*                  DENGARKAN      23785/mysqld    
[email]

7. Instal Amavisd-new, SpamAssassin, Dan Clamav

Untuk menginstal amavisd-new, SpamAssassin, dan ClamAV, kami menjalankan

apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perl libauthen-sasl-perl clamav-docs daemon libio-string-perl libio-socket-s perl libnet-ident-perl zip libnet-dns-perl

Penyiapan ISPConfig 3 menggunakan amavisd-new yang memuat pustaka filter SpamAssassin secara internal, sehingga kami dapat menghentikan SpamAssassin untuk mengosongkan RAM:

penghentian spamassassin layanan
update-rc.d -f penghapusan spamassassin

Untuk memperbarui tanda tangan antivirus ClamAV dan memulai layanan Clamd. Proses pembaruan dapat memakan waktu cukup lama, jangan diganggu.

freshclam
layanan clamav-daemon dimulai

Ubuntu
  1. Server Sempurna - Ubuntu 14.10 (nginx, BIND, Dovecot, ISPConfig 3)

  2. Server Sempurna - Ubuntu 17.10 (Artful Aardvark) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

  3. Server Sempurna - Ubuntu 16.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3.1)

  1. Server Sempurna - Ubuntu 15.10 (nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3)

  2. Server Sempurna - Ubuntu 16.10 (Yakkety Yak) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

  3. Server Sempurna - Ubuntu 18.04 (Nginx, MySQL, PHP, Postfix, BIND, Dovecot, Pure-FTPD dan ISPConfig 3.1)

  1. Server Sempurna - Ubuntu 14.04 (nginx, BIND, MySQL, PHP, Postfix, Dovecot dan ISPConfig 3)

  2. Server Sempurna - Ubuntu 17.04 (Zesty Zapus) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

  3. Server Sempurna - Ubuntu 20.04 dengan Apache, PHP, MariaDB, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.2