Muokataan sivua Apache ja HTTPS
Siirry navigaatioon
Siirry hakuun
Kumoaminen voidaan suorittaa. Varmista alla olevasta vertailusta, että haluat saada aikaan tämän lopputuloksen, ja sen jälkeen julkaise alla näkyvät muutokset.
Nykyinen versio | Oma tekstisi | ||
Rivi 1: | Rivi 1: | ||
Otetaan käyttöön [[wikipedia:fi:ssl|SSL]]-salaus käyttöön [[Apache]]n kanssa. Oletetaan, että Apache2 on asennettuna vanhempaan Debian-pohjaiseen järjestelmään. (Debian, Ubuntu, Knoppix...) | |||
== | ====Sertifikaatti==== | ||
Aloitetaan luomalla sertifikaatti joka on voimassa halutun ajan. | |||
apache2-ssl-certificate -days 365 | |||
Vastaile tuleviin kysymyksiin. | |||
* Harkinnassa voisi olla read-only slaven tekeminen varsinaisesta koneesta. | |||
Tätä sertifikaattikomentoa ei löydy uudemmista Debianeista, eikä siihen liittyvää konfiguraatiotiedostoa tai kohdehakemistoa. Ja suurin osa apache2-ssl-certificate-komennoista ei tue mitään vipuja. Helpointa on luoda tiedosto itse: | |||
#!/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 | ||
echo "/etc/apache2/ssl/apache.pem exists! Use \"$0 --force.\"" | echo "/etc/apache2/ssl/apache.pem exists! Use \"$0 --force.\"" | ||
exit 0 | exit 0 | ||
fi | fi | ||
if [ "$1" = "--force" ]; then | if [ "$1" = "--force" ]; then | ||
shift | shift | ||
fi | fi | ||
echo | echo | ||
echo creating selfsigned certificate | echo creating selfsigned certificate | ||
Rivi 29: | Rivi 27: | ||
echo If you want your certificate to expire after x days call this programm | echo If you want your certificate to expire after x days call this programm | ||
echo with "-days x" | echo with "-days x" | ||
# 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 | ||
Rivi 39: | Rivi 38: | ||
/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 | ||
Tässä tiedostoa on muutettu lisäämällä -days 365 vipu komentoon ja korjattu config-tiedoston polku. Configtiedoston oletetaan löytyvän samasta hakemistosta kuin skriptankin. Config-tiedoston sisällä voisi olla vaikka: | |||
# | # | ||
# SSLeay example configuration file. | # SSLeay example configuration file. | ||
# | # | ||
RANDFILE = $ENV::HOME/.rnd | RANDFILE = $ENV::HOME/.rnd | ||
[ req ] | [ req ] | ||
default_bits = 1024 | default_bits = 1024 | ||
default_keyfile = privkey.pem | default_keyfile = privkey.pem | ||
distinguished_name = req_distinguished_name | distinguished_name = req_distinguished_name | ||
[ req_distinguished_name ] | [ req_distinguished_name ] | ||
countryName = Maan nimi (2-kirjaiminen koodi) | countryName = Maan nimi (2-kirjaiminen koodi) | ||
Rivi 58: | Rivi 56: | ||
countryName_min = 2 | countryName_min = 2 | ||
countryName_max = 2 | countryName_max = 2 | ||
stateOrProvinceName = Lääni | stateOrProvinceName = Lääni | ||
stateOrProvinceName_default = Uusimaa | stateOrProvinceName_default = Uusimaa | ||
localityName = Kaupunki | localityName = Kaupunki | ||
organizationName = Organisaation nimi (esim, yritys) | organizationName = Organisaation nimi (esim, yritys) | ||
organizationName_max = 64 | organizationName_max = 64 | ||
organizationalUnitName = Yksikön nimi (esim. osasto) | organizationalUnitName = Yksikön nimi (esim. osasto) | ||
organizationalUnitName_max = 64 | organizationalUnitName_max = 64 | ||
commonName = Palvelimen nimi (esim. www.palvelin.fi) | commonName = Palvelimen nimi (esim. www.palvelin.fi) | ||
commonName_max = 64 | commonName_max = 64 | ||
emailAddress = Sähköpostiosoite | emailAddress = Sähköpostiosoite | ||
emailAddress_max = 40 | emailAddress_max = 40 | ||
Tämän lisäksi hakemisto | Tämän lisäksi hakemisto /apache2/ssl on luotava ja annettava root:in haltuun. | ||
== | ====Aktivoidaan SSL-moduuli==== | ||
a2enmod ssl | a2enmod ssl | ||
====Asetetaan Apache kuuntelemaan oikeaa porttia==== | |||
Lisää tiedostoon '''/etc/apache2/ports.conf''' rivi: | |||
Listen 443 | Listen 443 | ||
443 on [[wikipedia:fi:https|https:n]] oletus portti. | |||
====SSL-suojatuille sivuille omat asetukset==== | |||
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: | |||
NameVirtualHost *:443 | NameVirtualHost *:443 | ||
<virtualhost *:443> | <virtualhost *:443> | ||
Ja laita <virtualhost *:443>-tagin sisään rivit: | |||
SSLEngine On | SSLEngine On | ||
SSLCertificateFile /etc/apache2/ssl/apache.pem | SSLCertificateFile /etc/apache2/ssl/apache.pem | ||
Aktivoidaan asetukset. | |||
a2ensite ssl | a2ensite ssl | ||
Lopuksi käynnistetään Apache uusiksi, jotta kaikki muutokset tulevat voimaan. | |||
apache2ctl restart | 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. | ||
== | ====Mod rewrite==== | ||
Nyt käyttäjä pystyy valitsemaan | 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 | a2enmod rewrite | ||
Muokataan tiedostoa '''/etc/apache2/sites-available/default''' lisäämällä <VirtualHost *>-tagin sisään: | |||
RewriteEngine on | RewriteEngine on | ||
RewriteCond %{SERVER_PORT} ^80$ | RewriteCond %{SERVER_PORT} ^80$ | ||
Rivi 110: | Rivi 110: | ||
RewriteLog "/var/log/apache2/rewrite.log" | RewriteLog "/var/log/apache2/rewrite.log" | ||
RewriteLogLevel 2 | 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. | 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. | ||
Rivi 116: | Rivi 115: | ||
apache2ctl restart | apache2ctl restart | ||
== | ==Linkkejä== | ||
*[http://forum.ubuntu-fi.org/index.php?topic=7213.0 Keskustelua tästä Ubuntu-fi:n foorumilla.] | |||
*[http://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]] | ||