Installa Apache nantu à CentOS7

Riferimentu ufficiale

Situ ufficiali Documentazione di u Produttu HTTPS Gzip

Eseguite a stallazione

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

Mudificà u fugliale di cunfigurazione

Dopu chì l'installazione hè compia, ci vole à fà qualchì mudificazione à u schedariu di cunfigurazione. U cuntenutu specificu di mudificazione include generalmente: IP è portu ligatu, trasmissione di compressione gzip, numeru di cunnessioni simultanee, è SSL. A spiegemu unu à unu quì sottu.

Mudificà l'IP è u portu ligatu

L'IP è u portu predefinitu chì Apache ascolta hè 0.0.0.0:80. Se avemu bisognu di mudificà l'IP è u portu monitoratu, pudemu mudificà direttamente. Se avemu bisognu di ligà più porti, pudemu ancu aghjustalli. In l'esempiu seguente, ligamu i porti 80 è 443. U Portu 443 hè u numeru di portu predefinitu per HTTPS.

            Listen 80
Listen 443 https
        

Apertura trasmissione gzip

Perchè e prestazioni di CPU di u nostru urdinatore sò relativamente alte, di solitu u collu di bottiglia apparerà in a larghezza di banda di a rete, cusì pudemu sceglie di attivà a trasmissione di compressione gzip. Ci hè livelli di cumpressione 9. Pudemu sceglie secondu e prestazioni di u nostru servitore è truvà u livellu più adattatu. In l'esempiu sottu, u mettimu à u livellu 1. I tippi di fugliali cumpressi sò: html, xml, php, css, js, pudemu ancu aghjunghje tippi di fugliali cumpressi secondu u bisognu.

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

Configurate KeepAlive

A funzione di KeepAlive hè di mantene u cliente è u servitore cunnessi per un periudu di tempu. Quandu aprimu una pagina web, ci vole di solitu à carregà u cuntenutu principale, js, css è fiure. Siccomu ogni risorsa hà bisognu di inizià una dumanda HTTP separata, attivemu KeepAlive per riduce u tempu necessariu per ogni dumanda per stabilisce un ligame TCP / IP. Ma KeepAlive hà ancu svantaghji.Hà da fà occupà e risorse IO di u servitore, dunque ci vole à sceglie se attivà KeepAlive secondu a situazione attuale. Se KeepAlive hè attivatu, duvemu ancu definisce un timeout ragionevule per evità chì u servitore IO sia occupatu per un bellu pezzu. L'esempiu seguente cuntene parechje impostazioni principali di KeepAlive.

            KeepAlive On
MaxKeepAliveRequests 400
KeepAliveTimeout 5
        

Configurate u numeru di concurrenti

Una cunfigurazione ragiunevuli di u numeru di cuncurrenti pò migliurà assai u flussu di u servitore. Di solitu u nostru Apache travaglia in modu mpm_prefork. Avemu bisognu di cunfigurà ragionevolmente parechji parametri chjave. Ciò chì ci vole à fà casu hè chì u numeru massimu di cunnessioni ùn deve esse micca troppu chjucu, troppu chjucu farà chì un gran numeru di richieste d'utenti sia rifiutatu quandu a concorrenza hè alta. U valore ragiunevule chì stabiliscemu deve riferisce à a CPU è a memoria di u servitore. Finchè e risorse sò sufficienti, duveriamu impostallu u più grande pussibule, ma se l'avemu impostatu troppu grande, e risorse di u servitore saranu esaurite è Apache fallerà ancu.

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

Configurate SSL

A maiò parte di i siti web anu avà SSL attivatu per supportà cunnessioni sicure HTTPS. U vantaghju di HTTPS hè chì u cuntenutu durante a trasmissione hè crittografatu, dunque ùn ci hè bisognu di preoccupassi per a perdita di informazioni per via di l'intercepzione da altri. Prima di attivà SSL, duvemu prima dumandà un certificatu. Dopu avè ottinutu u certificatu, riferitevi à a cunfigurazione seguente per cumplettà i parametri 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>