Rekisteröitymätön käyttäjä
Ero sivun ”Apache ja HTTPS” versioiden välillä
Siirry navigaatioon
Siirry hakuun
ei muokkausyhteenvetoa
Ei muokkausyhteenvetoa |
Ei muokkausyhteenvetoa |
||
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 | 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==== | ====Sertifikaatti==== | ||
Rivi 8: | Rivi 8: | ||
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: | 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.\"" | |||
exit 0 | |||
fi | fi | ||
if [ "$1" = "--force" ]; then | if [ "$1" = "--force" ]; then | ||
shift | |||
fi | fi | ||
echo | 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)" | ||
echo | echo | ||
echo enter your ServerName at the Common Name prompt | echo enter your ServerName at the Common Name prompt | ||
echo | echo | ||
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 | ||
export RANDFILE=/dev/random | export RANDFILE=/dev/random | ||
openssl req $@ -config ssleay.cnf \ | openssl req $@ -config ssleay.cnf \ | ||
-new -x509 -nodes -out /etc/apache2/ssl/apache.pem \ | |||
-keyout /etc/apache2/ssl/apache.pem -days 365 | |||
chmod 600 /etc/apache2/ssl/apache.pem | chmod 600 /etc/apache2/ssl/apache.pem | ||
ln -sf /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 | ||
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: | 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. | |||
# | |||
RANDFILE = $ENV::HOME/.rnd | |||
[ req ] | |||
default_bits = 1024 | |||
default_keyfile = privkey.pem | |||
distinguished_name = req_distinguished_name | |||
[ req_distinguished_name ] | |||
countryName = Maan nimi (2-kirjaiminen koodi) | |||
countryName_default = FI | |||
countryName_min = 2 | |||
countryName_max = 2 | |||
stateOrProvinceName = Lääni | |||
stateOrProvinceName_default = Uusimaa | |||
localityName = Kaupunki | |||
organizationName = Organisaation nimi (esim, yritys) | |||
organizationName_max = 64 | |||
organizationalUnitName = Yksikön nimi (esim. osasto) | |||
organizationalUnitName_max = 64 | |||
commonName = Palvelimen nimi (esim. www.palvelin.fi) | |||
commonName_max = 64 | |||
emailAddress = Sähköpostiosoite | |||
emailAddress_max = 40 | |||
Tämän lisäksi hakemisto /apache2/ssl on luotava ja annettava root:in haltuun. | |||
====Aktivoidaan SSL-moduuli==== | ====Aktivoidaan SSL-moduuli==== |