Mainos / Advertisement:

Apache2

Kohteesta Taisto
Versio hetkellä 9. kesäkuuta 2014 kello 09.30 – tehnyt Minh (keskustelu | muokkaukset) (→‎HTTPS / SSL)
Siirry navigaatioon Siirry hakuun

Apache on avoimen lähdekoodin perustuva HTTP - palvelinohjelmisto (webbiserveri). Tämän voi myös asentaa Windowssille ja on integroituna Mac OSX - käyttöjärjestelmään. Tämä on ollut pitkään internetin suosituin webbipalvelin ohjelmisto. Tämä palvelin ja datatekniikka.fi sivustot käyttää myöskin Apachea.

Lisäksi tämän rinnalle suositellaan asentamaan Php5 ja Mysql - tietokanta.

Asentaminen

Apachen asennetaan komennolla:

 aptitude install apache2

Voit testatata sivujasi menemällä selailemma http://palvelimen_ip_osoite. Sivun tulisi näyttää seuraavanlaisena:

 It works!
 This is the default web page for this server.
 The web server software is running but no content has been added, yet.

Apachen oletusverkkosivuhakemisto sijaitsee:

 /var/www/

Apachen konfigurointi tiedostot löytyvät täältä:

 /etc/apache2

Oletusverkkosivun asetukset löytyvät täältä:

 nano /etc/apache2/sites-enabled/000-default

Apachen kanssa voi käyttää myös Php5 ja Mysql.

Konfigurointi

Apachen konfigurointi hakemistosta

 cd /etc/apache2/

löytyy tälläisiä tiedostoja ja hakemistoja:

 apache2.conf  envvars     magic            mods-enabled/  sites-available/
 conf.d/       httpd.conf  mods-available/  ports.conf     sites-enabled/

apache2.conf on pääkonfigurointi tiedosto. Tähän tiedostoon voidaan tehdä kaikki apachen määritykset, vaikka suositeltavaa käyttää erillisiä tiedotoja selkeyden vuoksi.

ports.conf Tänne määritetään portit ja virtuaali isännät vastaavat pyyntöihin. Tarkista jos määrität SSL apacheen.

conf.d Hakemistossa on erityisiä määrityksiä Apachen kokoonpanoon. Täällä on myös charcet tiedosto josta voi sallia UTF-8 merkistökoodauksen.

sites-available/ Hakemistossa on kaikki virtuaali isäntä kokoonpanojen määritys tiedostot.

sites-enabled/ Hakemistossa määritetään mitä todellisuudessa virtuaali isäntiä käytetään

mods-available/ Moduulien määritykset.


apache2.conf

 nano /etc/apache2/apache2.conf

Parametrit tiedotossa:

Timeout Oletuksena määritettu 300s. Tämä kertoo kuinka kauan palvelin vastaa pyyntöön. Suositellaan pienentämään 60, sillä monet palvelimet eivät pysty vastaamaan 300s pyyntöihin.

KeepAlive Jos vaihtoehto on "On" mahdollistaa useiden pyyntöjen toteuttamisen. Jos "Off" niin kaikki pyynnöt käsitellään erikseen, joka voi kasvattaa palvelimen kuormaa.

MaxKeepAliveRequests Rajoitetaan pyyntöjen määrä samaanaikaisena. Pidä tämä mahdollisimman korkealla, palvelimen kuormituksen takia. Jos on määritetty "0", niin palvelin sallii rajoittamattoman pääsyn.

KeepAliveTimeout Pyyntöjen aikakatkaisu aika. Jos pyyntö kestää yli aikakatkaisu ajan, niin yhteys katkaistaan.

sites-available/ (Virtual Host)

Oletuksena tässä hakemistossa on tiedosto default, jonka sisältö näyttää tältä:

