Justtechjobs.com Find a programming school near you






Online Campus Both


php3-list | 199807

[PHP3] MY COMPLETE INSTALL METHOD: Apache + SSLeay + PHP From: Steve Maring (smaring <email protected>)
Date: 07/16/98

Hope this helps someone. This is my install method for getting Apache_1.3.0 +
SSLeay0.9.0b + apache_1.3.0+ssl_1.19 + PHP3 to run on my RedHat 5.1 intel box.

Outstanding issues:
1) getting gcache in Ben's patch to work (for performance enhancement)
2) bug in PHP3 file src/modules/php3/libphp3.module
3) stopping httpsd proc. kill PID does not seem to do it.

The Method:
1) untar SSLeay-0.9.0b.tar, php-3.0.tar, and apache_1.3.0.tar in usr/local/src
2) build SSLeay-0.9.0b:
        a) cd /usr/local/src/SSLeay-0.9.0b
        b) perl util/perlpath.pl /usr/bin
        c) ./Configure linux-elf
        d) make depend
        e) make
        f) make test
        g) make install
        h) mkdir /usr/local/ssl/crl
        i) mkdir /usr/local/ssl/newcerts
        j) echo "01" > /usr/local/ssl/serial
        k) touch /usr/local/ssl/index.txt
        l) add SSLDIR=/usr/local/ssl to environment variables
        m) add /usr/local/ssl/bin to PATH
        n) vi /usr/local/ssl/lib/ssleay.cnf
                i) change dir = /usr/local/ssl
                ii) change certificate = $dir/certs/CAcert.pem
                iii) change defaults
3) apply Ben's SSLeay patch to apache
        a) place apache_1.3.0+ssl_1.19.tar in /usr/local/src/apache_1.3.0
        b) cd /usr/local/src/apache_1.3.0
        c) tar xvf apache_1.3.0+ssl_1.18.tar
        d) patch -p1 < SSLpatch
        e) touch src/modules/ssl/Makefile.libdir ('cause Ben said so)
        f) vi src/Configuration.tmpl
                i) change SSL_BASE=/usr/local/src/SSLeay-0.9.0b
        g) vi src/modules/ssl/apache_ssl.c
                i) turn off gcache
                        change '#define CACHE_SESSIONS TRUE'
                        to '#define CACHE_SESSIONS FALSE'
4) build PHP3
        a) ./configure --prefix=/usr/local/apache
        b) cd /usr/local/src/php-3.0
        c) ./configure --with-apache=/usr/local/src/apache_1.3.0
        d) make
        e) make install
        f) vi src/modules/php3/libphp3.module
                on the LIBS line:
                change "-Lmodules/php3 -L../modules/php3"
                to "-Lmodules/php3 -L../modules/php3 -L../../modules/php3"
5) build apache
        a) cd /usr/local/src/apache_1.3.0
        b) ./configure --prefix=/usr/local/apache \
                        --activate-module=src/modules/php3/libphp3.a
        c) make
        d) make install
        e) cp src/httpsd /usr/local/apache/bin
6) configuration issues
        a) cd /usr/local/ssl
        b) create a self-signed CA certificate:
                ssleay req -new -x509 -keyout ${SSLDIR}/private/CAkey.pem \
                -out ${SSLDIR}/certs/CAcert.pem -config ${SSLDIR}/lib/ssleay.cnf
        c) create a server certificate request
                i) cd /usr/local/ssl
                ii) ssleay req -new -keyout private/serverkey.pem -out \
                        serverreq.pem -days 365 -config ${SSLDIR}/lib/ssleay.cnf
                iii) cat serverreq.pem private/serverkey.pem \
> server_cert_req.pem
        d) sign the server certificate request:
                ssleay ca -policy policy_anything -out certs/servercert.pem \
                -config ${SSLDIR}/lib/ssleay.cnf -infiles server_cert_req.pem
        e) rm serverreq.pem server_cert_req.pem (just for cleanup)
        f) remove passphrase from server key (so httpsd will start w/o pass request)
                i) cd private
                ii) mv serverkey.pem serverkey.pem.orig
                iii) ssleay rsa -in serverkey.pem.orig -out serverkey.pem
        g) configure /usr/local/apache/conf/srm.conf
                DocumentRoot /files/htdocs/reg
                DirectoryIndex index.html index.phtml
                FancyIndexing on
                (icon stuff ...)
                ReadmeName README
                HeaderName HEADER
                IndexIgnore .??* *" *# HEADER* README* RCS
                AccessFileName .htaccess
                DefaultType text/plain
                (encoding stuff ...)
                (language stuff ...)
                Alias /icons/ /usr/local/apache/share/icons/
                AddType application/x-httpd-php3 .phtml
                AddType application/x-httpd-php3-source .phps
                (BrowserMatch stuff ...)
        h) configure /usr/local/apache/conf/httpd.conf
                ServerType standalone
                Port 80
                Listen 80
                Listen 443
                HostnameLookups off
                User nobody
                Group #-1
                ServerAdmin root <email protected>
                ServerRoot /usr/local/apache
                ErrorLog /usr/local/apache/var/log/error_log
                LogLevel debug
                (LogFormat stuff ...)
                CustomLog /usr/local/apache/var/log/access_log common
                PidFile /usr/local/apache/var/run/httpd.pid
                ScoreBoardFile /usr/local/apache/var/run/httpd.scoreboard
                ServerName jete.ml.org
                UseCanonicalName on
                Timeout 300
                KeepAlive On
                MaxKeepAliveRequests 100
                KeepAliveTimeout 15
                MinSpareServers 5
                MaxSpareServers 10
                StartServers 5
                MaxClients 150
                MaxRequestsPerChild 30
                # Uncomment the next three lines when gcache starts to work better
                # SSLCacheServerPath ../src/modules/ssl/gcache
                # SSLCacheServerPort 1234
                # SSLSessionCacheTimeout 15
                SSLCACertificatePath /usr/local/ssl/cert
                SSLCACertificateFile /usr/local/ssl/cert/CAcert.pem
                SSLCertificateFile /usr/local/ssl/cert/servercert.pem
                SSLCertificateKeyFile /usr/local/ssl/private/serverkey.pem
                SSLVerifyClient 0
                SSLVerifyDepth 10
                SSLLogFile /tmp/ssl.log
                SSLDisable
                <VirtualHost jete.ml.org:443>
                SSLEnable
                DocumentRoot /files/htdocs/sec
                </VirtualHost>
7) create some test pages
        a) vi /files/htdocs/reg/index.phtml
                <HTML>
                <BODY>
                <?php
                        echo("Hello from the insecure PHP page");
                ?>
                </BODY>
                </HTML>
        b) vi /files/htdocs/sec/index.html
                <HTML>
                <BODY>
                Hello from the secure page.
                </BODY>
                </HTML>
8) start apache (say a few prayers if so inclined)
        a) /usr/local/apache/bin/httpsd -d /usr/local/apache

I'd love feedback if you find something wrong here. :-)

Good Luck!

-Steve Maring
smaring <email protected>
GTE Enterprise Solutions
Tampa, FL USA

--
PHP 3 Mailing List   http://www.php.net/
To unsubscribe send an empty message to php3-unsubscribe <email protected>
To subscribe to the digest list:  php3-digest-subscribe <email protected>
For help: php3-help <email protected>  Archive: http://www.tryc.on.ca/php3.html