前提条件
名称 | 说明 |
服务器的 IP 地址 | 服务器的 IP 地址,用于 PC 连接到服务器。 |
用户名 | 登录服务器的用户名。 |
密码 | 登录服务器的密码。 |
操作步骤
环境配置
yum install -y gcc gcc-c++ wget make perl pcre-devel expat-devel bison bison-devel flex flex-devel
# 切换至 /usr/local/ 目录下cd /usr/local/ # 下载 apr 1.7.0wget -c http://mirrors.tencent.com/apache/apr/apr-1.7.0.tar.gz# 解压已下载的 apr 1.7.0 压缩包tar -zvxf apr-1.7.0.tar.gz# 进入解压后的 apr 1.7.0 文件夹并指定编译目录路径。cd apr-1.7.0/./configure --prefix=/usr/local/apr# 编译安装 aprmake && make install
# 切换至 /usr/local/ 目录下cd /usr/local/ # 下载 apr-util-1.6.1wget -c http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz# 解压已下载的 apr-util-1.6.1 压缩包tar -zvxf apr-util-1.6.1.tar.gz # 进入解压后的 apr-util-1.6.1 文件夹并指定编译目录路径。cd /usr/local/apr-util-1.6.1/./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr# 编译安装 apr-utilmake && make install
/usr/local目录下进行编译安装。gmssl_openssl_2021.1011.tar.gz 在解压与安装中请勿修改,否则可能会导致安装错误。/pcre/bin、/apr-util/bin 或 /apr/bin 等文件加入系统路径。# 切换至 /usr/local/ 目录下cd /usr/local/# 下载 Apache httpd-2.4.54 压缩包wget -c http://mirrors.tencent.com/apache/httpd/httpd-2.4.54.tar.gz# 下载 DNSPod 国密模块wget -c https://certificate-1258344699.cos.ap-guangzhou.myqcloud.com/public/gmssl_openssl_2021.1011.tar.gz# 解压已下载的 gmssl_openssl_2021.1011 压缩包tar -zvxf gmssl_openssl_2021.1011.tar.gz# 解压已下载的 httpd-2.4.54 压缩包tar -zvxf httpd-2.4.54.tar.gz# 进入解压后的 httpd-2.4.54 文件夹并指定编译目录路径。cd httpd-2.4.54/./configure --prefix=/usr/local/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork --with-zlib --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-ssl=/usr/local/gmssl LDFLAGS=-lm# 编辑 build/config_vars.mk,修改 ssl 为静态链接vi build/config_vars.mk找到 ab_LIBS = -lssl -lcrypto -lrt -lcrypt -lpthread -ldl替换为:ab_LIBS = /usr/local/gmssl/lib/libssl.a /usr/local/gmssl/lib/libcrypto.a -lssl -lcrypto -lrt -lcrypt -lpthread -ldl# 编译安装 Apachemake install
国密标准证书安装
cloud.tencent.com_apachecloud.tencent.com.key 私钥文件cloud.tencent.com._encrypt.crt 加密证书文件cloud.tencent.com._encrypt.key 加密证书私钥文件root_encrypt_bundle.crt 加密证书链文件cloud.tencent.com._sign.crt 签名证书文件cloud.tencent.com._sign.key 签名证书私钥文件root_sign_bundle.crt 签名证书链文件cloud.tencent.com._sign.csr 文件cd /usr/local/httpd/conf/mkdir cert
cloud.tencent.com.key 私钥文件、cloud.tencent.com._encrypt.crt 加密证书文件、cloud.tencent.com._encrypt.key 加密证书私钥文件、root_encrypt_bundle.crt 加密证书链文件、cloud.tencent.com._sign.crt 签名证书文件、cloud.tencent.com._sign.key 签名证书私钥文件、root_sign_bundle.crt 签名证书链文件 从本地目录拷贝到 Apache 服务器的 /usr/local/httpd/conf/cert 目录下。/usr/local/httpd/conf 目录,按照以下步骤编辑 httpd.conf 文件:#ServerName www.example.com:80 下增加 ServerName(您的域名):80。LoadModule ssl_module modules/mod_ssl.so 前的 #。Include conf/extra/httpd-ssl.conf 前的 #。/usr/local/httpd/conf/extra/httpd-ssl.conf 文件,进行以下修改:# 编辑文件 vi /usr/local/httpd/conf/extra/httpd-ssl.conf
SSLSessionCache 的配置行,即在前面加上 # 。# SSLCertificateFile "/usr/local/httpd/conf/server.crt"# SSLCertificateKeyFile "/usr/local/httpd/conf/server.key"
# 配置算法SSLCipherSuite HIGH:ECC-SM4-SM3:ECDHE-SM4-SM3# 签名证书/私钥/证书链SSLCertificateFile "/usr/local/httpd/conf/cert/cloud.tencent.com._sign.crt"SSLCertificateKeyFile "/usr/local/httpd/conf/cert/cloud.tencent.com._sign.key"SSLCertificateChainFile "/usr/local/httpd/conf/cert/root_sign_bundle.crt"# 加密证书/私钥/证书链SSLCertificateFile "/usr/local/httpd/conf/cert/cloud.tencent.com._encrypt.crt"SSLCertificateKeyFile "/usr/local/httpd/conf/cert/cloud.tencent.com._encrypt.key"SSLCertificateChainFile "/usr/local/httpd/conf/cert/root_encrypt_bundle.crt"
/usr/local/httpd/bin/httpd -t
https://cloud.tencent.com进行访问。/usr/local/httpd/bin/httpd -k start
国际标准证书与国密标准证书双安装(可选)
1_root_bundle.crt 证书文件、2_cloud.tencent.com.crt 证书文件以及 3_cloud.tencent.com.key 私钥文件从本地目录拷贝到 Apache 服务器的 /usr/local/httpd/conf/cert 目录下。/usr/local/httpd/conf/extra/ 目录下的 httpd-ssl.conf 文件,并添加如下内容:SSLCertificateFile /usr/local/httpd/conf/cert/2_cloud.tencent.com.crtSSLCertificateKeyFile /usr/local/httpd/conf/cert/3_cloud.tencent.com.keySSLCertificateChainFile /usr/local/httpd/conf/cert/1_root_bundle.crt
/usr/local/httpd/bin/httpd -t
/usr/local/httpd/bin/httpd -k restart


