GNU/Linux >> Belajar Linux >  >> Cent OS

Server Sempurna – CentOS 7 (Apache2, Dovecot, ISPConfig 3)

Tutorial ini ada untuk versi OS ini

  • CentOS 7.6
  • CentOS 7.4
  • CentOS 7.3
  • CentOS 7.2
  • CentOS 7.1
  • CentOS 7

Di halaman ini

  1. Manual ISPConfig 3
  • 1 Persyaratan
  • 2 Catatan Awal
  • 3 Mengatur tata letak keyboard
  • 4 Sesuaikan /etc/hosts
  • 5 Konfigurasi Firewall
  • 6 Nonaktifkan SELinux
  • 7 Aktifkan Repositori Tambahan Dan Instal Beberapa Perangkat Lunak
  • 8 Kuota
  • Mengaktifkan kuota pada partisi / (root)
  • Mengaktifkan kuota pada partisi /var terpisah
  • 9 Instal Apache, MySQL, phpMyAdmin
  • Tutorial ini menunjukkan cara menyiapkan server CentOS 7 x86_64 untuk instalasi ISPConfig 3 dan cara menginstal ISPConfig 3. ISPConfig 3 adalah panel kontrol webhosting yang memungkinkan Anda untuk mengonfigurasi layanan berikut melalui browser web:Server web Apache, email Postfix server, MySQL, server nama BIND, PureFTPd, SpamAssassin, ClamAV, Mailman, dan banyak lagi. Sejak versi 3.0.4, ISPConfig hadir dengan dukungan penuh untuk server web nginx selain Apache; tutorial ini mencakup penyiapan server yang menggunakan Apache, bukan nginx.

    Panduan ISPConfig 3

    Untuk mempelajari cara menggunakan ISPConfig 3, saya sangat menyarankan untuk mengunduh Manual ISPConfig 3.

    Pada lebih dari 300 halaman, ini mencakup konsep di balik ISPConfig (admin, reseller, klien), menjelaskan cara menginstal dan memperbarui ISPConfig 3, menyertakan referensi untuk semua formulir dan bidang formulir di ISPConfig bersama dengan contoh input yang valid, dan memberikan tutorial untuk tugas paling umum di ISPConfig 3. Ini juga menjelaskan cara membuat server Anda lebih aman dan dilengkapi dengan bagian pemecahan masalah di bagian akhir.

    1 Persyaratan

    Untuk menginstal sistem seperti itu, Anda memerlukan yang berikut:

    • Sistem server minimal Centos 7. Ini bisa berupa server yang diinstal dari awal seperti yang dijelaskan dalam tutorial server minimal Centos 7 kami atau server virtual atau root-server dari perusahaan hosting yang memiliki setup minimal Centos 7 yang diinstal.
    • Koneksi internet yang cepat.

    2 Catatan Awal

    Dalam tutorial ini saya menggunakan hostname server1.example.com dengan alamat IP 192.168.1.100 dan gateway 192.168.1.254. Setelan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu.

    3 Mengatur tata letak keyboard

    Pemasang CentOS 7 saat ini memiliki bug, jadi Anda mungkin berakhir dengan tata letak keyboard yang berbeda pada shell daripada yang dipilih saat pemasangan. Jika Anda menemukan bug itu, maka Anda dapat beralih ke keyboard yang tepat (dalam kasus saya "de" untuk tata letak keyboard Jerman, dengan perintah localectl:

    localectl set-keymap de

    Untuk mendapatkan daftar semua peta kunci yang tersedia, jalankan:

    localectl list-keymaps

    Saya ingin menginstal ISPConfig di akhir tutorial ini yang dilengkapi dengan firewallnya sendiri. Itu sebabnya saya menonaktifkan firewall CentOS default sekarang. Tentu saja, Anda bebas untuk membiarkannya dan mengonfigurasinya sesuai kebutuhan Anda (tetapi Anda tidak boleh menggunakan firewall lain di kemudian hari karena kemungkinan besar akan mengganggu firewall CentOS).

    Jalankan...

    systemctl stop firewalld.service
    systemctl disable firewalld.service

    Sekarang saya akan menginstal beberapa alat jaringan dasar dan editor berbasis shell yang kita butuhkan pada langkah selanjutnya:

    yum -y install nano wget net-tools NetworkManager-tui

    Jika Anda tidak mengonfigurasi kartu jaringan Anda selama penginstalan, Anda dapat melakukannya sekarang. Jalankan...

    nmtui

    ... dan pergi ke Edit koneksi:

    Pilih antarmuka jaringan Anda:

    Kemudian isi detail jaringan Anda - nonaktifkan DHCP dan isi alamat IP statis, netmask, gateway Anda, dan satu atau dua server nama, lalu tekan Ok:

    Selanjutnya pilih OK untuk mengonfirmasi perubahan yang Anda buat di pengaturan jaringan

    dan Keluar untuk menutup alat konfigurasi jaringan nmtui.

    Anda harus menjalankan

    ifconfig

    sekarang untuk memeriksa apakah penginstal mendapatkan alamat IP Anda dengan benar:

    [[email protected] ~]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
            inet6 fe80::20c:29ff:fecd:cc52  prefixlen 64  scopeid 0x20
    
            ether 00:0c:29:cd:cc:52  txqueuelen 1000  (Ethernet)
            RX packets 55621  bytes 79601094 (75.9 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 28115  bytes 2608239 (2.4 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10
            loop  txqueuelen 0  (Local Loopback)
            RX packets 0  bytes 0 (0.0 B)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 0  bytes 0 (0.0 B)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    Jika kartu jaringan Anda tidak muncul di sana, maka itu tidak diaktifkan saat boot. Dalam hal ini, buka file /etc/sysconfig/network-scripts/ifcfg-eth0

    nano /etc/sysconfig/network-scripts/ifcfg-ens33

    dan atur ONBOOT ke ya:

    [...]
    ONBOOT=yes
    [...]

    dan reboot server.

    Periksa /etc/resolv.conf Anda jika daftar semua server nama yang telah Anda konfigurasikan sebelumnya:

    cat /etc/resolv.conf

    Jika server nama tidak ada, jalankan

    nmtui

    dan tambahkan lagi server nama yang hilang.

    Sekarang, ke konfigurasi...

    4 Sesuaikan /etc/hosts

    Selanjutnya kita edit /etc/hosts. Jadikan seperti ini:

    nano /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    192.168.1.100 server1.example.com server1

    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

    5 Konfigurasi Firewall

    (Anda dapat melewati bab ini jika Anda telah menonaktifkan firewall di akhir penginstalan sistem dasar.)

    Saya ingin menginstal ISPConfig di akhir tutorial ini yang dilengkapi dengan firewallnya sendiri. Itu sebabnya saya menonaktifkan firewall CentOS default sekarang. Tentu saja, Anda bebas untuk membiarkannya dan mengonfigurasinya sesuai kebutuhan Anda (tetapi Anda tidak boleh menggunakan firewall lain di kemudian hari karena kemungkinan besar akan mengganggu firewall CentOS).

    Jalankan

    systemctl stop firewalld.service
    systemctl disable firewalld.service

    dan nonaktifkan firewall.

    Untuk memeriksa apakah firewall benar-benar telah dinonaktifkan, Anda dapat menjalankan

    iptables -L

    setelah itu. Outputnya akan terlihat seperti ini:

    [[email protected] ~]# iptables -L
    Chain INPUT (policy ACCEPT)
    target prot opt source destination
    Chain FORWARD (policy ACCEPT)
    target prot opt source destination
    Chain OUTPUT (policy ACCEPT)
    target prot opt source destination

    Atau gunakan perintah firewall-cmd:

    firewall-cmd --state
    [[email protected] ~]# firewall-cmd --state
    not running
    [[email protected] ~]#

    6 Nonaktifkan SELinux

    SELinux adalah ekstensi keamanan CentOS 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 SELinux yang menyebabkan masalah). Oleh karena itu saya menonaktifkannya (ini adalah suatu keharusan jika Anda ingin menginstal ISPConfig nanti).

    Edit /etc/selinux/config dan atur SELINUX=disabled:

    nano /etc/selinux/config
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=disabled
    # SELINUXTYPE= can take one of these two values:
    #     targeted - Targeted processes are protected,
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    

    Setelah itu kita harus me-reboot sistem:

    reboot

    7 Aktifkan Repositori Tambahan Dan Instal Beberapa Perangkat Lunak

    Pertama kita mengimpor kunci GPG untuk paket perangkat lunak:

    rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

    Kemudian kami mengaktifkan repositori EPEL pada sistem CentOS kami karena banyak paket yang akan kami instal selama tutorial ini tidak tersedia di repositori resmi CentOS 7:

    rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm
    yum -y install yum-priorities

    Edit /etc/yum.repos.d/epel.repo...

    nano /etc/yum.repos.d/epel.repo

    ... dan tambahkan baris priority=10 ke bagian [epel]:

    [epel]
    name=Extra Packages for Enterprise Linux 7 - $basearch
    #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
    mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
    failovermethod=priority
    enabled=1
    priority=10
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
    [...]

    Kemudian kami memperbarui paket kami yang ada di sistem:

    yum update

    Sekarang kita install beberapa paket software yang dibutuhkan nantinya:

    yum -y groupinstall 'Development Tools'

    8 Kuota

    (Jika Anda telah memilih skema partisi yang berbeda dari saya, Anda harus menyesuaikan bab ini sehingga kuota berlaku untuk partisi yang Anda butuhkan.)

    Untuk memasang kuota, kita jalankan perintah ini:

    yum -y install quota

    Sekarang kita periksa apakah kuota sudah diaktifkan untuk sistem file tempat situs web (/var/www) dan data maildir (var/vmail) disimpan. Dalam contoh pengaturan ini, saya memiliki satu partisi root besar, jadi saya mencari ' / ':

    mount | grep ' / '
    [[email protected] ~]# mount | grep ' / '
    /dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
    [[email protected] ~]#

    Jika Anda memiliki partisi /var terpisah, gunakan:

    mount | grep ' /var '

    sebagai gantinya. Jika baris berisi kata "tidak ada kuota ", lalu lanjutkan dengan langkah-langkah berikut untuk mengaktifkan kuota.

    Mengaktifkan kuota pada partisi / (root)

    Biasanya Anda akan mengaktifkan kuota di file /etc/fstab, tetapi jika sistem file adalah sistem file root "/", maka kuota harus diaktifkan oleh parameter boot Kernel Linux.

    Edit file konfigurasi grub:

    nano /etc/default/grub

    cari fole baris yang dimulai dengan GRUB_CMDLINE_LINUX dan tambahkan rootflags=uquota,gquota ke parameter commandline sehingga baris yang dihasilkan terlihat seperti ini:

    GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto  vconsole.keymap=us rhgb quiet rootflags=uquota,gquota"

    dan terapkan perubahan dengan menjalankan perintah berikut.

    cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak
    grub2-mkconfig -o /boot/grub2/grub.cfg

    dan reboot server.

    reboot

    Sekarang periksa apakah kuota diaktifkan:

    mount | grep ' / '
    [[email protected] ~]# mount | grep ' / '
    /dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
    [[email protected] ~]#

    Saat kuota aktif, kita bisa melihat "usrquota,grpquota " dalam daftar opsi pemasangan.

    Mengaktifkan kuota pada partisi /var terpisah

    Jika Anda memiliki partisi /var terpisah, edit /etc/fstab dan tambahkan ,uquota,gquota ke partisi / (/dev/mapper/centos-var):

    nano /etc/fstab

    #
    # /etc/fstab
    # Created by anaconda on Sun Sep 21 16:33:45 2014
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    /dev/mapper/centos-root / xfs defaults 1 1
    /dev/mapper/centos-var /var xfs defaults,uquota,gquota 1 2
    UUID=9ac06939-7e43-4efd-957a-486775edd7b4 /boot xfs defaults 1 3
    /dev/mapper/centos-swap swap swap defaults 0 0

    Kemudian jalankan

    mount -o remount /var
    quotacheck -avugm
    quotaon -avug

    untuk mengaktifkan kuota.

    9 Instal Apache, MySQL, phpMyAdmin

    Kita dapat menginstal paket yang dibutuhkan dengan satu perintah:

    yum -y install ntp httpd mod_ssl mariadb-server php php-mysql php-mbstring phpmyadmin


    Cent OS
    1. Server Sempurna - OpenSUSE 12.3 x86_64 (Apache2, Dovecot, ISPConfig 3)

    2. Server Sempurna – CentOS 7.1 dengan Apache2, Postfix, Dovecot, Pure-FTPD, BIND dan ISPConfig 3

    3. Server Sempurna - Debian 8 Jessie (Apache2, BIND, Dovecot, ISPConfig 3)

    1. Server Sempurna - Debian 8.4 Jessie (Apache2, BIND, Dovecot, ISPConfig 3.1)

    2. Server Sempurna - CentOS 6.1 x86_64 Dengan Apache2 [ISPConfig 3]

    3. Server Sempurna - CentOS 5.7 x86_64 [ISPConfig 3]

    1. Server Sempurna - CentOS 6.0 x86_64 [ISPConfig 3]

    2. Server Sempurna - CentOS 6.3 x86_64 (Apache2, Dovecot, ISPConfig 3)

    3. Server Sempurna - Ubuntu 12.04 LTS (Apache2, BIND, Dovecot, ISPConfig 3)