Strona główna
Projekt
Harmonogram
Przebieg pracy
Raporty
Referaty
Dokumentacja
Linki


PKI
Kryptografia
SSL
Instalacja
mod_ssl
IMAP
Słownik




  wersja drukowalna

Instalacja i konfiguracja pakietów używanych w implementacji PKI

Daniel Rychcik
18-04-2001

0. Założenia wstępne

  • Zakładamy, że osoba instalująca pakiety ma uprawnienia administratora oraz, że wydzielony jest osobny katalog na źródła programów związanych z zadaniem (np. /usr/src/CA).
  • Zakładamy, że dostępny jest program tar w wersji GNU. Jeżeli nie, to należy polecenia postaci:
  •     tar xzvf nazwa_pliku.tar.gz
    zastąpić poleceniami postaci:
        gzip -d -c nazwa_pliku.tar.gz | tar xzvf -
  • W przykładowych metodach instalacji znak \ oznacza kontynuację w następnej linii. Nie podano w nich także dokładnych numerów wersji pakietów - w ich miejscu są znaki 'x'.
  • Jeżeli nie jest to wyraźnie zaznaczone, zakładamy, że użytkownik używa shella bash

1. Pakiety wspomagające

1.1. zlib - biblioteka kompresji danych.

Biblioteka ta jest używana przez PHP. Z reguły jakaś jej wersja znajduje się w systemie, jednak warto zawsze ściągnąć i skompilować najnowszą wersję. Można ją zdobyć pod adresem: http://www.cdrom.com/pub/infozip/zlib/.

W celu zainstalowania biblioteki należy wykonać następujące polecenia:

    tar xzvf zlib.tar.gz
    cd zlib-x.x.x
    ./configure --prefix=/usr/local
    make
    make install
    cd ..

1.2. mm - biblioteka zarządzania pamięcią.

Jest ona zalecana (choć nie obowiązkowa) przez autorów OpenSSL. Najnowszą wersję można znależć pod adresem http://www.engelschall.com/sw/mm/.

Kompilujemy ją podobnie:

    tar xzvf mm-x-x-x.tar.gz
    cd mm-x.x.x
    ./configure --prefix=/usr/local
    make
    make install
    cd ..

1.3. BerkeleyDB - back-end bazy danych dla LDAP.

Jest to jedna z wielu dostępnych (i zalecana w tym przypadku) implementacja fizycznego przechowywania danych dla serwera LDAP. Jest dostępna pod adresem http://www.scleepycat.com.

Zalecamy zainstalowanie programu bezpośrednio w katalogu /usr/local - ułatwia to testowanie aplikacji, a nie wprowadza większego bałaganu w systemie. Jedyny nietypowy katalog tworzony przy instalacji to /usr/local/docs - podany sposób instalacji przenosi go w standardowe (dla Linuxa) miejsce:

    tar xzvf db-x.x.xx.tar.gz
    cd db-x.x.xx/dist
    ./configure --enable-test --prefix=/usr/local
    make
    make install
    mkdir /usr/doc/BerkeleyDB
    mv /usr/local/docs/* /usr/doc/BerkeleyDB
    rmdir /usr/local/docs
    cd ../..

2. OpenSSL.

W stosunku do standardowej instalacji OpenSSL proponujemy dwie zmiany: instalację plików wykonywalnych i bibliotek do /usr/local (zamiast /usr/local/openssl) oraz pominięcie etapu tworzenia certyfikatów przy instalacji (make certificate).

Sam program można znaleźć pod adresem http://www.openssl.org/. Proponowany sposób instalacji wygląda następująco

    tar xzvf openssl-x.x.x.tar.gz
    cd openssl-x.x.x
    ./config --prefix=/usr/local \
             --openssldir=/usr/local/openssl
    make
    make install
    cd ..

3. OpenLDAP.

Instalacja LDAP-a (http://www.openldap.org) wymaga podania kilku ścieżek do poprzednio zainstalowanych pakietów i wybrania back-endu dla serwera. Oto preferowany sposób instalacji:

    tar xzvf openldap-x.x.x.tar.gz
    cd openldap-x.x.x
    ./configure --prefix=/usr/local                \
                --with-ldbm=/usr/local/BerkeleyDB  \
                --enable-ldap --enable-passwd      \
                --enable-slapd --enable-slurpd     \
                --enable-modules 
    make depend
    make
    make test
    make install
    cd ..

4. Apache + mod_ssl.

Aby zainstalować serwer Apache z obsługą protokołu SSL należy ściągnąć aktualny kod żródłowy (http://www.apache.org) oraz odpowiadającą mu wersję (!) modułu mod_ssl (http://www.modssl.org). Wersje mod_ssl są numerowane w identyczny sposób jak wersje Apache, co ułatwia poszukiwania.

Po ściągnięciu obydwóch pakietów do aktualnego katalogu należy wydać następujące polecenia:

    tar xzvf apache_x.x.xx.tar.gz
    tar xzvf mod_ssl-y.y.yy-x.x.xx.tar.gz
    cd mod_ssl-y.yy.yy-x.x.xx
    ./configure --with-apache=../apache_x.x.xx  \
                --with-mm=../mm-x.x.x           \
                --prefix=/usr/local/apache
    cd ../apache_x.x.xx
    SSL_BASE=../openssl-x.x.x
    EAPI_MM=../mm-x.x.x
    ./configure --prefix=/usr/local/apache      \
                --enable-module=ssl             \
                --enable-module=so              \
                --enable-shared=ssl
    make
    make install
    cd ..

Główny prefix Apache'a można dostosować do własnych potrzeb. Wersje OpenSSL i MM użyte w skrypcie powinny odpowiadać tym, które zostały skompilowane w poprzednich krokach.

5. PHP.

PHP instalujemy również jako moduł DSO. Konfigurujemy wyłącznie wbudowanego klienta MySQL oraz obsługę pakietów zainstalowanych do tej pory. Źródło (dostępne pod adresem http://www.php.net) kompilujemy i instalujemy następująco:

    tar xzvf php-x.x.xxx.tar.gz
    cd php-x.x.xxx
    ./configure --with-apxs=/usr/local/apache/bin/apxs  \
                --with-openssl --with-jpeg-dir          \
                --with-xpm-dir --with-mysql --with-db   \
                --with-ldap=/usr/local --with-zlib      \
                --with-openssl=/usr/local --with-mm
    cd ..

(Zakładamy, że w systemie są zainstalowane tak podstawowe biblioteki jak jpeg oraz xpm).