Anda di halaman 1dari 32

Server Sempurna - Ubuntu 16.

04 (Nginx,
MySQL, PHP, Postfix, BIND, Dovecot, Pure-
FTPD dan ISPConfig 3.1)

Tutorial ini ada untuk versi OS ini

Ubuntu 16.04 (Xenial Xerus)


Ubuntu 15.10 (Wily Werewolf)
Ubuntu 15.04 (Vivid Vervet)
Ubuntu 14.10 (Unicorn Utopic)
Ubuntu 14.04 LTS (Trusty Tahr)
Ubuntu 13.04 (Raring Ringtail)
Di halaman ini

1. Catatan Awal
2. Update Instalasi Linux Anda
3. Ganti Shell Default
4. Nonaktifkan AppArmor
5. Sinkronkan Jam Sistem
6. Instal Postfix, Dovecot, MariaDB, phpMyAdmin, rkhunter, Binutils
7. Instal Amavisd-baru, SpamAssassin, dan ClamAV
7.1 Memasang Server XMPP Metronom (opsional)
Tutorial ini menunjukkan langkah-langkah untuk menginstal server Ubuntu 16.04 (Xenial Xerus)
dengan Nginx, PHP, MariaDB, Postfix, pure-ftpd, BIND, Dovecot dan ISPConfig 3.1. ISPConfig
adalah panel kontrol web hosting yang memungkinkan Anda untuk mengkonfigurasi layanan
yang terinstal melalui browser web.Penyiapan ini menyediakan server hosting lengkap dengan
filter web, email (spam dan antivirus), layanan Database, FTP dan 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. Setelan ini
mungkin berbeda untuk Anda, jadi Anda harus menggantinya bila sesuai. Sebelum melangkah
lebih jauh, Anda perlu memiliki instalasi minimal Ubuntu 16.04 seperti yang dijelaskan
di tutorial .
Langkah-langkah dalam tutorial ini harus dijalankan sebagai root user, jadi saya tidak akan
menambahkan "sudo" di depan perintah. Entah Login sebagai pengguna root ke server Anda
sebelum Anda melanjutkan atau menjalankan:

Sudo -s

Untuk menjadi root ketika Anda login sebagai user yang berbeda pada shell.
Perintah untuk mengedit file akan menggunakan editor "nano", Anda bisa 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. Update Instalasi Linux Anda
Edit /etc/apt/sources.list . Keluarkan atau hapus CD instalasi dari file dan pastikan
bahwa repositori semesta dan multiversediaktifkan. Seharusnya terlihat seperti ini:

Nano /etc/apt/sources.list

# Deb cdrom: [Ubuntu-Server 16.04 LTS _Xenial Xerus_ - Rilis amd64 (20160420
)] / xenial main restricted

#deb cdrom: [Ubuntu-Server 16.04 LTS _Xenial Xerus_ - Rilis amd64 (20160420)
] / xenial main restricted

# Lihat http://help.ubuntu.com/community/UpgradeNotes untuk mengupgrade ke


# Versi distribusi yang lebih baru.
Deb http://de.archive.ubuntu.com/ubuntu/ xenial utama dibatasi
# Deb-src http://de.archive.ubuntu.com/ubuntu/ xenial main restricted

Update update bug utama yang dihasilkan setelah rilis final


## distribusi.
Deb http://de.archive.ubuntu.com/ubuntu/ xenial-update main restricted
# Deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-update main restricted

Perangkat lunak NB dari repositori ini TIDAK DAPAT DITANGGUHKAN oleh Ubuntu
## tim, dan mungkin tidak berada di bawah lisensi gratis. Mohon untuk memua
skan diri sendiri
## hak Anda untuk menggunakan perangkat lunak. Juga, perlu diketahui bahwa
perangkat lunak di
## universe TIDAK AKAN menerima review atau update apapun dari keamanan Ubun
tu
## tim.
Deb http://de.archive.ubuntu.com/ubuntu/ xenial universe
# Deb-src http://de.archive.ubuntu.com/ubuntu/ xenial universe
Deb http://de.archive.ubuntu.com/ubuntu/ xenial-update universe
# Deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-update universe

Perangkat lunak NB dari repositori ini TIDAK DAPAT DITANGGUHKAN oleh Ubuntu
## tim, dan mungkin tidak berada di bawah lisensi gratis. Mohon untuk memua
skan diri sendiri
## hak Anda untuk menggunakan perangkat lunak. Juga, perlu diketahui bahwa
perangkat lunak di
## multiverse TIDAK AKAN menerima review atau update dari Ubuntu
## tim keamanan.
Deb http://de.archive.ubuntu.com/ubuntu/ xenial multiverse
# Deb-src http://de.archive.ubuntu.com/ubuntu/ xenial multiverse
Deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
# Deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates multiverse

Perangkat lunak NB dari repositori ini mungkin belum diuji sebagai


## secara ekstensif seperti yang terkandung dalam rilis utama, meskipun term
asuk
Versi yang lebih baru dari beberapa aplikasi yang mungkin menyediakan fitur
yang bermanfaat.
## Juga, perlu diketahui bahwa perangkat lunak di backports TIDAK AKAN mener
ima ulasan apapun
## atau update dari tim keamanan Ubuntu.
Deb http://de.archive.ubuntu.com/ubuntu/ xenial-backports semesta semesta mu
ltiverse terbatas utama
# Deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-backports semesta seme
sta terbatas terbatas multiverse
# Uncomment dua baris berikut untuk menambahkan perangkat lunak dari Canonic
al's
Repositori 'mitra'.
Perangkat lunak ini bukan bagian dari Ubuntu, namun ditawarkan oleh Canonica
l dan
## masing-masing vendor sebagai layanan untuk pengguna Ubuntu.
# Deb http://archive.canonical.com/ubuntu xenial partner
# Deb-src http://archive.canonical.com/ubuntu xenial partner

Deb http://security.ubuntu.com/ubuntu xenial-security main restricted


# Deb-src http://security.ubuntu.com/ubuntu xenial-security main restricted
Deb http://security.ubuntu.com/ubuntu xenial-security universe
# Deb-src http://security.ubuntu.com/ubuntu xenial-security universe
Deb http://security.ubuntu.com/ubuntu xenial-security multiverse
# Deb-src http://security.ubuntu.com/ubuntu xenial-security multiverse

Lalu jalankan:

Apt-get update

Untuk memperbarui database paket apt dan kemudian:

Apt-get upgrade

Untuk menginstal update terbaru (jika ada). Jika Anda melihat bahwa sebuah kernel baru diinstal
sebagai bagian dari pembaruan, Anda harus me-reboot sistem sesudahnya:

Reboot

3. Ganti Shell Default


/ Bin / sh adalah symlink ke / bin / dash , namun kita membutuhkan / bin / bash ,
not / bin / dash . Oleh karena itu kami melakukan ini:
Dpkg-reconfigure dash

