Chinaunix首页 | 论坛 | 博客
  • 博客访问: 475112
  • 博文数量: 132
  • 博客积分: 2995
  • 博客等级: 少校
  • 技术积分: 1412
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-06 20:14
文章分类

全部博文(132)

文章存档

2010年(2)

2008年(21)

2007年(109)

我的朋友

分类:

2007-03-10 13:34:54


一、安装环境
1、硬件环境:
    CPU: P4 2.8
    memory:512M
2、软件环境:
    OS: FreeBSD 6.0-RELEASE
    compiler: gcc 3.4.4
              perl 5.8.7  
              make 3.81
二、所需软件
    Apache 2.0.58
    mod_perl-2.0.2
    ssl.ca-0.1

三、apache2.x软件安装
1、软件名称:httpd-2.0.58.tar.gz
     安装路径:/usr/softtest/apache2058
     安装过程:
     tar httpd-2.0.58.tar.gz
     cd httpd-2.0.58
     ./configure --enable-so --enable-shared=max --with-mpm=worker \
     --enable-deflate --enable-headers --prefix=/usr/softtest/apache2058 \
     --enable-rewrite --enable-proxy --enable-ssl --with-ssl=/usr/local/ssl \
     --enable-modules=all
     make                                                            
     make install 
    
     -------------------------
     为apache产生证书(ssl加密):

     cp ssl.ca-0.1.tar.gz /usr/local/apache2/conf
     cd /usr/local/apache2/conf
     tar zxvf ssl.ca-0.1.tar.gz
     cd ssl.ca-0.1
     ./new-root-ca.sh (生成根证书)
     ...略

     这样就生成了ca.key和ca.crt两个文件,下面还要为我们的服务器生成一个证书:
     ./new-server-cert.sh server (这个证书的名字是server)
     ...略

     这样就生成了server.csr和server.key这两个文件。
     还需要签署一下才能使用的:
     ./sign-server-cert.sh server
     ...略

     server.crt: OK
     (如果这里出现错误,最好重新来过,删除ssl.ca-0.1这个目录,从解压缩处重新开始。)
     下面要按照ssl.conf里面的设置,将证书放在适当的位置。
     chmod 400 server.key
     cd ..
     mkdir ssl.key
     mv ssl.ca-0.1/server.key ssl.key
     mkdir ssl.crt
     mv ssl.ca-0.1/server.crt ssl.crt
     然后就可以启动啦!
     cd /usr/softtest/apache2058
    ./bin/apachectl startssl
     -------------------------
     注:以上步骤需要人机交互

     注:apache 2.0.54用openssl-0.9.8b会出现下面错误,所以得用openssl-0.9.7i
         error: `PEM_F_DEF_CALLBACK' undeclared (first use in this function)

     安装的openssl默认是没有编译成动态链接库的,因为其文档说openssl的动态链接库还不成熟,
     可以使用 ./config shared 编译带动态链接库的openssl,但是还处于试验阶段。
     解决这个问题的办法是:将mod_ssl静态的编译到apache里面。
  
  2、软件名称:mod_perl-2.0-current.tar.tar
     安装路径:/usr/local
     安装过程:
     tar xzf mod_perl-2.0-current.tar.tar
     cd mod_perl-2.0.2
     perl Makefile.PL MP_APXS=/usr/softtest/apache2058/bin/apxs
     make
     make test
     make install
  
     需要在apache的httpd.conf文件中加入以下内容: 
     LoadModule perl_module modules/mod_perl.so

四、apache1.x软件安装
1、所需软件
   apache_1.3.33.tar.gz
   mod_perl-1.29.tar.gz
   mod_ssl-2.8.22-1.3.33.tar.gz
   openssl-0.9.7f.tar.gz
   php-4.3.11.tar.gz
   2、软件安装
    # tar xzxf apache_1.3.33.tar.gz
   # tar xzvf openssl-0.9.7f.tar.gz
   # tar xzvf mod_perl-1.29.tar.gz
   # tar xzvf mod_ssl-2.8.22-1.3.33.tar.gz
   # php-4.3.11.tar.gz
   ①openssl安装
    #tar xvzf openssl-0.9.7f.tar.gz
   #cd openssl-0.9.7f
   # ./config
   #make
   ②mod_ssl
   # tar xzvf mod_ssl-2.8.22-1.3.33.tar.gz
   # cd mod_ssl-2.8.22-1.3.33
   # ./configure --with-apache=../apache_1.3.33 --with-ssl=../openssl-0.9.7f
   ③mod_perl
   # cd mod_perl-1.29
   # perl Makefile.PL APACHE_SRC=../apache_1.3.33/src  USE_APACI=1
   USE_DSO=1 EVERYTHING=1 NO_HTTPD=1  PREP_HTTPD=1
   # make
   # make install
   ④apache安装
    # cd apache_1.3.33
   #vi  src/include/ httpd.h
   define HARD_SERVER_LIMIT 512
   #./configure --prefix=/usr/local/apache \
    --activate-module=src/modules/perl/libperl.a \
    --enable-shared=max  --enable-module=all --enable-module=ssl \
    --enable-suexec  --suexec-caller=www
   #make
   #make certificate
   #make install
   注:"make certificate"产生证书,需要人机交互

   ⑤php安装
    #cd php-4.3.11
   #./configure --prefix=/usr/local/php \
     --with-apxs=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql \
     --with-pgsql=/usr/local/pgsql --with-gd=/usr/local --enable-versioning
     --enable-mbstring --enable-mbstr-enc-trans --enable-mbregex
   #make
   #make install
  3、配置Apache
   修改apache配置文件httpd.conf
   #cd /usr/local/apache/conf
   #vi httpd.conf
      创建/home/test.com/htdocs和
    /home/test.com/htdocs目录
   (由于虚拟主机指明的是这个目录默认没有该目录需要手工创建,也可把126的同步
    过来.保持文件拥有者和权限与126的保持一致)
   4、添加启动脚本
    ①创建/usr/local/etc/rc.d/010apache.sh启动脚本
      内容如下:
     #!/bin/sh
     PATH=/usr/local/apache/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
     export PATH
     case $1 in
     'start')
       exec env - PATH=$PATH \
        apachectl start
       ;;
     'stop')
       exec env - PATH=$PATH \
        apachectl stop
       ;;
      *)
       echo "usage: $0 {start|stop}"
       ;;
     esac
    ②启动Apache服务
     /usr/local/apache/bin/apachectl start

阅读(1083) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~