GNU/Linux >> Belajar Linux >  >> Ubuntu

Server Sempurna - Ubuntu 18.04 (Bionic Beaver) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3.1

Tutorial ini menunjukkan penginstalan server hosting web Ubuntu 18.04 (Bionic Beaver) dengan Apache 2.4, Postfix, Dovecot, Bind, dan PureFTPD untuk mempersiapkannya untuk penginstalan ISPConfig 3.1. Sistem yang dihasilkan akan menyediakan Web, Mail, Mailinglist, DNS dan Server FTP.

ISPConfig adalah panel kontrol hosting web yang memungkinkan Anda mengonfigurasi layanan berikut melalui browser web:server web Apache atau Nginx, server email Postfix, server IMAP/POP3 Courier atau Dovecot, server nama MySQL, BIND atau MyDNS, PureFTPd, SpamAssassin, ClamAV , dan masih banyak lagi. Pengaturan ini mencakup instalasi Apache (bukan Nginx), BIND (bukan MyDNS), dan Dovecot (bukan Courier).

1. Catatan Awal

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

Perintah dalam tutorial ini harus dijalankan dengan izin root. Untuk menghindari penambahan sudo di depan setiap perintah, Anda harus menjadi pengguna root dengan menjalankan:

sudo -s

sebelum Anda melanjutkan.

2. Edit /etc/apt/sources.list Dan 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. Setelah itu akan terlihat seperti ini:

nano /etc/apt/sources.list
#

# deb cdrom:[Ubuntu-Server 18.04 LTS _Bionic Beaver_ - Rilis amd64 (20180425.1)]/ bionic main terbatas

#deb cdrom:[Ubuntu- Server 18.04 LTS _Bionic Beaver_ - Rilis amd64 (20180425.1)]/ bionic main terbatas

# Lihat http://help.ubuntu.com/community/UpgradeCatatan untuk cara meningkatkan ke
# yang lebih baru versi distribusi.
deb http://de.archive.ubuntu.com/ubuntu/ bionic main terbatas
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic main terbatas

## Pembaruan perbaikan bug utama yang dihasilkan setelah rilis final distribusi
##.
deb http://de.archive.ubuntu.com/ubuntu/ bionic-updates utama dibatasi
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-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/ bionic universe
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic universe
deb http://de.archive.ubuntu.com/ubuntu/ bionic-updates universe
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-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/ bionic multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://de.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-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 apa pun dari tim keamanan Ubuntu.
deb http://de.archive.ubuntu.com/ubuntu/ bionic-backports multiverse alam semesta terbatas utama
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-backports multiverse alam semesta terbatas utama

## Batalkan komentar pada dua baris berikut untuk ditambahkan perangkat lunak dari repositori 'partner' Canonical
##.
## 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 bionic partner
# deb-src http://archive.canonical.com/ubuntu bionic partner

deb http ://security.ubuntu.com/ubuntu bionic-security r utama estricted
# deb-src http://security.ubuntu.com/ubuntu bionic-security main terbatas
deb http://security.ubuntu.com/ubuntu bionic-security universe
# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
deb http://security.ubuntu.com/ubuntu bionic-security multiverse
# deb-src http:// security.ubuntu.com/ubuntu bionic-security multiverse

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. 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 hapus apparmor apparmor-utils

5. Sinkronkan Jam Sistem

Sebaiknya sinkronisasi jam sistem dengan NTP (n jaringan t waktu p rotocol) server melalui Internet saat Anda menjalankan server fisik. Jika Anda menjalankan server virtual maka Anda harus melewati langkah ini. Jalankan saja

apt-get -y install ntp

dan waktu sistem Anda akan selalu sinkron.

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

Untuk menginstal postfix, kita perlu memastikan bahwa sendmail tidak diinstal dan dijalankan. Untuk menghentikan dan menghapus sendmail, jalankan perintah ini:

layanan sendmail berhenti; update-rc.d -f sendmail hapus

Pesan kesalahan:

Gagal menghentikan sendmail.service:Unit sendmail.service tidak dimuat.

Oke, itu hanya berarti sendmail tidak diinstal, jadi tidak ada yang perlu dihapus.

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

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

Anda akan ditanya pertanyaan berikut:

Jenis umum konfigurasi email:<-- Situs Internet
Nama email sistem:<-- server1.example.com

Penting bahwa Anda menggunakan subdomain sebagai "nama email sistem" seperti server1.example.com atau server1.domainanda.com dan bukan domain yang ingin Anda gunakan sebagai domain email (mis. domainAnda.tld) ​​nanti.

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 - y - - smtpd -o syslog_name=postfix/submission -o smtpd_tls_security_level=encrypt -o smtpd_sasl_auth_enable=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_resticated tolak # -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 - y - - 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 [...] 

