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

Siirry navigaatioon Siirry hakuun
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/Ubuntu-järjestelmään.  
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:
<code>
  #!/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
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 \
    -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
  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
</code>
 
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====