linux 安装apache2.2.4

安装 apache先需要先安装三个组件

http://apr.apache.org/download.cgi

下载 apr和apr-util

http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip

下载后传送到linux上

安装apr

    [root@xttest]#tar-zxfapr-1.4.5.tar.gz [root@xttest]#cdapr-1.4.5 [root@xtapr-1.4.5]#./configure–prefix=/usr/local/apr [root@xtapr-1.4.5]#make&&makeinstall

安装apr-util

    [root@xttest]#tar-zxfapr-util-1.3.12.tar.gz [root@xttest]#cdapr-util-1.3.12 [root@xtapr-util-1.3.12]#./configure–prefix=/usr/local/apr-util-with-apr=/usr/local/apr/bin/apr-1-config [root@xtapr-util-1.3.12]#make&&makeinstall

安装pcre

    [root@xttest]#unzip-opcre-8.10.zip [root@xttest]#cdpcre-8.10 [root@xtpcre-8.10]#./configure–prefix=/usr/local/pcre[root@xtpcre-8.10]#make&&makeinstall

下载apche2.2.4 地址http://httpd.apache.org/download.cgi将apr和apr-util 放到 apache安装目录下的srclib下 去掉版本号 改名为apr和apr-util通过命令执行下面脚本运行./configure –prefix=/usr/local/apache –sysconfdir=/usr/local/apache/conf–enable-so –enable-ssl –with-ssl=/usr/local/ssl–enable-track-vars –enable-rewrite –with-z-dir=/usr/local/zlib–enable-mods-shared=most–with-included-apr–with-apr=/usr/local/apr–with-apr-util=/usr/local/apr-util/ –with-pcre=/usr/local/pcre红色的这个必须要加 不然无法启动httpd 会报错如下httpd:Syntaxerroronline140of/usr/local/apache2/conf/httpd.conf:Cannotload/usr/local/apache2/modules/mod_dir.sointoserver:/usr/local/apache2/modules/mod_dir.so:undefinedsymbol:apr_array_clear记得命令中每个–前面必须要有空格 不然 加了相当于没加 –with-z-dir=/usr/local/zlib命令使用zlib压缩网络数据 需要安装zlib库http://www.zlib.net/ 下载./configure –prefix=/usr/local/zlibmakemake install需要openssl (必须在安装apache之前安装不然缺少lib库 红色的部分不能缺少不然apache无法加载ssl库)openssl.org下载./config –prefix=/usr/local/ssl -g3 shared zlib-dynamic enable-camelliamake && make install安装apache/usr/local/apache 安装了apache组件安装完成后 使用 进入apche/bin目录 使用命令 apachectl -k start出现错误httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName进入配置文件目录/conf目录下修改ServerNamewww.exam.com:80 前面的#去掉改成ServerName 127.0.0.1:80即可如果配置文件配置在 etc/httpd下面而不是apache/conf 不是/etc/httpd的httpd.conf 而是 conf目录下的httpd.conf 不然无效强烈建议最好配置文件安装在apache/conf目录下 不然会出现加loadmodule 失败的各种问题配置集群打开httpd.confLoadModule slotmem_shm_module modules/mod_slotmem_shm.soLoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.soLoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.soLoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.soLoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.soLoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.so前面#去掉如果红色部分不加上 可能启动不报任何错误 但是看日志error文件会出现以下错误[Fri Aug 10 18:32:25.298650 2012] [:emerg] [pid 7859:tid 47937562389216] AH00020: Configuration Failed, exiting

判断是否启动直接看log下或者httpd/run目录下是否有httpd.pid文件 或者 ps -ef | grep httpd或者 netstat -aon | grep 端口号