<VirtualHost *:80>
       ServerAdmin webmaster@localhost
    
       DocumentRoot /var/www                 //päähakemisto, jossa verkkosivut sijaitsevat
       <Directory />
               Options FollowSymLinks
               AllowOverride None            //Salli konfigurointien yliajamisen (.htaccess)
       </Directory>
       <Directory /var/www/>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride None
               Order allow,deny
               allow from all
       </Directory>
. . .

Oletuksena virtuaali isäntä vastaa kaikkiin pyyntöihin portissa 80, oletus HTTP portti. Kun haluat luoda toisen virtuaali isännän, niin muokkaa tämä tiedostoa ja tallenna toisella nimellä.

Tämän jälkeen laitat sivun käyttöön (Käytössä olevat sivut löytyvät /etc/apache2/sites-enabled/ hakemiston alta):

 a2ensite sivun_nimi

Esimerkiksi

 a2ensite intra

Tämän jälkeen apachen täytyy laittaa lukemaan asetustiedostot uudelleen:

 service apache2 reload

Tämän jälkeen lisää tarvittaessa ports.conf tiedostoon:

 NameVirtualHost isäntänimi:portti

Lisätietoa:

Sivuston poistaminen käytöstä:

 a2dissite sivun_nimi
 service apache2 reload

Virtuaali Directory

Virtuaali Directory mahdollistaa Apachen webbihakemiston hakemisen eri sijannista kuin root hakemisto on

Alias /webbialihakemisto/ "/polku/"
 <Directory "/polku/">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride None
   Order allow,deny
   allow from all
</Directory>

Esimerkki:


 Alias /wwwtesti "/var/wwwtesti/"
 <Directory "/var/wwwtesti/">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride None
   Order allow,deny
   allow from all
 </Directory>

conf.d/charset

Tässä tiedostossa voit määrittää Apachen oletusmerkistökoodaukseski UTF-8.

1. Avaa konfigurointitiedosto:

 nano /etc/apache2/conf.d/charset

2. Poista risuaita # merkki pois kohdasta:

 AddDefaultCharset UTF-8

3. Käynnistä Apache uudelleen

 service apache2 restart

mod-available/mod-evasive.load

Tämä Apachen lisäosa estää DDOS (palvelunestohyökkäykset) webbipalvelimeen.

Asentamien:

 apt-get install libapache2-mod-evasive

Luodaan kansiot:

 mkdir -p /var/log/apache2/evasive

ja määritetään käyttöoikeudet

 chown -R www-data:root /var/log/apache2/evasive

Avataan konfigurointi tiedosto

 nano /etc/apache2/mods-available/mod-evasive.load

Lisätään jos ei ole tiedostoon:

 LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so
 
 DOSHashTableSize 3097
 DOSPageCount 2
 DOSSiteCount 50
 DOSPageInterval 5
 DOSSiteInterval 1
 DOSBlockingPeriod 10
 DOSLogDir “/var/log/apache2/evasive”

DOSPageCount = Sivun pyyntöjen rajoitukset, jos ylittyy niin estolistalle

DOSSiteCount = Sivuston pyyntöjen kokonaismäärän ylitys

DOSPageInterval = Aikaväli sivun pyynnöille

DOSSiteInterval = Aikaväli sivuston pyynnöille

DOSBlockingPeriod = Estoaika

Tarkista asetukset apache2.conf tiedostosta:

nano /etc/apache2/apache2.conf

Ja nämä rivit pitäisi olla tiedostossa

# Include module configuration:
Include mods-enabled/*.load
Include mods-enabled/*.conf

HTTPS / SSL

HTTPS - yhteyttä käyttäessä tarvitaan SSL sertifikaattia varmentamaan sivuston aitouden. Näin saadaan lisäturvaa verkkosivulle.

Tässä ohjeessa näytetään miten luodaan SSL sertifikaatti epävirallisena, jossa ei ole julkista varmentajaa. Tämä tarkoittaa sitä, että selain näyttää virheilmoituksen jos SSL sertifikaattia ei ole selaimen mukaan luetettaa. Suositeltavaa on hankkia kolmannen osapuolen allekirjoittama sertifikaatti, jonka selaimet vahvistavat automaattisesti. Epäviralliset sertifikaatit tulee vahvistaa jokaiseen selaimeen manuaalisesti. Windowssin GPO mahdollistaa sertifikaattien jakelun yritysympäristössä.

Määritetään Apacheen SSL avaamalla /etc/apache2/sites-available/default ja tallentamalla default-ssl nimiseksi

 nano /etc/apache2/sites-available/default
 SSLEngine on
 SSLCertificateFile /etc/ssl/localcerts/ssl.crt
 SSLCertificateKeyFile /etc/ssl/localcerts/ssl.key 
 CTR+O //Tallennat nano teksieditorilla ja kirjoita default-ssl

Käynnistetään SSL sivut

 a2ensite default-ssl

Lisätään SSL moduuli Apacheen

 a2enmod ssl

Lataa Apachen konfigurointi tiedostot uudelleen

 service apache2 reload

12. Sallitaan SSL Apacheen

a2enmod ssl

ja käynnistetään Apache uudelleen

 service apache2 restart

Nyt on valmista, jos tuli virhe niin tuli vika konfiguraatioon

256bittiseen salaukseen on muokattava Apachen konffeihin:

 nano /etc/apache2/mod-available/ssl.conf
 SSLCipherSuite AES256-SHA

.htaccess

.htaccess tiedosto mahdollistaa konfigurointi tiedostojen tallentamisen suoraan verkkosivuhakemistoon, esimerkiksi /var/www/.htaccess.

Sallitaan .htaccess tiedoston ylikirjoittamaan entiset konfiguroinnit:


 /etc/apache2/sites-available/default

seuraavanlaiseksi:

        <Directory /var/www/>
               Options Indexes FollowSymLinks MultiViews
               AllowOverride All
               Order allow,deny
               allow from all
       </Directory>

Käynnistä Apache uudelleen:

 service apache2 restart

Luodaan .htaccess tiedosto /var/www/.htaccess

 nano /var/www/.htaccess

Salasanasuojaus verkkosivulle

!! htpasswd httpd-2.4.4 on rikki. Odota päivitystä. !!


Kirjoita alla olevat rivit .htaccess tiedotoon:

 AuthUserFile /var/.htpasswd
 AuthName "Anna kirjautumisen tiedot"
 AuthType Basic
 require user [käyttäjänimet]

Tallenna tiedosto ja tämän jälkeen luodaan esimerkiksi /var/.htpasswd tiedosto jossa on käyttäjänimet ja salasanat, jolla oikeudet kirjautua sivulle. Suositellaan erityisesti salasanojen kryptaamista. Huomaa, että polut pitää olla palvelimen fyysisiä polkuja, ei verkkopolkuja!

 käyttäjänimi:salasana

Sinun tulee käyttää Debianissa htpasswd työkalua. Internetissä on myös htpasswd työkaluja saatavilla.

Esimerkki:

htpasswd -B /polku/.htpasswd Käyttäjätunnus Salasana

Tallenna tiedosto ja kokeile kirjautua sivullesi.


htpasswd bugin väliaikaisen korjaus

Bugi ei anna kuin Debianissa generoituja salasanojen kirjautumisen järjestelmään.

Voit generoida salasanan tällä komennolla:

 htpasswd -nb user password

Kopioi ja tallenna htpasswd tiedostoon, näin pitäisi toimia

Virhesivut

Kirjoita alla olevat .htaccess tiedostoon. Muuta polut vastaamaan palvelimessasi olevaa polkua.

 ErrorDocument 400 /errors/badrequest.html
 ErrorDocument 401 /errors/authreqd.html
 ErrorDocument 403 /errors/forbid.html
 ErrorDocument 404 /errors/notfound.html
 ErrorDocument 500 /errors/serverr.html
Mainos / Advertisement: