Ero sivun ”Apache ja HTTPS” versioiden välillä
Siirry navigaatioon
Siirry hakuun
p
Ironista.
p (listat) |
p (Ironista.) |
||
(8 välissä olevaa versiota 6 käyttäjän tekeminä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
[[HTTPS]]-protokolla mahdollistaa verkkoliikenteen salaamisen [[wikipedia:fi: | [[HTTPS]]-protokolla mahdollistaa verkkoliikenteen salaamisen [[wikipedia:fi:SSL|SSL]]-yhteyskäytännöllä. Tässä oppaassa otetaan käyttöön [[Apache]]n HTTPS-tuki. | ||
==Varmenne== | ==Varmenne== | ||
Rivi 6: | Rivi 6: | ||
Aloitetaan luomalla varmenne, joka on voimassa halutun ajan. Vanhemmissa järjestelmissä tämä onnistuu komennolla | Aloitetaan luomalla varmenne, joka on voimassa halutun ajan. Vanhemmissa järjestelmissä tämä onnistuu komennolla | ||
apache2-ssl-certificate -days 365 | apache2-ssl-certificate -days 365 | ||
Uudemmissa järjestelmissä komentoa <tt>apache2-ssl-certificate</tt> tai siihen liittyvää asetustiedostoa ei löydy. Ainakin Ubuntu 12.04 voi siinä tapauksessa käyttää komentoa: | |||
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt | |||
ja vastaamalla kysymyksiin. | ja vastaamalla kysymyksiin. | ||
<!-- * Harkinnassa voisi olla read-only slaven tekeminen varsinaisesta koneesta. | <!-- * Harkinnassa voisi olla read-only slaven tekeminen varsinaisesta koneesta. | ||
-- Mitä tämä tarkoittaa? --> | -- Mitä tämä tarkoittaa? --> | ||
Muuten on parasta luoda varmennetiedosto itse seuraavalla [[Bash-skriptaus|skriptillä]]: | |||
<source lang="bash"> | |||
#!/bin/sh -e | #!/bin/sh -e | ||
if [ "$1" != "--force" -a -f /etc/apache2/ssl/apache.pem ]; then | if [ "$1" != "--force" -a -f /etc/apache2/ssl/apache.pem ]; then | ||
Rivi 19: | Rivi 21: | ||
shift | shift | ||
fi | fi | ||
echo | |||
echo creating selfsigned certificate | echo creating selfsigned certificate | ||
echo "replace it with one signed by a certification authority (CA)" | echo "replace it with one signed by a certification authority (CA)" | ||
Rivi 29: | Rivi 31: | ||
# use special .cnf, because with normal one no valid selfsigned | # use special .cnf, because with normal one no valid selfsigned | ||
# certificate is created | # certificate is created | ||
export RANDFILE=/dev/random | |||
openssl req $@ -config ssleay.cnf \ | |||
-new -x509 -nodes -out /etc/apache2/ssl/apache.pem \ | -new -x509 -nodes -out /etc/apache2/ssl/apache.pem \ | ||
-keyout /etc/apache2/ssl/apache.pem -days 365 | -keyout /etc/apache2/ssl/apache.pem -days 365 | ||
chmod 600 /etc/apache2/ssl/apache.pem | |||
ln -sf /etc/apache2/ssl/apache.pem \ | |||
/etc/apache2/ssl/`/usr/bin/openssl \ | /etc/apache2/ssl/`/usr/bin/openssl \ | ||
x509 -noout -hash < /etc/apache2/ssl/apache.pem`.0 | x509 -noout -hash < /etc/apache2/ssl/apache.pem`.0 | ||
</source> | |||
Tässä alkuperäistä varmenteen luovaa skriptiä on muutettu lisäämällä valitsin <tt>-days 365</tt> ja korjattu asetustiedoston polku. Huomaa, että joissain järjestelmissä Apachen asetustiedoston polku saattaa olla jokin muu kuin <tt>/etc/apache2</tt>. | Tässä alkuperäistä varmenteen luovaa skriptiä on muutettu lisäämällä valitsin <tt>-days 365</tt> ja korjattu asetustiedoston polku. Huomaa, että joissain järjestelmissä Apachen asetustiedoston polku saattaa olla jokin muu kuin <tt>/etc/apache2</tt>. | ||
Skripti tarvitsee asetustiedoston, joka on samassa hakemistossa kuin itse skripti ja jonka tiedostonimi on <tt>ssleay.cnf</tt>. Tiedoston sisällön tulee olla kutakuinkin seuraava: | Skripti tarvitsee asetustiedoston, joka on samassa hakemistossa kuin itse skripti ja jonka tiedostonimi on <tt>ssleay.cnf</tt>. Tiedoston sisällön tulee olla kutakuinkin seuraava: | ||
<source lang="bash"> | |||
# | # | ||
# SSLeay example configuration file. | # SSLeay example configuration file. | ||
Rivi 65: | Rivi 69: | ||
emailAddress = Sähköpostiosoite | emailAddress = Sähköpostiosoite | ||
emailAddress_max = 40 | emailAddress_max = 40 | ||
</source> | |||
Tämän lisäksi hakemisto <tt>/etc/apache2/ssl</tt> on luotava ja sen omistajaksi on asetettava pääkäyttäjä (<tt>chown root /etc/apache2/ssl</tt>). | Tämän lisäksi hakemisto <tt>/etc/apache2/ssl</tt> on luotava ja sen omistajaksi on asetettava pääkäyttäjä (<tt>chown root /etc/apache2/ssl</tt>). | ||
Rivi 73: | Rivi 78: | ||
*Asetetaan Apache kuuntelemaan oikeaa porttia lisäämällä tiedostoon <tt>/etc/apache2/ports.conf</tt> rivi: | *Asetetaan Apache kuuntelemaan oikeaa porttia lisäämällä tiedostoon <tt>/etc/apache2/ports.conf</tt> rivi: | ||
Listen 443 | Listen 443 | ||
:443 on [[wikipedia:fi:https|https:n]] | :443 on [[wikipedia:fi:https|https:n]] oletusportti. | ||
*Asetetaan SSL-suojatuille sivuille omat asetukset. Kopioidaan asetustiedoston pohja: | *Asetetaan SSL-suojatuille sivuille omat asetukset. Kopioidaan asetustiedoston pohja: | ||
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl | cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl | ||
Rivi 82: | Rivi 87: | ||
SSLEngine On | SSLEngine On | ||
SSLCertificateFile /etc/apache2/ssl/apache.pem | SSLCertificateFile /etc/apache2/ssl/apache.pem | ||
'''Tai''' vaihtoehtoisesti käytettäessä uudempaa Ubuntu 12.04:n kanssa toimivaa komentoa | |||
SSLEngine on | |||
SSLCertificateFile /etc/apache2/ssl/apache.crt | |||
SSLCertificateKeyFile /etc/apache2/ssl/apache.key | |||
*Aktivoidaan asetukset: | *Aktivoidaan asetukset: | ||
a2ensite ssl | a2ensite ssl | ||
Rivi 95: | Rivi 104: | ||
a2enmod rewrite | a2enmod rewrite | ||
*Muokataan tiedostoa <tt>/etc/apache2/sites-available/default</tt> lisäämällä <VirtualHost *>-tagin sisään: | *Muokataan tiedostoa <tt>/etc/apache2/sites-available/default</tt> lisäämällä <VirtualHost *>-tagin sisään: | ||
<source lang="bash"> | |||
RewriteEngine on | RewriteEngine on | ||
RewriteCond %{SERVER_PORT} ^80$ | RewriteCond %{SERVER_PORT} ^80$ | ||
Rivi 100: | Rivi 110: | ||
RewriteLog "/var/log/apache2/rewrite.log" | RewriteLog "/var/log/apache2/rewrite.log" | ||
RewriteLogLevel 2 | RewriteLogLevel 2 | ||
</source> | |||
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. | 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. | Muutokset tulevat voimaan käynnistämällä Apache uusiksi. | ||
apache2ctl restart | apache2ctl restart | ||
== Katso myös == | |||
* [[HST]] - Henkilökortti ja varmenteet. | |||
==Aiheesta muualla== | ==Aiheesta muualla== | ||
*[ | *[https://forum.ubuntu-fi.org/index.php?topic=7213.0 Keskustelua tästä Ubuntu-fi:n foorumilla.] | ||
*[ | *[https://forum.ubuntu-fi.org/index.php?topic=313.0 Ohje Apache-palvelimen asennukseen Ubuntuun.] | ||
[[Luokka:Apache]] | [[Luokka:Apache]] | ||
[[Luokka:Ohjeet]] | [[Luokka:Ohjeet]] | ||
[[Luokka:Opetusmateriaalit]] | [[Luokka:Opetusmateriaalit]] | ||
[[Luokka:Tietoturva]] |