如果不加载lbmethod 这几个模块 下面集群的lbmethod就没法使用如果需要配置粘性session 集群 如果将proxy放在virtualhost外 粘性session无效在httpd.conf最下面添加<VirtualHost *:8888> ServerAdmin lixin1112003@126.com ServerName localhost ServerAlias localhost ProxyPass / balancer://cluster/ lbmethod=byrequests stickysession=JSESSIONID|jsessionid nofailover=On ProxyPassReverse / balancer://cluster/ #ErrorLog "/logs/error.log" #CustomLog "/logs/access.log" common <proxy balancer://cluster> BalancerMember ajp://localhost:8019 loadfactor=1 route=tomcat_a smax=5 max=20 ttl=120 retry=300 timeout=15 BalancerMember ajp://localhost:9019 loadfactor=1 route=tomcat_b smax=5 max=20 ttl=120 retry=300 timeout=15 ProxySet lbmethod=byrequests </proxy> </VirtualHost> 说明 :lbmethod=byrequests(根据请求数来均衡)bytraffic(根据传送的字节数来均衡 也就是流量)bybusyness(根据执行请求的平衡)具体参数干嘛用的 直接参考 http://httpd.apache.org/docs/2.2/mod/mod_proxy.html8888是上面配置的端口Listen 8888如果需要重新编译apache 安装 直接删除掉开始的usr/local/apache然后就编译运行 安装过程只生成了 文件 没有任何其他服务生成 不像rpm包注意一个问题 不要再相同的解压好了的包重新编译 不然配置是无效的最好删除掉重新解压一份在配置 编译如果需要配置ssl打开httpd.conf 去掉注释LoadModule socache_shmcb_module modules/mod_socache_shmcb.soLoadModule ssl_module modules/mod_ssl.so# Secure (SSL/TLS) connectionsInclude conf/extra/httpd-ssl.conf打开httpd-ssl.conf找到SSLCertificateFile "/root/qymg/server.cer"SSLCertificateKeyFile "/root/qymg/server.key"改成你的证书路径在<VirtualHost _default_:443>下面加上ServerAdmin lixin1112003@126.com ServerName localhost ServerAlias localhost ProxyRequests Off ProxyPass / balancer://cluster/ lbmethod=byrequests stickysession=JSESSIONID|jsessionid nofailover=On ProxyPassReverse / balancer://cluster/ #ErrorLog "/logs/error.log" #CustomLog "/logs/access.log" common <proxy balancer://cluster> BalancerMember ajp://localhost:8019 loadfactor=1 route=tomcat_a smax=5 max=20 ttl=120 retry=300 timeout=15 BalancerMember ajp://localhost:9019 loadfactor=1 route=tomcat_b smax=5 max=20 ttl=120 retry=300 timeout=15 ProxySet lbmethod=byrequests </proxy>启动 apachectl -k start 报错

Syntax error on line 21 of /usr/local/apache/conf/httpd.conf:Cannot load /usr/local/apache/libexec/libssl.so into server: libssl.so.1.0.0.: cannot open shared object file: No such file or directory

因为我们加载的模块是 mod_ssl.so通过命令查询 mod_ssl.so依赖哪些库[root@tianchi154 modules]# ldd mod_ssl.so linux-vdso.so.1 => (0x00007fffdabfa000) libssl.so.1.0.0 => not found libcrypto.so.1.0.0 => not found libuuid.so.1 => /lib64/libuuid.so.1 (0x00002ac2a25e7000) librt.so.1 => /lib64/librt.so.1 (0x00002ac2a27eb000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002ac2a29f5000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ac2a2c2d000) libdl.so.2 => /lib64/libdl.so.2 (0x00002ac2a2e48000) libc.so.6 => /lib64/libc.so.6 (0x00002ac2a304d000) /lib64/ld-linux-x86-64.so.2 (0x0000003ebc400000)发现libssl.so.1.0.0和libcrypto.so.1.0.0找不到通过 whereis libssl.so.1.0.0命令找不到这个库 说明环境变量没有最后发现这两个库是openssl的两个库到openssl目录的lib下发现有这两个库如果要让mod_ssl.so找到这两个库必须将ssl/lib添加到 LD_LIBRARY_PATH变量下~/.bashrc(每次登录每次打开shell读取一次) 或者 ~/.bash_profile(每次登录读取一次)添加语句

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib

重新打开shell 输入 echo $LD_LIBRARY_PATH 可以看到路径ok在执行 apachectl -k start访问https://ip/正常访问 解决安装过程错综复杂 错误频出 结果一一解决漫无目的的生活就像出海航行而没有指南针

linux 安装apache2.2.4

相关文章:

你感兴趣的文章:

标签云: