Instal Apache ing CentOS7

Referensi resmi

Situs web resmi Dokumentasi Produk HTTPS Gzip

Nindakake instalasi

            yum -y install libmcrypt libmcrypt-devel mcrypt mhash
yum -y install httpd
        

Ngowahi file konfigurasi

Sawise instalasi rampung, kita kudu ngowahi sawetara file konfigurasi. Konten modifikasi tartamtu biasane kalebu: IP lan port terikat, transmisi kompresi gzip, sawetara sambungan sing padha, lan SSL. Ayo jelasake siji-siji ing ngisor iki.

Ubah IP lan port sing kaiket

IP default lan port sing dirungokake Apache yaiku 0,0.0.0:80. Yen kita kudu ngowahi IP lan port sing dimonitor, kita bisa langsung ngowahi. Yen kudu ngiket pirang-pirang port, kita uga bisa nambah. Ing conto ing ngisor iki, kita ngiket port 80 lan 443. Port 443 minangka nomer port default kanggo HTTPS.

            Listen 80
Listen 443 https
        

Bukak transmisi gzip

Amarga kinerja CPU komputer kita cukup dhuwur, umume bottleneck bakal katon ing bandwidth jaringan, dadi kita bisa milih ngaktifake transmisi kompresi gzip. Ana 9 level kompresi. Kita bisa milih miturut kinerja server lan nemokake level sing paling cocog. Ing conto ing ngisor iki, kita nyetel level 1. Jinis file sing dikompresi yaiku: html, xml, php, css, js, kita uga bisa nambah jinis file sing dikompresi yen dibutuhake.

            <IfModule mod_deflate.c>
    DeflateCompressionLevel 1
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
    AddOutputFilter DEFLATE js css
</IfModule>
        

Setel KeepAlive

Fungsi KeepAlive yaiku supaya klien lan server tetep nyambung sajrone wektu. Nalika mbukak kaca web, biasane kudu ngemot konten utama, js, css, lan gambar. Amarga saben sumber kudu miwiti panjaluk HTTP sing kapisah, kita ngaktifake KeepAlive kanggo nyuda wektu sing dibutuhake kanggo saben panjaluk nggawe link TCP / IP. Nanging KeepAlive uga duwe kekurangan. Iki bakal nyebabake sumber daya IO server dikuwasani, mula kita kudu milih apa ngaktifake KeepAlive miturut kahanan sing sejatine. Yen KeepAlive diaktifake, kita uga kudu nyetel wektu entek sing cukup supaya server IO ora dikuwasani suwe. Contone ing ngisor iki ngemot sawetara setelan utama KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Ngatur jumlah sing padha

Konfigurasi sing cukup kanggo jumlah sing padha bisa nambah output server. Biasane Apache kita bisa digunakake ing mode mpm_prefork. Kita kudu ngatur sawetara paramèter utama kanthi wajar. Sing kudu digatekake yaiku yen koneksi maksimal ora sethithik, bisa uga nyebabake panjaluk pangguna ditolak nalika konkurensi akeh. Nilai sing cukup sing ditemtokake kudu nuduhake CPU lan memori server. Anggere sumber daya cukup, mesthine kudu disetel paling gedhe, nanging yen nyetel gedhe banget, sumber daya server bakal kesel lan Apache uga bakal rusak.

            <IfModule mpm_prefork_module>
    StartServers         10
    MinSpareServers      25
    MaxSpareServers      50
    ServerLimit          1500
    MaxClients           1000
    MaxRequestsPerChild  3000
</IfModule>
        

Konfigurasi SSL

Umume situs web saiki wis ngaktifake SSL kanggo ndhukung sambungan HTTPS sing aman. Kauntungan HTTPS yaiku konten sajrone transmisi dienkripsi, mula ora perlu kuwatir kebocoran informasi amarga dicegat wong liya. Sadurunge ngaktifake SSL, luwih dhisik kudu ndhaptar sertifikat. Sawise entuk sertifikat, deleng konfigurasi ing ngisor iki kanggo ngrampungake setelan SSL.

            <VirtualHost *:443>
    ServerAdmin www.test.com
    ServerName www.testl.com
    DocumentRoot  /var/www/test
    SSLEngine on
    SSLProtocol all -SSLv2 -SSLv3
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    SSLHonorCipherOrder on
    SSLCertificateFile /etc/httpd/conf/cert/public.crt
    SSLCertificateKeyFile /etc/httpd/conf/cert/1533528967430.key
    SSLCertificateChainFile /etc/httpd/conf/cert/chain.crt
    AllowEncodedSlashes on
    <Directory "/var/www/test.com">
         Options FollowSymLinks
         AllowOverride All
         Order allow,deny
         Allow from all
    </Directory>
</VirtualHost>