Odo.lv » Recipes » Apache tīmekļa serveris

Apache tīmekļa serveris

Uzstādīšana

  1. Kā root lietotājs izpilda komandu:
    apt-get install apache2
  2. Ja grib, lai web servera failu saturs atrodas /home katalogā:
    1. Aptur Apache:
      /etc/init.d/apache2 stop
    2. Pārvieto to no /var/www un izveido simbolisko saiti:
      mv /var/www /home
      ln -s /home/www /var/www
    3. Palaiž Apache:
      /etc/init.d/apache2 start
  3. Pārliecinās ar Firefox pārlūkprogrammu, ka Apache Web servera paziņojums "It works!" parādās, atverot adresi http://localhost

HTTPS uzstādīšana

Lai datu plūsmu starp web serveri un klientu nevarētu noklausīties, to nepieciešams šifrēt. Šim nolūkam izmanto SSL protokolu, kas, izmantojot publiskās/privātās atslēgas (PKI) metodi, nodrošina uzticamu un drošu pārraides kanālu starp klientu un serveri. HTTP pārraidītu pa SSL kanālu, sauc par HTTPS.

  1. Vispirms nepieciešams uzlikt SSL rīkus, kas ļauj pašam izveidot servera privātā/publiskā atslēgu pāra sertifikātus:
    sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/apache.key -out /etc/ssl/certs/apache.crt

un ievada atbildes uz vedņa uzdotajiem jautājumiem. Ja pirmajās atbildes nešķiet pareizas, komandu var izsaukt atkārtoti, un izveidot jaunu sertifikātu.
Warning: Tā kā šis servera sertifikāts nav autorizēts uzticamās sertifikātu organizācijās kā Verisign vai citās mazākās CA, pārlūkprogramma par to brīdinās

Ja sertifikāta faili ir iegūti sertifikātu reģistrā, novieto failus sekojoši:
  1. *.crt failu mapē /etc/ssl/certs/
  2. *.key failu mapē /etc/ssl/private/
  3. Iespējo Apache SSL moduli ar komandu:
    a2enmod ssl
  4. Pārliecinās, ka /etc/apache2/ports.conf fails satur rindas:
    <IfModule mod_ssl.c>
        Listen 443
    </IfModule>
  5. Pārliecinās, ka /etc/apache2/sites-available noklusētais ports ir 80, nevis *, un sākuma rinda izskatās kā <VirtualHost *:80> nevis <VirtualHost *:*>.
  6. Izveido tai līdzīgu vietnes definīciju priekš SSL ar komandām:
    cd /etc/apache2/sites-available
    cp default ssl
    sed -i '1,2s/\*:80/*:443/' ssl
    sed -i "3a\\\tSSLEngine On\n\tSSLCertificateFile /etc/ssl/certs/apache.crt\n\tSSLCertificateKeyFile /etc/ssl/private/apache.key" ssl
    kur apache.crt un apache.key ir attiecīgie sertifikāta un privātās atslēgas faili.
  7. Ja nepieciešams izmantot vairāk par vienu sertifikātu, (sertifikātu ķēdi), tad norāda tos visus failā //etc/apache2/sites-available/ssl, piemēram, sekojoši:
    SSLCertificateFile /etc/ssl/certs/apache.crt
    SSLCertificateChainFile /etc/ssl/certs/CA.crt
    …
    SSLCertificateKeyFile /etc/ssl/certs/apache.key
  8. Iespējo Apache servera SSL vietni:
    a2ensite ssl
  9. Pārstartē Apache serveri:
    /etc/init.d/apache2 restart
  10. Pieslēdzas serverim uz https://localhost
Saites
  1. Ja ir gatavi *.key un *.cer (*.crt) faili, iespējams, ka atslēgas fails pieprasa paroli. Ar paroli aizsargātu atslēgas failu var pārtaisīt par neaizsargātu (tad jāpārliecinās, ka tam tiek klāt tikai autorizēti lietotāji) sekojoši:
    openssl rsa -in apache.key -out apache1.key

Kataloga iekļaušana

Lai padarītu pieejamu failu sistēmas katalogu ar failu pārlūkošanu web serverī, iekopē to kā simbolisko saiti zem /var/www. Piemēram:
ln -s /home/vmware/ /var/www/
Lai failu sistēma būtu pārlūkojama www-data vai jebkuram lietotājam vai grupai ir jābūt kataloga lasīšanas un izpildes (t.i. pārlūkošanas) tiesībām. Ja pārlūkošanas tiesības pievieno jebkuram, izpilda komandu:
chmod 775 /home/vmware

Indeksēšanas aizliegšana

  1. Ja servera dati ir pieejami tikai autorizētiem lietotājiem, nav vajadzības indeksēt pieejamo (pieteikšanās u.rml.) lapu saturu,
  2. Izveido failu /var/www/robots.txt un tajā ieliek sekojošu saturu:
    User-agent: *
    Disallow: /

Veiktspējas skaņošana

Apache tīmekļa servera paralēlu darbību nodrošina ar diviem savstarpēji izslēdzošiem (PMP -- Multi-Processing Module) moduļu veidiem: prefork un worker. Prefork ir vecāks, vienkāršāks un drošāks paņēmiens, jo veido atsevišķus procesus, tomēr atsevišķu procesu apstrāde un palaišana ir lēnāka, kā Worker modulī, kurā veido atsevišķus pavedienus.

  1. Kā ir nokompilēts konkrētais serveris, apskata, ievadot komandu:
    apache2 -l
    1. Ja parāda
      Compiled in modules:
      …
        prefork.c
      ...
      tad serveris darbojas ar prefork moduli
    2. Ja parāda:
      Compiled in modules:
      …
        worker.c
      ...
      tad serveris darbojas ar worker moduli
  2. Noklusētie iestatījumi ir piemēroti serverim, kas strādā tika kā tīmekļa serveris. Ja tīmekļa funkcijas ir tikai vienas no daudzām, vai serveris tiek izmantots testēšanai, tad noklusētos iestatījumus var samazināt, lai samazinātu servera dīko slodzi. Failā /etc/apache2/apache2.conf nomainot iestatījumus, piemēram, uz sekojošiem:
    1. Prefork modulim:
      …
      <IfModule mpm_prefork_module>
          StartServers          2
          MinSpareServers       2
          MaxSpareServers       6
          MaxClients          100
          MaxRequestsPerChild  50
      </IfModule>
      ...
    2. Worker modulim:
      …
      <IfModule mpm_worker_module>
          StartServers          1
          MaxClients           50
          MinSpareThreads       4
          MaxSpareThreads      25 
          ThreadsPerChild      10
          MaxRequestsPerChild  50
      </IfModule>
      ...


Skatīt arī
Saites

Created by Valdis Vītoliņš on 2008/08/08 15:20
Last modified by Valdis Vītoliņš on 2013/05/02 15:35

Xwiki Powered
Creative Commons Attribution 3.0 Unported License