Gunakan tanda hubung sebagai shell sistem default (/ bin / sh)? <- tidak
Jika Anda tidak melakukan ini, instalasi ISPConfig akan gagal.
4. Nonaktifkan AppArmor
AppArmor adalah ekstensi keamanan (mirip dengan SELinux) yang harus memberikan keamanan
yang lebih lama. Kami akan mengecek apakah sudah terpasang dan menghapusnya jika
perlu. Menurut pendapat saya Anda tidak memerlukannya untuk mengkonfigurasi sistem yang
aman, dan biasanya menyebabkan lebih banyak masalah daripada keuntungan (pikirkan setelah
Anda selesai seminggu mengalami trouble shooting karena beberapa layanan tidak berjalan
seperti yang diharapkan, dan kemudian Anda Cari tahu 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 bisa mematikannya seperti ini:

Layanan apparmor berhenti


Update-rc.d -f apparmor remove
Apt-get remove apparmor apparmor-utils

5. Sinkronkan Jam Sistem


Sebaiknya sinkronkan jam sistem dengan server NTP ( n etwork t ime p rotocol) melalui
Internet. Lari saja

Apt-get -y install ntp ntpdate

Dan waktu sistem Anda akan selalu sinkron.


6. Instal Postfix, Dovecot, MariaDB, phpMyAdmin,
rkhunter, Binutils
Untuk menginstal postfix, kita perlu memastikan bahwa sendmail tidak terpasang dan
berjalan. Untuk menghentikan dan menghapus sendmail jalankan perintah ini:

Layanan sendmail berhenti; Update-rc.d -f sendmail hapus

Pesan kesalahannya:
Gagal menghentikan sendmail.service: Unit sendmail.service tidak
dimuat.
Is ok, itu hanya berarti sendmail tidak terpasang, jadi tidak ada yang bisa dilepas.
Kita bisa menginstal Postfix, Dovecot, MariaDB (sebagai penggantinya 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

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 perkembangannya terus berlanjut dengan kecepatan yang lebih banyak, oleh karena
itu, sebagian besar distribusi Linux menggantikan MySQL dengan MariaDB sebagai server
database "MySQL yang sama". Jika Anda lebih menyukai MySQL daripada MariaDB, ganti
"mariadb-client mariadb-server" di perintah di atas dengan "mysql-client mysql-server".
Anda akan ditanyai pertanyaan berikut:
Umum jenis konfigurasi mail: <- Situs Internet
Nama surat sistem: <- server1.example.com
Selanjutnya buka port TLS / SSL dan submission di Postfix:

Nano /etc/postfix/master.cf

Uncomment bagian pengiriman dan smtps sebagai berikut - tambahkan baris -o


smtpd_client_restrictions = permit_sasl_authenticated, tolak ke kedua
bagian dan tinggalkan semuanya setelah berkomentar:

[...]

Penyerahan inet n - - - - smtpd

-o syslog_name = postfix / submission

-o smtpd_tls_security_level = mengenkripsi

-o smtpd_sasl_auth_enable = iya

-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, reject

# -o milter_macro_daemon_name = ORIGINATING

Smtps inet n - - - - smtpd

-o syslog_name = postfix / smtps

-o smtpd_tls_wrappermode = ya

-o smtpd_sasl_auth_enable = iya

-o smtpd_client_restrictions = permit_sasl_authenticated, 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, reject

# -o milter_macro_daemon_name = ORIGINATING

[...]

Restart Postfix sesudahnya:

Layanan postfix restart

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

Nano /etc/mysql/mariadb.conf.d/50-server.cnf

[...]

# Alih-alih melewatkan-jaringan default sekarang hanya untuk mendengarkan

# Localhost yang lebih kompatibel dan tidak kalah aman.

# Bind-address = 127.0.0.1

[...]

Lalu kita restart MariaDB:

Layanan mysql restart

Nama layanan systemd untuk MariaDB dan MySQL adalah " mysql ", jadi perintah restart sama
untuk kedua server database.
Sekarang kita tentukan password root di MariaDB. Menjalankan:

Mysql_secure_installation

Anda akan ditanyai pertanyaan berikut:


Masukkan password saat ini untuk root (enter for none): <- tekan enter
Tetapkan kata sandi root [Y / n] <- y
Kata sandi baru: <- Masukkan password root MariaDB baru di sini
Masukkan kembali kata sandi baru: <- Ulangi kata sandinya
Hapus pengguna anonim [Y / n] <- y
Larang login root dari jarak jauh? [Y / n] <- y
Muat ulang tabel privilege sekarang? [Y / n] <- y
MySQL

Nano /etc/mysql/my.cnf

[...]

# Alih-alih melewatkan-jaringan default sekarang hanya untuk mendengarkan

# Localhost yang lebih kompatibel dan tidak kalah aman.

# Bind-address = 127.0.0.1

[...]

Lalu kita restart MySQL:

Layanan mysql restart

Nama layanan systemd untuk MariaDB dan MySQL adalah "mysql", jadi perintah restart sama
untuk kedua server database.
Untuk MySQL dan MariaDB:
Sekarang periksa apakah jaringan diaktifkan. Menjalankan:

Netstat -tap | Grep mysql

Outputnya akan terlihat seperti ini:


Root @ server1: ~ # netstat -tap | Grep mysql
Tcp6 0 0 [::]: mysql [::]: * DENGARKAN 13796 / mysqld
Root @ server1: ~ #
7. Instal Amavisd-baru, SpamAssassin, dan ClamAV
Untuk menginstal amavisd-new, SpamAssassin, dan ClamAV, kita jalankan

Apt-get -y 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-ssl-perl Libnet-ident-perl zip
libnet-dns-perl postgrey

Penyiapan ISPConfig 3 menggunakan amavisd-new yang memuat filter SpamAssassin secara


internal, sehingga kita dapat menghentikan SpamAssassin untuk membebaskan RAM:

Layanan spamassassin berhenti


Update-rc.d -f spamassassin hapus

Edit file konfigurasi clamd:


Nano /etc/clamav/clamd.conf

Dan ubah barisnya:

AllowSupplementaryGroups salah

untuk:

AllowSupplementaryGroups benar

Dan simpan file tersebut.


Untuk memperbarui tanda tangan antivirus ClamAV dan memulai layanan Clamd. Proses update
bisa memakan waktu lama, jangan ganggu.

Service clamav-freshclam restart


Layanan clamav-daemon mulai

7.1 Memasang Server XMPP Metronom (opsional)


The Metronome XMPP Server menyediakan server chat XMPP. Langkah ini bersifat opsional, jika
Anda tidak memerlukan server chat, maka Anda bisa melewati langkah ini. Tidak ada fungsi
ISPConfig lain yang bergantung pada software 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 dari lain

Diluarocks install lpc

Tambahkan pengguna shell untuk Metronome.

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

Download Metronome ke direktori / opt dan kompilasi.

Cd / opt; Git klon https://github.com/maranda/metronome.git metronom


Cd ./metronome; ./configure --ostype = debian --prefix = / usr
membuat
Buat install

Metronom sekarang telah dipasang ke / opt / metronom.

8. Instal Nginx, PHP5 (PHP-FPM), dan Fcgiwrap


Nginx tersedia sebagai paket untuk Ubuntu yang bisa kita install dengan perintah berikut:
Apt-get install nginx

Ketika Apache2 sudah terinstal di sistem, hentikan sekarang ...

Layanan apache2 berhenti

... dan hapus link startup sistem Apache:

Update-rc.d -f apache2 hapus

Mulai nginx sesudahnya:

Layanan nginx mulai

(Jika kedua Apache2 dan nginx terinstal, installer ISPConfig 3 akan menanyakan yang mana
yang ingin Anda gunakan - jawab nginx dalam kasus ini. Jika hanya satu dari keduanya
terpasang, ISPConfig akan melakukan konfigurasi yang diperlukan secara otomatis.)
Kita bisa membuat PHP 7 bekerja dalam nginx melalui PHP-FPM (PHP-FPM (FastCGI Process
Manager) adalah sebuah alternatif implementasi PHP FastCGI dengan beberapa fitur tambahan
yang berguna untuk situs dengan ukuran apapun, terutama situs yang ramai) yang kita pasang
sebagai berikut:

Apt-get -y install php7.0-fpm

PHP-FPM adalah proses daemon yang menjalankan server FastCGI di


socket /var/run/php/php7.0-fpm.sock .
Untuk mendapatkan dukungan MySQL di PHP, kita bisa menginstal paket php7.0-
mysql . Sebaiknya pasang beberapa modul PHP5 lainnya dan Anda memerlukannya untuk
aplikasi Anda. Anda bisa mencari modul PHP5 yang tersedia seperti ini:

Pencarian apt-cache php7.0

Pilih yang Anda butuhkan dan pasang seperti ini:

Apt-get -y install php7.0-opcache php7.0-fpm php7.0 php7.0-umum php7.0-gd php7.0-


mysql php7.0-imap php7.0-cli php7.0-cgi php -pay php-auth php7.0-mcrypt mcrypt
imagemagick libruby php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-
sqlite3 php7.0-rapi php7.0-xmlrpc php7. 0-xsl memcached php-memcache php-imagick
php-gettext php7.0-zip php7.0-mbstring

Ekstensi mbstring dan mcrypt perlu diaktifkan secara manual.


Phpenmod mcrypt
Phpenmod mbstring

APCu adalah ekstensi PHP untuk PHP 7 Opcache yang menambahkan lapisan kompatibilitas
untuk perangkat lunak yang menggunakan PHP APC Cache.
APCu bisa dipasang sebagai berikut:

Apt-get -y install php-apcu

Selanjutnya buka /etc/php/7.0/fpm/php.ini ...

Nano /etc/php/7.0/fpm/php.ini

... dan set cgi.fix_pathinfo = 0 dan zona waktu Anda:

[...]

Cgi.fix_pathinfo = 0

[...]

Date.timezone = "Eropa / Berlin"

[...]

(Anda dapat menemukan semua zona waktu yang tersedia di direktori / usr / share /
zoneinfo dan subdirektorinya.)
Sekarang muat ulang PHP-FPM:

Layanan php7.0-fpm reload

Untuk mendapatkan dukungan CGI di nginx, kami menginstal Fcgiwrap.


Fcgiwrap adalah pembungkus CGI yang harus bekerja juga untuk skrip CGI yang kompleks dan
dapat digunakan untuk lingkungan shared hosting karena memungkinkan setiap vhost untuk
menggunakan direktori cgi-bin miliknya sendiri.
Instal paket fcgiwrap :

Apt-get -y install fcgiwrap

Setelah pemasangan, dasmon fcgiwrap seharusnya sudah


dimulai; Soketnya adalah /var/run/fcgiwrap.socket . Jika tidak berjalan, Anda
bisa menggunakan script /etc/init.d/fcgiwrap untuk memulainya .
Itu dia! Sekarang saat Anda membuat nginx vhost, ISPConfig akan mengurus konfigurasi vhost
yang benar.
8.1 Versi PHP Tambahan

Dimulai dengan ISPConfig 3.0.5, adalah mungkin untuk memiliki beberapa versi PHP pada satu
server (dapat dipilih melalui ISPConfig) yang dapat dijalankan melalui PHP-FPM. Untuk
mempelajari bagaimana membangun versi PHP tambahan (PHP-FPM) dan cara mengkonfigurasi
ISPConfig, silakan cek tutorial ini: Bagaimana Menggunakan Beberapa Versi PHP (PHP-FPM &
FastCGI) Dengan ISPConfig 3 (Ubuntu 12.10) (bekerja untuk Ubuntu 16.04 as baik).
8.2 Instal phpMyAdmin

Instal phpMyAdmin sebagai berikut:

Apt-get -y install phpmyadmin php-mbstring php-gettext

Anda akan melihat pertanyaan berikut:


Web server untuk mengkonfigurasi ulang secara otomatis: <- pilih none
(karena hanya apache2 dan lighttpd yang tersedia sebagai pilihan)
Password aplikasi MySQL untuk phpmyadmin: <- Tekan Enter
Anda sekarang dapat menemukan phpMyAdmin di direktori / usr / share / phpmyadmin
/.
Setelah Anda menginstal ISPConfig 3, Anda dapat mengakses phpMyAdmin sebagai berikut:
Aplikasi ISPConfig vhost pada port 8081 untuk nginx hadir dengan konfigurasi phpMyAdmin, jadi
Anda dapat menggunakan
http://server1.example.com:8081/phpmyadmin atau http://server1.example.co
m:8081/phpMyAdmin untuk mengakses phpMyAdmin.
Jika Anda ingin menggunakan alias / phpmyadmin atau / phpMyAdmin yang dapat Anda
gunakan dari situs web Anda, ini sedikit lebih rumit daripada Apache karena nginx tidak memiliki
alias global (yaitu, alias yang dapat didefinisikan untuk semua vhost). Oleh karena itu Anda
harus mendefinisikan alias ini untuk setiap vhost yang ingin Anda akses ke phpMyAdmin.
Untuk melakukan ini, tempelkan yang berikut ke bidang Petunjuk nginx di tab Opsi pada
situs web di ISPConfig:

Lokasi / phpmyadmin {root / usr / share /; Indeks index.php indeks.h


tml index.htm; Lokasi ~ ^ / phpmyadmin / (. + \. Php) $ {try_files $ uri = 40
4; Root / usr / share /; Fastcgi_pass unix: /var/run/php/php7.0-fpm.sock; F
astcgi_index index.php; Fastcgi_param SCRIPT_FILENAME $ request_filename; Se
rtakan / etc / nginx / fastcgi_params; Fastcgi_param PATH_INFO $ fastcgi_scri
pt_name; Fastcgi_buffer_size 128k; Fastcgi_buffers 256 4k; Fastcgi_busy_buf
fers_size 256k; Fastcgi_temp_file_write_size 256k; Fastcgi_intercept_errors
on; } Lokasi ~ * ^ / phpmyadmin / (. + \. (Jpg | jpeg | gif | css | png | js
| ico | html | xml | txt)) $ {root / usr / share /; }} Lokasi / phpMyAdmin {r
ewrite ^ / * / phpmyadmin terakhir; }

Jika Anda menggunakan https alih-alih http untuk vhost Anda, Anda
harus menambahkan baris fastcgi_param HTTPS; Ke konfigurasi phpMyAdmin anda seperti
ini:
Lokasi / phpmyadmin {

Root / usr / share /;

Indeks index.php indeks.html index.htm;

Lokasi ~ ^ / phpmyadmin / (. + \. Php) $ {

Try_files $ uri = 404;

Root / usr / share /;


Fastcgi_pass unix: /var/run/php/php7.0-fpm.sock;

Fastcgi_param HTTPS; # <- tambahkan baris ini

Fastcgi_index index.php;

Fastcgi_param SCRIPT_FILENAME $ request_filename;

Sertakan / etc / nginx / fastcgi_params;

Fastcgi_param PATH_INFO $ fastcgi_script_name;

Fastcgi_buffer_size 128k;

Fastcgi_buffers 256 4k;

Fastcgi_busy_buffers_size 256k;

Fastcgi_temp_file_write_size 256k;

Fastcgi_intercept_errors on;

Lokasi ~ * ^ / phpmyadmin / (. + \. (Jpg | jpeg | gif | css |


png | js | ico | html | xml | txt)) $ {

Root / usr / share /;

Lokasi / phpMyAdmin {

Menulis ulang ^ / * / phpmyadmin terakhir;

Jika Anda menggunakan http dan https untuk vhost Anda, Anda perlu menambahkan bagian
berikut ke bagian http {} di /etc/nginx/nginx.conf (sebelum menyertakan baris) yang
menentukan apakah pengunjung menggunakan http atau https dan set Variabel $
fastcgi_https (yang akan kita gunakan di konfigurasi phpMyAdmin kita) sesuai:

Nano /etc/nginx/nginx.conf

[...]

Http {

[...]

## Mendeteksi saat HTTPS digunakan

Peta $ scheme $ fastcgi_https {

Default off;

Https on;
}

[...]

[...]

Jangan lupa untuk reload nginx sesudahnya:

Layanan nginx reload

Lalu pergi ke bidang Petunjuk nginx lagi, dan bukannya HTTPS


fastcgi_param; Anda menambahkan baris fastcgi_param HTTPS $
fastcgi_https; Sehingga Anda dapat menggunakan phpMyAdmin untuk permintaan HTTP
dan HTTPS:

Lokasi / phpmyadmin {

Root / usr / share /;

Indeks index.php indeks.html index.htm;

Lokasi ~ ^ / phpmyadmin / (. + \. Php) $ {

Try_files $ uri = 404;

Root / usr / share /;

Fastcgi_pass unix: /var/run/php/php7.0-fpm.sock;

Fastcgi_param HTTPS $ fastcgi_https; # <- tambahkan b


aris ini

Fastcgi_index index.php;

Fastcgi_param SCRIPT_FILENAME $ request_filename;

Sertakan / etc / nginx / fastcgi_params;

Fastcgi_param PATH_INFO $ fastcgi_script_name;

Fastcgi_buffer_size 128k;

Fastcgi_buffers 256 4k;

Fastcgi_busy_buffers_size 256k;

Fastcgi_temp_file_write_size 256k;

Fastcgi_intercept_errors on;

Lokasi ~ * ^ / phpmyadmin / (. + \. (Jpg | jpeg | gif | css |


png | js | ico | html | xml | txt)) $ {
Root / usr / share /;

Lokasi / phpMyAdmin {

Menulis ulang ^ / * / phpmyadmin terakhir;

Ubuntu tidak mengizinkan login ke MySQL sebagai pengguna root melalui PHPMyAdmin
lagi. Tanpa hak istimewa root, Anda tidak dapat menggunakan PHPMyAdmin untuk mengelola
pengguna database atau membuat database. Untuk mengatasi masalah itu, saya akan membuat
user MySQL baru dengan nama "admin" di sini yang memiliki hak root. Pengguna admin ini bisa
digunakan untuk administrasi database di PHPMyAdmin.
Login ke database MySQL sebagai root user di shell:

Mysql -u root

Buat user baru "admin" dengan password "howtoforge". Ganti password "howtoforge" dengan
password yang aman pada perintah di bawah ini!

BUAT PENGGUNA 'admin' @ 'localhost' IDENTIFIKASI OLEH 'howtoforge';


GRANT ALL PRIVILEGES ON *. * TO 'admin' @ 'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
keluar

8.3 Instal HHVM (Mesin Virtual HipHop)

Pada langkah ini kita akan menginstall HHVM dengan apt. HHVM adalah mesin PHP cepat yang
dikembangkan oleh Facebook.

Apt-get -y install software-properties-common


Apt-key adv -recv-keys --keyserver hkp: //keyserver.ubuntu.com: 80
0x5a16e7281be7a449
Add-apt-repository "deb http://dl.hhvm.com/ubuntu xenial main"
Apt-get update
Apt-get -y install hhvm

8.4. Install Let's Encrypt

ISPConfig 3.1 memiliki dukungan built-in untuk Otoritas Sertifikat SSL gratis Mari kita
mengenkripsi. Fungsi Let's Encrypt memungkinkan Anda membuat Sertifikat SSL gratis untuk
situs web Anda di ISPConfig.
Sekarang kita akan menambahkan dukungan untuk Let's encrypt.

Apt-get -y install letsencrypt


9. Instal Mailman
ISPConfig juga memungkinkan Anda mengatur (create / modify / delete) Mailman mailing
list. Jika Anda ingin memanfaatkan fitur ini, instal Mailman sebagai berikut:

Apt-get -y install mailman

Pilih setidaknya satu bahasa, misal:


Bahasa yang mendukung: <- en (bahasa Inggris)
Daftar situs tidak ada <- Ok
Sebelum kita bisa memulai Mailman, sebuah mailing list pertama yang disebut mailman harus
dibuat:

Newlist mailman

Root @ server1: ~ # newlist mailman


Masukkan email orang yang menjalankan daftar: <- admin alamat email, misal
listadmin@example.com
Kata sandi pengirim awal: <- kata sandi admin untuk daftar mailman
Untuk menyelesaikan pembuatan milis Anda, Anda harus mengedit / etc /
aliases Anda (atau
Setara) file dengan menambahkan baris berikut, dan mungkin menjalankan
Program `newaliases ':

## mail milis
Mailman: "| / var / lib / mailman / mail / mailman post mailman"
Mailman-admin: "| / var / lib / mailman / mail / mailman admin mailman"
Mailman-bounces: "| / var / lib / mailman / mail / mailman bounces
mailman"
Mailman-confirm: "| / var / lib / mailman / mail / mailman confirm
mailman"
Mailman-join: "| / var / lib / mailman / mail / mailman join mailman"
Mailman-leave: "| / var / lib / mailman / mail / mailman tinggalkan
mailman"
Mailman-owner: "| / var / lib / mailman / mail / mailman pemilik
mailman"
Mailman-request: "| / var / lib / mailman / mail / mailman request
mailman"
Mailman-subscribe: "| / var / lib / mailman / mail / mailman
berlangganan mailman"
Mailman-unsubscribe: "| / var / lib / mailman / mail / mailman berhenti
berlangganan mailman"

Tekan enter untuk memberi tahu pemilik mailman ... <- ENTER

Root @ server1: ~ #
Buka / etc / aliases sesudahnya ...

Nano / etc / aliases


... dan tambahkan baris berikut:

[...]

## mail milis

Mailman: "| / var / lib / mailman / mail / mailman post mailman"

Mailman-admin: "| / var / lib / mailman / mail / mailman admin mailman"

Mailman-bounces: "| / var / lib / mailman / mail / mailman bounces mailman"

Mailman-confirm: "| / var / lib / mailman / mail / mailman confirm mailman"

Mailman-join: "| / var / lib / mailman / mail / mailman join mailman"

Mailman-leave: "| / var / lib / mailman / mail / mailman tinggalkan mailman"

Mailman-owner: "| / var / lib / mailman / mail / mailman pemilik mailman"

Mailman-request: "| / var / lib / mailman / mail / mailman request mailman"

Mailman-subscribe: "| / var / lib / mailman / mail / mailman berlangganan ma


ilman"

Mailman-unsubscribe: "| / var / lib / mailman / mail / mailman berhenti berl


angganan mailman"

Menjalankan

Newaliases

Setelah itu dan restart Postfix:

Layanan postfix restart

Kemudian jalankan daemon Mailman:

Service mailman mulai

Setelah Anda menginstal ISPConfig 3, Anda dapat mengakses Mailman sebagai berikut:
Aplikasi ISPConfig vhost pada port 8081 untuk nginx dilengkapi dengan konfigurasi Mailman, jadi
Anda dapat menggunakan http://server1.example.com:8081/cgi-
bin/mailman/admin/ <listname> atau http: //server1.example .com: 8081 /
cgi-bin / mailman / listinfo / <listname> untuk mengakses Mailman.
Jika Anda ingin menggunakan Mailman dari situs web Anda, ini sedikit lebih rumit daripada
Apache karena Nginx tidak memiliki alias global (yaitu, alias yang dapat didefinisikan untuk
semua vhost). Oleh karena itu, Anda harus menentukan alias ini untuk setiap vhost yang ingin
Anda akses Mailman.
Untuk melakukan ini, tempelkan yang berikut ke bidang Petunjuk nginx di tab Opsi pada
situs web di ISPConfig:
Lokasi / cgi-bin / mailman {
Root / usr / lib /;

Fastcgi_split_path_info (^ / cgi-bin / mailman /[^/]*)(.*)$;

Sertakan / etc / nginx / fastcgi_params;

Fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script


_name;

Fastcgi_param PATH_INFO $ fastcgi_path_info;

Fastcgi_param PATH_TRANSLATED $ document_root $ fastcgi_path_i


nfo;

Fastcgi_intercept_errors on;

Fastcgi_pass unix: /var/run/fcgiwrap.socket;

Lokasi / gambar / mailman {

Alias / usr / share / images / mailman;

Lokasi / pipermail {

Alias / var / lib / mailman / arsip / publik;

Autoindex aktif;

Ini mendefinisikan alias / cgi-bin / mailman / untuk vhost Anda, yang berarti Anda dapat
mengakses antarmuka admin Mailman untuk daftar di http: // <vhost> / cgi-bin /
mailman / admin / <listname> , dan Halaman web untuk pengguna milis dapat
ditemukan di http: // <vhost> / cgi-bin / mailman / listinfo / <listname> .
Di bawah http: // <vhost> / pipermail Anda bisa menemukan arsip milisnya .
10. Instal PureFTPd Dan Kuota
PureFTPd dan kuota dapat diinstal dengan perintah berikut:

Apt-get -y install pure-ftpd-common pure-ftpd-mysql quota quotatool

Edit file / etc / default / pure-ftpd-common ...

Nano / etc / default / pure-ftpd-common

... dan pastikan mode start diatur ke standalone dan setel VIRTUALCHROOT = true :

[...]
STANDALONE_OR_INETD = standalone

[...]

VIRTUALCHROOT = benar

[...]

Sekarang kita mengkonfigurasi PureFTPd untuk mengizinkan sesi FTP dan TLS. FTP adalah
protokol yang sangat tidak aman karena semua password dan semua data ditransfer dalam
bentuk teks yang jelas. Dengan menggunakan TLS, keseluruhan komunikasi bisa dienkripsi,
sehingga FTP jadi lebih aman.
Jika Anda ingin mengizinkan sesi FTP dan TLS, jalankan

Echo 1> / etc / pure-ftpd / conf / TLS

Agar bisa menggunakan TLS, kita harus membuat sertifikat SSL. Saya membuatnya di / etc /
ssl / private / , oleh karena itu saya membuat direktori itu terlebih dahulu:

Mkdir -p / etc / ssl / private /

Setelah itu, kita bisa menghasilkan sertifikat SSL sebagai berikut:

Openssl req-x509 -node -days 7300 -newkey rsa: 2048 -keyout /etc/ssl/private/pure-
ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Nama Negara (2 kode huruf) [AU]: <- Masukkan Nama Negara Anda (misalnya,
"DE").
Nama Negara Bagian atau Provinsi (nama lengkap) [Beberapa Negara]: <-
Masukkan Nama Negara Bagian atau Provinsi Anda.
Nama Lokalitas (misal, kota) []: <- Masukkan Kota Anda.
Nama Organisasi (mis., Perusahaan) [Internet Widgits Pty Ltd]: <-
Masukkan Nama Organisasi Anda (misalnya, nama perusahaan Anda).
Nama Unit Organisasi (misalnya, bagian) []: <- Masukkan Nama Unit
Organisasi Anda (misalnya "Departemen TI").
Nama Umum (misalnya, nama ANDA) []: <- Masukkan Nama Domain Berkualitas
lengkap dari sistem (misalnya "server1.example.com").
Alamat Email []: <- Masukkan Alamat Email anda.
Mengubah hak akses sertifikat SSL:

Chmod 600 /etc/ssl/private/pure-ftpd.pem

Kemudian restart PureFTPd:

Layanan pure-ftpd-mysql restart


Edit / etc / fstab . Saya terlihat seperti ini (saya menambahkan, usrjquota =
quota.user, grpjquota = quota.group, jqfmt = vfsv0 ke partisi dengan mount
point / ):

Nano / etc / fstab

# / Etc / fstab: informasi sistem file statis


#
# Gunakan 'blkid' untuk mencetak pengenal unik universal untuk a
# Perangkat; Ini bisa digunakan dengan UUID = sebagai cara yang lebih kuat
untuk memberi nama perangkat
# Yang bekerja bahkan jika disk ditambahkan dan dihapus. Lihat fstab (5).
#
# <File system> <mount point> <type> <options> <dump> <pass>
/ Dev / mapper / server1 - kesalahan vg-root / ext4 = remount-ro , usrjquota
= kuota.user, grpjquota = kuota.group, jqfmt = vfsv0 0 1
# / Boot ada di / dev / sda1 saat instalasi
UUID = 39762f15-3a49-4982-add3-139d5040b48a / boot ext2 default 0 2
/ Dev / mapper / server1 - vg-swap_1 tidak ada swap sw 0 0
/ Dev / fd0 / media / floppy0 auto rw, user, noauto, exec, utf8 0 0

Untuk mengaktifkan kuota, jalankan perintah berikut:

Mount -o remount /

Quotacheck -avugm
Kuotaon -avug

Pesan kesalahan berikut normal untuk perintah dan dapat diabaikan:


Quotacheck: Scanning / dev / mapper / server1 - vg-root [/] selesai
Quotacheck: Tidak bisa memasukkan file kuota pengguna lama
//quota.user: Tidak ada file atau direktori seperti itu. Penggunaan
tidak akan dikurangkan.
Quotacheck: Tidak bisa mengunci file kuota grup lama //quota.group:
Tidak ada file atau direktori seperti itu. Penggunaan tidak akan
dikurangkan.
Quotacheck: Tidak bisa memasukkan file kuota pengguna lama
//quota.user: Tidak ada file atau direktori seperti itu. Penggunaan
tidak akan dikurangkan.
Quotacheck: Tidak bisa mengunci file kuota grup lama //quota.group:
Tidak ada file atau direktori seperti itu. Penggunaan tidak akan
dikurangkan.
Quotacheck: Memeriksa 18566 direktori dan 110119 file
Quotacheck: File lama tidak ditemukan
Quotacheck: File lama tidak ditemukan
11. Instal BIND DNS Server
BIND terinstal sebagai berikut:
Apt-get -y install bind9 dnsutils haveged

Aktifkan dan mulailah haveged.

Systemctl memungkinkan haveged


Layanan haveged mulai

12. Instal Vlogger, Webalizer, dan AWStats


Vlogger, Webalizer, dan AWStats dapat diinstal sebagai berikut:

Apt-get -y install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl

Buka /etc/cron.d/awstats sesudahnya ...

Nano /etc/cron.d/awstats

... dan komentar semuanya dalam file itu:


# MAILTO = root

# * / 10 * * * * www-data [-x /usr/share/awstats/tools/update.sh] && /usr/sha


re/awstats/tools/update.sh

# Menghasilkan laporan statis:

# 10 03 * * * www-data [-x /usr/share/awstats/tools/buildstatic.sh] && /usr/s


hare/awstats/tools/buildstatic.sh

13. Instal Jailkit


Jailkit hanya dibutuhkan jika Anda ingin chroot pengguna SSH. Hal ini dapat diinstal sebagai
berikut ( penting: Jailkit harus diinstal sebelum ISPConfig - tidak dapat diinstal
setelahnya! ):

Apt-get -y install build-essential autoconf automake1.11 libtool flex bison


debhelper binutils

Cd / tmp
Wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz
Tar xvfz jailkit-2.19.tar.gz
Cd jailkit-2.19
./debian/rules binary
Anda sekarang bisa menginstal paket Jailkit .deb sebagai berikut:

Cd ..
Dpkg -i jailkit_2.19-1 _ *. Deb
Rm -rf jailkit-2.19 *

14. Instal fail2ban


Ini opsional tapi disarankan, karena monitor ISPConfig mencoba menampilkan log:

Apt-get -y install fail2ban

Untuk membuat monitor PurePad dan PurePad, buatlah file /etc/fail2ban/jail.local :

Nano /etc/fail2ban/jail.local

[Pureftpd]

Diaktifkan = benar

Port = ftp

Filter = pureftpd

Logpath = / var / log / syslog

Maxretry = 3

[Dovecot-pop3imap]

Diaktifkan = benar

Filter = dovecot-pop3imap

Action = iptables-multiport [nama = dovecot-pop3imap, port = "pop3, pop3s, i


map, imaps", protocol = tcp]

Logpath = / var / log / syslog

Maxretry = 5

[Postfix-sasl]

Diaktifkan = benar

Port = smtp

Filter = postfix-sasl

Logpath = / var / log / syslog


Maxretry = 3

Kemudian buat dua file filter berikut ini:

Nano /etc/fail2ban/filter.d/pureftpd.conf

[Definisi]

Failregex =. * Pure-ftpd: \ (. * @ <HOST> \) \ [PERINGATAN \] Otentikasi gag


al untuk pengguna. *

Ignoreregex =

Nano /etc/fail2ban/filter.d/dovecot-pop3imap.conf

[Definisi]

Gagal login = (?: Pop3-login | imap-login):. * (?: Kegagalan otentikasi | Ab


orted login \ (auth failed | Aborted login \ (mencoba menggunakan disabled | D
isconnected \ (auth failed | Aborted login \ (\ d + Upaya otentikasi). * Rip =
(? P <host> \ S *),. *

Ignoreregex =

Tambahkan baris ignoreregex yang hilang di file postfix-sasl:

Echo "ignoreregex =" >> /etc/fail2ban/filter.d/postfix-sasl.conf

Restart fail2ban sesudahnya:

Layanan fail2ban restart

Untuk menginstal firewall UFW, jalankan perintah apt ini:

Apt-get install ufw

15. Instal Webmail Roundcube


Untuk menginstal Roundcube Webmail, jalankan:

Apt-get -y install roundcube roundcube-core roundcube-mysql roundcube-plugin


roundcube-plugins-tambahan javascript-common libjs-jquery-mousewheel php-net-sieve
tinymce
Installer akan menanyakan pertanyaan berikut:
Konfigurasi database untuk roundcube dengan dbconfig-umum? <- ya
Password aplikasi MySQL untuk roundcube: <- Tekan enter

Kemudian edit file konfigurasi config.inc.php RoundCube:

Nano /etc/roundcube/config.inc.php

Dan ubah host default menjadi localhost:


$ Config ['default_host'] = 'localhost';

Ini mencegah bahwa Roundcube akan menampilkan field input nama server dalam form login.
Tidak membuat symlibk sehingga kita bisa menggunakan konfigurasi SquirrelMail di ISPConfig
untuk Roundcube:

Ln-s / usr / share / roundcube / usr / share / squirrelmail

Setelah Anda menginstal ISPConfig 3, Anda bisa mengakses Roundcube sebagai berikut:
Aplikasi ISPConfig vhost pada port 8081 untuk nginx hadir dengan konfigurasi Roundcube, jadi
Anda dapat menggunakan http://server1.example.com:8081/webmail untuk
mengakses Roundcube.
Jika Anda ingin menggunakan alias / webmail yang dapat Anda gunakan dari situs web Anda,
ini sedikit lebih rumit daripada Apache karena nginx tidak memiliki alias global (yaitu, alias yang
dapat didefinisikan untuk semua vhost). Oleh karena itu Anda harus menentukan alias ini
untuk setiap vhost yang ingin Anda akses ke Roundcube.
Untuk melakukan ini, tempelkan yang berikut ke bidang Petunjuk nginx di tab Opsi pada
situs web di ISPConfig:

Lokasi / roundcube {

Root / usr / share /;

Indeks index.php indeks.html index.htm;

Lokasi ~ ^ / roundcube / (. + \. Php) $ {

Try_files $ uri = 404;

Root / usr / share /;

Fastcgi_pass unix: /var/run/php/php7.0-fpm.sock;

Fastcgi_index index.php;

Fastcgi_param SCRIPT_FILENAME $ request_filename;

Sertakan / etc / nginx / fastcgi_params;

Fastcgi_param PATH_INFO $ fastcgi_script_name;

Fastcgi_buffer_size 128k;

Fastcgi_buffers 256 4k;

Fastcgi_busy_buffers_size 256k;
Fastcgi_temp_file_write_size 256k;

Fastcgi_intercept_errors on;

Lokasi ~ * ^ / roundcube / (. + \. (Jpg | jpeg | gif | css | p


ng | js | ico | html | xml | txt)) $ {

Root / usr / share /;

Lokasi / webmail {

Menulis ulang ^ / * / roundcube terakhir;

Jika Anda menggunakan https alih-alih http untuk vhost Anda, Anda
harus menambahkan baris fastcgi_param HTTPS; Ke konfigurasi SquirrelMail Anda seperti
ini:

Lokasi / roundcube {

Root / usr / share /;

Indeks index.php indeks.html index.htm;

Lokasi ~ ^ / roundcube / (. + \. Php) $ {

Try_files $ uri = 404;

Root / usr / share /;

Fastcgi_pass unix: /var/run/php/php7.0-fpm.sock;

Fastcgi_param HTTPS; # <- tambahkan baris ini

Fastcgi_index index.php;

Fastcgi_param SCRIPT_FILENAME $ request_filename;

Sertakan / etc / nginx / fastcgi_params;

Fastcgi_param PATH_INFO $ fastcgi_script_name;

Fastcgi_buffer_size 128k;

Fastcgi_buffers 256 4k;

Fastcgi_busy_buffers_size 256k;

Fastcgi_temp_file_write_size 256k;

Fastcgi_intercept_errors on;

}
Lokasi ~ * ^ / roundcube / (. + \. (Jpg | jpeg | gif | css | p
ng | js | ico | html | xml | txt)) $ {

Root / usr / share /;

Lokasi / webmail {

Menulis ulang ^ / * / roundcube terakhir;

Jika Anda menggunakan http dan https untuk vhost Anda, Anda perlu menambahkan bagian
berikut ke bagian http {} di /etc/nginx/nginx.conf (sebelum menyertakan baris) yang
menentukan apakah pengunjung menggunakan http atau https dan set Variabel $
fastcgi_https (yang akan kita gunakan dalam konfigurasi Roundcube kita) sesuai:

Nano /etc/nginx/nginx.conf

[...]

Http {

[...]

## Mendeteksi saat HTTPS digunakan

Peta $ scheme $ fastcgi_https {

Default off;

Https on;

[...]

[...]

Jangan lupa untuk reload nginx sesudahnya:

Layanan nginx reload

Lalu pergi ke bidang Petunjuk nginx lagi, dan bukannya HTTPS


fastcgi_param; Anda menambahkan baris fastcgi_param HTTPS $
fastcgi_https; Sehingga Anda dapat menggunakan Roundcube untuk permintaan http dan
https:
Lokasi / roundcube {

Root / usr / share /;

Indeks index.php indeks.html index.htm;

Lokasi ~ ^ / roundcube / (. + \. Php) $ {

Try_files $ uri = 404;

Root / usr / share /;

Fastcgi_pass unix: /var/run/php/php7.0-fpm.sock;

Fastcgi_param HTTPS $ fastcgi_https; # <- tambahkan b


aris ini

Fastcgi_index index.php;

Fastcgi_param SCRIPT_FILENAME $ request_filename;

Sertakan / etc / nginx / fastcgi_params;

Fastcgi_param PATH_INFO $ fastcgi_script_name;

Fastcgi_buffer_size 128k;

Fastcgi_buffers 256 4k;

Fastcgi_busy_buffers_size 256k;

Fastcgi_temp_file_write_size 256k;

Fastcgi_intercept_errors on;

Lokasi ~ * ^ / roundcube / (. + \. (Jpg | jpeg | gif | css | p


ng | js | ico | html | xml | txt)) $ {

Root / usr / share /;

Lokasi / webmail {

Menulis ulang ^ / * / roundcube terakhir;

16. Instal ISPConfig 3.1


Sebelum Anda memulai instalasi ISPConfig, pastikan Apache dihentikan (jika diinstal - mungkin
beberapa paket terinstal Anda telah menginstal Apache sebagai ketergantungan tanpa Anda
sadari). Jika Apache2 sudah terinstal di sistem, hentikan sekarang ...

Layanan apache2 berhenti


... dan hapus link startup sistem Apache:

Update-rc.d -f apache2 hapus

Pastikan nginx sedang berjalan:

Layanan nginx restart

(Jika Anda menginstal Apache dan nginx, installer akan menanyakan yang mana yang ingin Anda
gunakan: Apache dan nginx terdeteksi Pilih server yang akan digunakan
untuk ISPConfig: (apache, nginx) [apache]:
Ketik nginx . Jika hanya Apache atau Nginx yang terpasang, ini otomatis terdeteksi oleh
penginstal, dan tidak ada pertanyaan yang diajukan.)
Untuk menginstal ISPConfig 3.1 dari cabang stabil GIT, lakukan ini:

Cd / tmp
Wget -O ispconfig.tar.gz
https://git.ispconfig.org/ispconfig/ispconfig3/repository/archive.tar.gz?ref=stable
-3.1
Tar xfz ispconfig.tar.gz
Cd ispconfig3 * / install /

Langkah selanjutnya adalah lari

Php -q install.php

Ini akan memulai installer ISPConfig 3.1. Installer akan mengkonfigurasi semua layanan seperti
Postfix, Dovecot, dll untuk Anda.
Root @ server1: /tmp/ispconfig3-stable-3.1-
3f1331062193a94fbd64a7e39c00cb8d77eb7484/install# php install.php

-------------------------------------------------- --------------------
----------
_____ ___________ _____ __ _ ____
| _ _ / ___ | ___ \ / __ \ / _ (_) / __ \
| | \ `- | _ / / | / \ / ___ _ __ | | _ _ _ _ _ _ _ / /
| | `-. \ __ / | | / _ \ | '_ \ | _ | | / _` | | _ |
_ | | _ / \ __ / / | | \ __ / \ (_) | | | | | | | (_ | | ___ \ \
\ ___ / \ ____ / \ _ | \ ____ / \ ___ / | _ | | _ | _ | | _ | \ __, | \
____ /
__ / |
| ___ /
-------------------------------------------------- --------------------
----------

>> Konfigurasi awal


Sistem Operasi: Ubuntu 16.04.1 LTS (Xenial Xerus)
Berikut akan menjadi beberapa pertanyaan untuk konfigurasi primer jadi
hati-hati.
Nilai default ada di [tanda kurung] dan bisa diterima dengan <ENTER>.
Ketuk "berhenti" (tanpa tanda petik) untuk menghentikan penginstal.
Pilih bahasa (en, de) [en]: <- ENTER
Modus instalasi (standar, ahli) [standar]: <- ENTER
Full qualified hostname (FQDN) dari server, misal server1.domain.tld
[server1.example.com]: <- ENTER
Nama host server MySQL [localhost]: <- ENTER
Port server MySQL [3306]: <- ENTER
Nama pengguna root MySQL [root]: <- ENTER
Password root MySQL []: <- masukkan password root MySQL disini
Database MySQL untuk membuat [dbispconfig]: <- ENTER
Charset MySQL [utf8]: <- ENTER
Mengkonfigurasi Postgrey
Mengkonfigurasi Postfix
Membangkitkan kunci pribadi RSA 4096 bit
..................................................
..................................................
..................................................
..................................................
..................................................
..................................................
..................................................
.................................................. . ++
... ++
Menulis kunci pribadi baru ke 'smtpd.key'
-----
Anda akan diminta memasukkan informasi yang akan digabungkan
Ke permintaan sertifikat Anda
Apa yang akan Anda masukkan adalah apa yang disebut Distinguished Name
atau DN.
Ada beberapa bidang tapi Anda bisa membiarkannya kosong
Untuk beberapa bidang akan ada nilai default,
Jika Anda memasukkan '.', Kolom akan dibiarkan kosong.
-----
Nama Negara (2 kode huruf) [AU]: <- masukkan kode negara 2 huruf Anda,
misalnya DE dalam kasus saya
Nama Negara Bagian atau Provinsi (nama lengkap) [Beberapa Negara]: <-
Masukkan negara asal Anda
Nama Lokalitas (misalnya, kota) []: <- Masukkan kota Anda, dalam kasus
saya Lueneburg
Nama Organisasi (mis., Perusahaan) [Internet Widgits Pty Ltd]: <-
Masukkan nama perusahaan anda, dalam kasus saya ISPConfig UG
Nama Unit Organisasi (misalnya, bagian) []: <- Masukkan nama unit
organisasi Anda, saya menggunakan IT di sini
Nama Umum (misalnya server FQDN atau nama ANDA) []: <- Masukkan nama
host server, dalam kasus saya server1.example.com
Alamat Email []: <- Masukkan alamat email, misalnya
hostmaster@server1.example.com
Mengkonfigurasi Mailman
Mengkonfigurasi Dovecot
Mengkonfigurasi Spamassassin
Mengkonfigurasi Amavisd
Mengkonfigurasi Getmail
Mengkonfigurasi Jailkit
Mengkonfigurasi Pureftpd
Mengkonfigurasi BIND
Mengkonfigurasi nginx
[INFO] layanan OpenVZ tidak terdeteksi
Mengkonfigurasi Ubuntu Firewall
Mengkonfigurasi Server XMPP Metronom
Menulis kunci pribadi baru ke 'localhost.key'
-----
Nama Negara (2 kode huruf) [AU]: <- Masukkan 2 huruf kode negara Anda,
misalnya DE dalam kasus saya
Nama Lokalitas (misalnya, kota) [Nama Kota]: <- Masukkan kota Anda,
dalam kasus saya Lueneburg
Nama Organisasi (mis., Perusahaan) [Internet Widgits Pty Ltd]: <-
Masukkan nama perusahaan Anda, dalam kasus saya ISPConfig UG
Nama Unit Organisasi (mis., Bagian) [Infrastructure]: <- Masukkan nama
unit organisasi Anda, saya menggunakan IT di sini
Nama Umum (misalnya server FQDN atau nama ANDA)
[server1.example.com]: <- Masukkan nama host server, dalam kasus saya
server1.example.com
Alamat email [hostmaster@server1.example.com]: <- Masukkan alamat email,
misal hostmaster@server1.example.com
PENTING:
Localhost Key, Csr dan Cert yang telah ditandatangani sendiri telah
disimpan ke / etc / metronome / certs
Agar bisa bekerja dengan semua klien, server harus memiliki sertifikat
terpercaya, jadi gunakan Csr
Untuk mendapatkan sertifikat terpercaya dari CA Anda atau mengganti Key
and Cert dengan file yang sudah ditandatangani
Domain anda Klien seperti Pidgin tidak mengizinkan untuk menggunakan
sertifikat self-signed yang tidak tepercaya.
Mengkonfigurasi Fail2ban
Mengkonfigurasi Apps vhost
Instalasi ISPConfig
Port ISPConfig [8080]: <- ENTER
Admin password [admin]: <- Masukkan password admin yang Anda inginkan
Apakah Anda menginginkan koneksi aman (SSL) ke antarmuka web ISPConfig
(y, n) [y]: <- ENTER
Membangkitkan kunci privat RSA, modulus panjang 4096 bit
.................................................. .. ++
........................ ++
E adalah 65537 (0x10001)
Anda akan diminta memasukkan informasi yang akan digabungkan
Ke permintaan sertifikat Anda
Apa yang akan Anda masukkan adalah apa yang disebut Distinguished Name
atau DN.
Ada beberapa bidang tapi Anda bisa membiarkannya kosong
Untuk beberapa bidang akan ada nilai default,
Jika Anda memasukkan '.', Kolom akan dibiarkan kosong.
-----
Nama Negara (kode 2 huruf) [AU]: <- masukkan kode negara 2 huruf Anda,
misalnya DE dalam kasus saya
Nama Negara Bagian atau Provinsi (nama lengkap) [Some-State]: <-
Masukkan status rumah Anda
Nama Lokalitas (misalnya, kota) []: <- Masukkan kota Anda, dalam kasus
saya Lueneburg
Nama Organisasi (mis., Perusahaan) [Internet Widgits Pty Ltd]: <-
Masukkan nama perusahaan anda, dalam kasus saya ISPConfig UG
Nama Unit Organisasi (misalnya, bagian) []: <- Masukkan nama unit
organisasi Anda, saya menggunakan IT di sini
Nama Umum (misalnya server FQDN atau nama ANDA) []: <- Masukkan nama
host server, dalam kasus saya server1.example.com
Alamat email []: <- Masukkan alamat email, misal
hostmaster@server1.example.com
Harap masukkan atribut 'ekstra' berikut ini
Untuk dikirim dengan permintaan sertifikat Anda
Sandi tantangan []: <- ENTER
Nama perusahaan opsional []: <- ENTER
Menulis kunci RSA

Mengkonfigurasi DBServer
Memasang crontab ISPConfig
Memasang crontab ISPConfig
Tidak ada crontab untuk root
Tidak ada crontab untuk getmail
Mendeteksi alamat IP
Memulai kembali layanan ...
Instalasi selesai.
Installer secara otomatis mengonfigurasi semua layanan dasar, jadi tidak ada konfigurasi manual
yang dibutuhkan.
Setelah itu Anda dapat mengakses ISPConfig 3 di bawah http: //server1.example.com:
8080 / atau http: //192.168.1.100: 8080 / (http atau https tergantung pada apa yang
Anda pilih saat pemasangan). Login dengan admin username dan admin password (anda harus
mengganti password default setelah login pertama anda):
Sistem sekarang siap digunakan.
16.1 ISPConfig 3.1 Manual
Agar bisa belajar menggunakan ISPConfig 3, saya sangat menganjurkan untuk mendownload
Manual ISPConfig 3.1 .
Pada lebih dari 300 halaman, ini mencakup konsep di balik ISPConfig (admin, reseller, klien),
menjelaskan cara menginstal dan memperbarui ISPConfig 3, mencakup referensi untuk semua
bentuk dan bidang formulir di ISPConfig bersamaan dengan contoh masukan yang valid, dan
memberikan tutorial Untuk tugas yang paling umum di ISPConfig 3. Ini juga menjelaskan
bagaimana membuat server Anda lebih aman dan dilengkapi dengan bagian pemecahan masalah
di bagian akhir.
17. Catatan Tambahan
18.1 OpenVZ

Jika server Ubuntu yang baru saja Anda siapkan di tutorial ini adalah wadah OpenVZ (mesin
virtual), Anda harus melakukan ini di sistem host (saya berasumsi bahwa ID dari wadah
OpenVZ adalah 101 - ganti dengan VPSID yang benar pada sistem anda):

VPSID = 101
Untuk CAP di CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN
SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN
SYS_CHROOT SYS_NICE
melakukan
Vzctl menetapkan $ VPSID --capability $ {CAP}: on --save
Selesai

18.2 Mesin virtual image download dari tutorial ini


Tutorial ini tersedia karena siap menggunakan gambar mesin virtual dalam format ovf / ova yang
kompatibel dengan VMWare dan Virtualbox. Gambar mesin virtual menggunakan rincian login
berikut:
SSH / Shell Login
Username: administrator
Password: howtoforge
Pengguna ini memiliki hak sudo.
Login ISPConfig
Username: admin
Password: howtoforge
Login MySQL
Username: admin
Password: howtoforge
Atau login dengan:

Sudo mysql

Di shell th.
IP dari VM adalah 192.168.1.100, dapat diubah dalam file / etc / network / interfaces. Silahkan
ganti semua password diatas untuk mengamankan mesin virtual.
19. Tautan
Ubuntu: http://www.ubuntu.com/
ISPConfig: http://www.ispconfig.org/

Anda mungkin juga menyukai