CATATAN: Spasi putih di depan garis "-o .... " penting!

Mulai ulang Postfix sesudahnya:

service postfix restart

Kami ingin MySQL mendengarkan di semua antarmuka, bukan hanya localhost. Oleh karena itu, kita edit /etc/mysql/mariadb.conf.d/50-server.cnf dan beri komentar pada baris bind-address =127.0.0.1:

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

[...]

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

Setel metode otentikasi kata sandi di MariaDB ke asli sehingga kami dapat menggunakan PHPMyAdmin nanti untuk terhubung sebagai pengguna root:

echo "perbarui mysql.user set plugin ='mysql_native_password' di mana user='root';" | mysql -u root

Edit file /etc/mysql/debian.cnf dan setel kata sandi root MYSQL / MariaDB di sana dua kali di baris yang dimulai dengan kata sandi.

nano /etc/mysql/debian.cnf

Kata sandi root MySQL yang perlu ditambahkan ditampilkan dalam read, dalam contoh ini kata sandinya adalah "howtoforge". Ganti kata "howtoforge" dengan kata sandi yang telah Anda tetapkan untuk pengguna root MySQL dengan perintah mysql_secure_installation.

# Secara otomatis dibuat untuk skrip Debian. JANGAN SENTUH!
[klien]
host =localhost
user =root
sandi = howtoforge
socket =/var/run/mysqld/mysqld.sock
[mysql_upgrade]
host =localhost
user =root
password =howtoforge
socket =/var/run/mysqld/mysqld.sock
basedir =/usr

Kemudian kita restart MariaDB:

layanan mysql restart

Sekarang periksa apakah jaringan diaktifkan. Jalankan

netstat -ketuk | grep mysql

Outputnya akan terlihat seperti ini:

[email protected]:~# netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 30591/mysqld
[email protected]:~#

7. Instal Amavisd-new, SpamAssassin, dan Clamav

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

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

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

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

Untuk memulai penggunaan ClamAV:

freshclam
layanan clamav-daemon dimulai

Kesalahan berikut dapat diabaikan saat menjalankan freshclam pertama.

ERROR:/var/log/clamav/freshclam.log dikunci oleh proses lain
ERROR:Masalah dengan logger internal (UpdateLogFile =/var/log/clamav/freshclam.log).

Program amavisd-new saat ini memiliki bug di Ubuntu 18.04 yang mencegah email tersebut ditandatangani dengan Dkim dengan benar. Jalankan perintah berikut untuk menambal amavisd-new.

cd /tmp
wget https://git.ispconfig.org/ispconfig/ispconfig3/raw/stable-3.1/helper_scripts/ubuntu-amavisd-new-2.11.patch
cd /usr/ sbin
cp -pf amavisd-new amavisd-new_bak
patch

Jika Anda mendapatkan kesalahan untuk perintah 'patch' terakhir, maka Ubuntu mungkin telah memperbaiki masalah tersebut untuk sementara, jadi sebaiknya aman untuk mengabaikan kesalahan itu.

7.1 Instal Server Metronom XMPP (opsional)

Server XMPP Metronom menyediakan server obrolan XMPP. Langkah ini opsional, jika Anda tidak memerlukan server obrolan, maka Anda dapat melewati langkah ini. Tidak ada fungsi ISPConfig lain yang bergantung pada perangkat lunak ini.

Instal paket berikut dengan apt.

apt-get -y install git lua5.1 liblua5.1-0-dev lua-filesystem libidn11-dev libssl-dev lua-zlib lua-expat lua-event lua-bitop lua-socket lua-sec luarocks luarocks 
luarocks install lpc

Tambahkan pengguna shell untuk Metronom.

adduser --no-create-home --disabled-login --gecos metronom 'Metronome'

Unduh Metronom ke direktori /opt dan kompilasi.

cd /opt; git clone https://github.com/maranda/metronome.git metronom
cd ./metronom; ./configure --ostype=debian --prefix=/usr
make
make install

Metronom sekarang telah diinstal ke /opt/metronom.


Ubuntu
  1. Server Sempurna - Ubuntu 15.04 (Vivid Vervet) dengan Apache, PHP, MySQL, PureFTPD, BIND, Postfix, Dovecot, dan ISPConfig 3

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

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

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

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

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

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

  2. Server Sempurna - Ubuntu 16.04 (Xenial Xerus) 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)