欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux 下Apache安装与OpenSSL配置、代理配置

程序员文章站 2022-04-29 17:20:42
...

前言

本文章内容是根据自己安装实践总结所写。在实操中,可能Linux环境不同,会出现不同问题,需要耐心查阅资料,多尝试解决。

目录

准备

在Linux用户目录下,创建一个文件夹,用来存放安装所需要的gz包。这里我创建了个ApacheIns的文件夹,文件名可随意哦!
下载所需安装包。
链接:https://pan.baidu.com/s/1DdrTCZn1vJMpRLb9qwFkJQ 密码:aliy

一、Apache安装

1.安装gcc

检查是否安装过gcc

gcc -v

安装过,会显示gcc版本,如下图所示:
Linux 下Apache安装与OpenSSL配置、代理配置

未安装,进行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服务器启动成功.

二、Apache OpenSSL配置

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服务器。

三、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>