Linux 下Apache安装与OpenSSL配置、代理配置
前言
本文章内容是根据自己安装实践总结所写。在实操中,可能Linux环境不同,会出现不同问题,需要耐心查阅资料,多尝试解决。
目录
准备
在Linux用户目录下,创建一个文件夹,用来存放安装所需要的gz包。这里我创建了个ApacheIns的文件夹,文件名可随意哦!
下载所需安装包。
链接:https://pan.baidu.com/s/1DdrTCZn1vJMpRLb9qwFkJQ 密码:aliy
1.安装gcc
检查是否安装过gcc
gcc -v
安装过,会显示gcc版本,如下图所示:
未安装,进行gcc安装,命令如下:
#yum list gcc-c++
#yum list gcc
#yum install gcc-c++
#rpm -q gcc
如果Linux未连接网络,需要手动下载gcc相关包(链接:),通过手动解压形式安装,命令如下:
rpm -ivh *.rpm --nodeps --force
2.安装APR和APR-Util
将APR和APR-Util上传到ApacheIns,进入ApacheIns文件夹,解压APR和APR-Util
#tar -xvf apr-1.5.2.tar
#tar -xvf apr-util-1.5.2.tar
安装APR
#cd apr-1.5.2
#mkdir /usr/local/apr
#./configure --prefix=/usr/local/apr
#make
#make install
安装APR-Util
#cd apr-util-1.5.2
#mkdir /usr/local/apr-util
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
#yum install expat-devel(无网络时可忽略)
#make
#make install
3.安装PRCE
将PRCE上传到ApacheIns,进入ApacheIns文件夹,解压PRCE
#tar -xvf pcre-8.42.tar
安装
#cd pcre-8.42
#mkdir /usr/local/pcre
# ./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config
#make
#make install
4.安装openssl
将openssl上传到ApacheIns,进入ApacheIns文件夹,解压openssl
#tar -xvf openssl-1.0.2p.tar
安装
#cd openssl-1.0.2p
#mkdir /usr/local/openssl
#./config --prefix=/usr/local/openssl
#make
#make install
进入openssl安装路径,进行配置
#cd /usr/local
配置
#ln -s openssl ssl
#ldconfig
编辑环境变量
#vi /etc/profile
在profile文件中,添加以下环境变量
export OPENSSL=/usr/local/ssl/bin
export PATH=$OPENSSL:$PATH:$HOME/bin
执行配置文件
#source /etc/profile
#ldd /usr/local/ssl/bin/openssl
linux-vdso.so.1 => (0x00007ffc6113a000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000031ffe00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003200200000)
/lib64/ld-linux-x86-64.so.2 (0x00000031ffa00000)
5.安装Apache Http Server
将httpd上传到ApacheIns,进入ApacheIns文件夹,解压httpd
#tar -xvf httpd-2.4.35.tar
安装
#cd httpd-2.4.35
#mkdir /usr/httpd/apache
#./configure --prefix=/usr/httpd/apache --enable-so --enable-ssl=static --with-ssl=/usr/local/ssl --enable-mods-shared=all --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
#make
#make install
6.修改端口,访问地址
打开配置文件
#vi /usr/httpd/apache/conf/httpd.conf
端口:找到Listen 80,改为Listen 1333(端口号随意);ip:找到#ServerName www.example.com:80,改为ServerName ip(ip地址为本机ip地址)
保存;
7.运行Apache
#/usr/httpd/apache/bin/apachectl start
8.验证
浏览器输入地址验证:
http://ip:port/,
显示:It works! 表示Apache服务器启动成功.
1.修改支持配置
#vi /usr/httpd/apache/conf/httpd.conf
将#Include conf/extra/httpd-ssl.conf 改为 Include conf/extra/httpd-ssl.conf
2.检查证书路径是否正确
#vi /usr/httpd/apache/conf/extra/httpd-ssl.conf
检查证书所在位置是否正确:
SSLCertificateFile "/usr/httpd/apache/conf/server.crt"
SSLCertificateKeyFile "/usr/httpd/apache/conf/server.key"
SSLCertificateFile:证书文件
SSLCertificateKeyFile:私钥文件
3.重新启动Apache服务器
#/usr/httpd/apache/bin/apachectl restart
如果报错:
“Syntax error on line 76 of C:/apache/conf/extra/httpd-ssl.conf:SSLSessionCache: ‘shmcb’ session cache not supported (known names: ). Maybe you need to load the appropriate socache module (mod_socache_shmcb?).”
解决方案:
打开httpd.conf,找到 LoadModule socache_shmcb_module modules/mod_socache_shmcb.so,把前面的注释去掉后,重新启动Apache服务器。
1.向apache添加mod_proxy模块
#/usr/httpd/apache/bin/apxs -i -c -a mod_proxy.c proxy_util.c
#/usr/httpd/apache/bin/apxs -i -c -a mod_proxy_http.c
#/usr/httpd/apache/bin/apxs -i -c -a mod_proxy_ftp.c
#/usr/httpd/apache/bin/apxs -i -c -a mod_proxy_connect.c
2.检查是否安装成功
A.检查一
#cd /usr/httpd/apache/modules/
查看该目录下是否有mod_proxy_http.so, mod_proxy_ftp.so, mod_proxy_connect.so, mod_proxy.so四个模块
B.检查二
#vi /usr/httpd/apache/conf/httpd.conf
查看该文件是否生成了以下四行配置:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
若以上两 项都有,则mod_proxy模块安装成功.
3.配置虚拟主机转发请求
#vi /usr/httpd/apache/conf/httpd.conf
将#Include conf/extra/httpd-vhosts.conf 改为 Include conf/extra/httpd-vhosts.conf,并且添加要监听的端口:Listen port
#vi /usr/httpd/apache/conf/extra/httpd-vhosts.conf
在httpd-vhosts.conf文件下方,添加如下配置内容:
<VirtualHost *:port>
ServerName 127.0.0.1 #主机名或域名
SetEnv force-proxy-request-1.0.1
SetEnv proxy-nokeepalive 1
SSLEngine on
SSLProxyEngine on
SSLCertificateFile "/usr/httpd/apache/conf/server.crt" #证书地址
SSLCertificateKeyFile "/usr/httpd/apache/conf/server.key" #密匙地址
SSLCACertificateFile “” #CA证书地址
ProxyRequests Off
SSLVerifyClient require
SSLVerifyDepth 10
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /server2/ http://192.0.10.2:7080/server2/ #weblogic所在主机和端口号
ProxyPassReverse /server2/ http://192.0.10.2:7080/server2/ #weblogic所在主机和端口号
</VirtualHost>
上一篇: 【茶余饭后】安装Apache配置正向代理和反向代理
下一篇: HTML5基础笔记_2