Ero sivun ”Apache ja HTTPS” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (ehkä vähän jakeluriippumattomammaksi)
Rivi 1: Rivi 1:
Otetaan käyttöön [[wikipedia:en:ssl|SSL]]-salaus käyttöön [[Apache]]n kanssa. Oletaan, että Apache2 on asennettuan järjestelmään. Ohje testattu Ubuntun kanssa.
Otetaan käyttöön [[wikipedia:fi:ssl|SSL]]-salaus käyttöön [[Apache]]n kanssa. Oletaan, että Apache2 on asennettuan järjestelmään.  


====Sertifikaatti====
====Sertifikaatti====
Aloitetaan luomalla sertifikaatti joka on voimassa halutun ajan.
Aloitetaan luomalla sertifikaatti joka on voimassa halutun ajan.
  sudo apache2-ssl-certificate -days 365
  apache2-ssl-certificate -days 365
Vastaile tuleviin kysymyksiin.
Vastaile tuleviin kysymyksiin.


====Aktivoidaan SSL-moduuli====
====Aktivoidaan SSL-moduuli====
  sudo a2enmod ssl
  a2enmod ssl


====Asetetaan Apache kuuntelemaan oikeaa porttia====
====Asetetaan Apache kuuntelemaan oikeaa porttia====
Lisää tiedostoon '''/etc/apache2/ports.conf''' rivi:
Lisää tiedostoon '''/etc/apache2/ports.conf''' rivi:
  Listen 443
  Listen 443
443 on https:n oletus portti.
443 on [[wikipedia:fi:https|https:n]] oletus portti.


====SSL-suojatuille sivuille omat asetukset====
====SSL-suojatuille sivuille omat asetukset====
  sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
  cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
Lisää nyt luotuun tiedostoon ( '''/etc/apache2/sites-available/ssl''' ) kahdelle ensimmäiselle riville porttinumerot tähän tapaan:
Lisää nyt luotuun tiedostoon ( '''/etc/apache2/sites-available/ssl''' ) kahdelle ensimmäiselle riville porttinumerot tähän tapaan:
  NameVirtualHost *:443
  NameVirtualHost *:443
Rivi 23: Rivi 23:
  SSLCertificateFile /etc/apache2/ssl/apache.pem
  SSLCertificateFile /etc/apache2/ssl/apache.pem
Aktivoidaan asetukset.
Aktivoidaan asetukset.
  sudo a2ensite ssl
  a2ensite ssl


Lopuksi käynnistetään Apache uusiksi, jotta kaikki muutokset tulevat voimaan.
Lopuksi käynnistetään Apache uusiksi, jotta kaikki muutokset tulevat voimaan.
  sudo /etc/init.d/apache2 force-reload
  apache2ctl restart


Nyt salaus pitäisi tulla käyttöön, kun sivuille mennään https-alkuisella osoitteella http:n sijaan.
Nyt salaus pitäisi tulla käyttöön, kun sivuille mennään https-alkuisella osoitteella http:n sijaan.
Rivi 34: Rivi 34:


Aktoivoidaan taas oikea moduuli.
Aktoivoidaan taas oikea moduuli.
  sudo a2enmod rewrite
  a2enmod rewrite
Muokataan tiedostoa '''/etc/apache2/sites-available/default''' lisäämällä <VirtualHost *>-tagin sisään:
Muokataan tiedostoa '''/etc/apache2/sites-available/default''' lisäämällä <VirtualHost *>-tagin sisään:
  RewriteEngine  on
  RewriteEngine  on
Rivi 44: Rivi 44:


Muutokset tulevat voimaan käynnistämällä Apache uusiksi.
Muutokset tulevat voimaan käynnistämällä Apache uusiksi.
  sudo /etc/init.d/apache2 force-reload
  apache2ctl restart


==Linkkejä==
==Linkkejä==

Versio 8. helmikuuta 2007 kello 16.13

Otetaan käyttöön SSL-salaus käyttöön Apachen kanssa. Oletaan, että Apache2 on asennettuan järjestelmään.

Sertifikaatti

Aloitetaan luomalla sertifikaatti joka on voimassa halutun ajan.

apache2-ssl-certificate -days 365

Vastaile tuleviin kysymyksiin.

Aktivoidaan SSL-moduuli

a2enmod ssl

Asetetaan Apache kuuntelemaan oikeaa porttia

Lisää tiedostoon /etc/apache2/ports.conf rivi:

Listen 443

443 on https:n oletus portti.

SSL-suojatuille sivuille omat asetukset

cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl

Lisää nyt luotuun tiedostoon ( /etc/apache2/sites-available/ssl ) kahdelle ensimmäiselle riville porttinumerot tähän tapaan:

NameVirtualHost *:443
<virtualhost *:443>

Ja laita <virtualhost *:443>-tagin sisään rivit:

SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem

Aktivoidaan asetukset.

a2ensite ssl

Lopuksi käynnistetään Apache uusiksi, jotta kaikki muutokset tulevat voimaan.

apache2ctl restart

Nyt salaus pitäisi tulla käyttöön, kun sivuille mennään https-alkuisella osoitteella http:n sijaan.

Mod rewrite

Nyt käyttäjä pystyy valitsemaan käyttääkö hän salausta vai ei. Usein halutaan pakottaa käyttäjä käyttämään salattua yhteyttä. Se onnistuu Mod rewritella.

Aktoivoidaan taas oikea moduuli.

a2enmod rewrite

Muokataan tiedostoa /etc/apache2/sites-available/default lisäämällä <VirtualHost *>-tagin sisään:

RewriteEngine   on
RewriteCond     %{SERVER_PORT} ^80$
RewriteRule     ^/salainen(.*)$ https://%{SERVER_NAME}/salainen$1 [L,R]
RewriteLog      "/var/log/apache2/rewrite.log"
RewriteLogLevel 2

Nyt http://www.example.com/salainen/ ohjautuu automaattisesti SSL-salattuun yhteyteen https://www.example.com/salainen/. Jos haluat kaikki sivut SSL-salauksen alle voit jättää edelliseen hakemiston kohdalle pelkästään /:n. Eli jätä vain sana "salainen" pois.

Muutokset tulevat voimaan käynnistämällä Apache uusiksi.

apache2ctl restart

Linkkejä