apache 安装

apache

apache 既是 httpd

apache安装

apr 和 apr-util 是一个通用的函数库,他让httpd可以不关心底层的操作系统平台,可以方便移植(从linux到windows)

  • tar -zxvf httpd-2.4.26.tar.gz
  • tar -zxvf apr-util-1.5.4.tar.gz
  • tar -zxvf apr-1.5.2.tar.gz #系统已经安装了就不用安装了,

  • cd /usr/src/local/apr-1.5.2

  • ./configure —prefix=/usr/local/apr
  • make && make install

  • cd /usr/src/local/apr-util-1.5.4

  • ./configure —prefix=/usr/local/apr-util —with-apr=/usr/local/apr
  • make && make install
  • 出错因为没有expat.h 头文件: yum search expat;搜索到yum -y install expat-devel.x86_64 #安装后然后重新make编译安装

  • 出错“pcre-config for libpcre not found”:yum search pcre;搜索到 yum -y install pcre-devel.x86_64

  • cd /usr/src/local/httpd-2.4.26

./configure \
 --prefix=/usr/local/apache2.4\
 --with-apr=/usr/local/apr\
 --with-apr-util=/usr/local/apr-util\
 --enable-so\
 --enable-mods-shared=most

  

  • make && make install

    •  出现 undefined reference to 'XML_GETErrorCode'等等
      原因是编译apr-util的时候缺少了xml相关的库, yum -y install libxml2-devel
       删除apr-util安装的目录和makefile(make distclean),重新进行安装,然后重新执行安装apache

  • ls /usr/localapache2.4/modules
  • /usr/local/apache2.4/bin/httpd -M #查看加载的模块

    带share字样的,表示该模块为动态共享模块,static表示静态模块
    区别在于静态模块与/usr/local/apache2.4/bin/httpd 绑定在一起,我们看不到,而动态模块都是一个个独立的存在的文件modules目录下面的.so文件都是

  • /usr/local/apache2.4/bin/apachectl start #启动服务
  • 支持 ssl,参考 (apache扩展模块)[https://www.cnblogs.com/wanderingfish/p/8125453.html] 
# 源码编译加上
--enable-ssl --with-ssl=/path/to/ssl 
其中 --with-ssl 是 openssl 安装位置:  
find / -name openssl 没有安装 需要 yum install openssl-devel 安装

./configure
--prefix=/home/xujb/soft/apache2.2.9 \
--with-apr=/home/xujb/soft/apr-http-2.2.9 \
--with-apr-util=/home/xujb/soft/apr-util-http.2.29 \
--enable-so \
--enable-mods-shared=most \
--enable-ssl
--with-ssl=/home/xujb/soft/openssl0.9/
make && make install

测试

[root@localhost apache2.2.9]# bin/apachectl -t
httpd: Syntax error on line 81 of /home/xujb/soft/apache2.2.9/conf/httpd.conf: Cannot load /home/xujb/soft/apache2.2.9/modules/mod_ssl.so into server: libssl.so.0.9.8: cannot open shared object file: No such file or directory

报错: 

echo "/home/xujb/soft/openssl0.9/lib" >> /etc/ld.so.conf

ldconfig -v # 查看加载库文件 动态链接库 或者使用临时动态库 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/xujb/soft/openssl0.9/lib

  

 
 
 

posted on 2017-12-18 08:20  游荡的鱼  阅读(159)  评论(0编辑  收藏  举报

导航