推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 与文萱小叔叔一起学Linux > 手把手教你apache设定https

手把手教你apache设定https

与文萱小叔叔一起学Linux 2019-01-29

网上有很多这方面的教程   但是都不太容易看懂  且都杂乱无章   到最后    不知道都说的些什么。遇到一些错误大多都是相互抄袭。

今天我也写一写这方面的内容  希望能对你真正有用          

httpshttp+openssl构成    实现加密传输

简单地说  默认用户不输入httphttps   会自动跳转到https。就需要配置两个虚拟机。一个80端口,一个443端口

 

先下载各套件吧

下载apr:  wget  -c http://mirrors.advancedhosters.com/apache//apr/apr-1.6.5.tar.gz  -P /opt

下载apr-util:wget  -c  http://mirrors.advancedhosters.com/apache//apr/apr-util-1.6.1.tar.gz  -P /opt

下载apache2.4wget -c http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.37.tar.gz  -P /opt

 安装关联套件:yum install -ygcc  gcc-c++  openssl opens-devel openldap openldap-devel 

进入到/opt

cd   /   opt

  

拆包apr 并进入apr-1.65文件夹进行准备预编译

tar  apr-1.6.5.tar.gz

cd apr-1.65

必须做这一步  否则无法正常预编译 

vim    configure

查找RM='$RM'   将其修改为   RM='$RM -f'   并存储

 

./configure --prefix=/usr/local/apr

 

编译并安装:make && make install

 

 

 

切换到上级文件夹  拆包  apr-util-1.6.1.tar.gz

cd ../;tar  -zxf   apr-util-1.6.1.tar.gz

 

进入到apr-util-1.6.1文件夹

 

cd  apr-util-1.6.1

预编译:      ./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr

 

编译并安装   make && makeinstall

 

切换到上级文件夹  拆包 httpd-2.4.37.tar.gz

cd ../;tar -zxf httpd-2.4.37.tar.gz

 

进入到httpd-2.4.37文件夹

cd httpd-2.4.37

 

 

预编译apache2.4

 

./configure --prefix=/usr/local/apache2.4  --with-apr=/usr/local/apr  --with-apr-util=/usr/local/apr-util  --enable-so --enable-rewrite --enable-ssl--with-mpm=prefork --with-proxy --with-headers --with-expires --enable-session --with-ldap

 

 

注意:如果你采用的是  yum install   -y   apr apr-util apr-devel  apr-util-devel 安装的   apache的编译参数选项不要添加 --with-apr --with-apr-util     。一般情况下通过yum 安装  apr apr-util相关套件是没有问题的。如果启动apache遇到apr-util相关的错误,你该考虑编译安装aprapr-util了。如果你在编译apr-util遇到了一些错误,你也别到处找答案了,你直接降低一个版本使用1.5.x的就可以

 

编译并安装程序

make && make install

 

 

 

生成cert文件夹

mkdir  /usr/local/apache2.4/conf/cert

 用于存放你申请的SSL证书   SSL证书需要验证你的域名。参照阿里云申请SSL

不论你是哪里买的域名你都可以在阿里云申请免费版的签证    。最后将 证书上传到    cert文件夹里

生成80   443端口的虚拟机范本  wenxuan.conf   

vim  /usr/local/apache2.4/conf/extra/wenxuan.conf

原始码如下:

#####这是80端口虚拟机开始######

<VirtualHost *:80>

#绑定的网站域名

           ServerNamewenxuan.503e.net

#绑定的网站别名

           ServerAliaswenxuan.503e.net

#开启重写引擎     Rewite是重写的意思 Engine是引擎的意思

          RewriteEngine On

#编写重写规则   同样  Rewrite是重写的意思  Rule是规则的意思  ^以什么开始     ^(.*)$这部分是正则   前期不理解  先固定记下来吧   这部分指的是域名后面带的路径       

           RewriteRule^(.*)$ https://wenxuan.503e.net$1 [R=301,L]

  

   </VirtualHost>

#####这是80端口虚拟机范本结束

 

####监听端口443

 

 Listen 443

 

####这是443端口的虚拟机范本开始######

  <VirtualHost*:443>

#绑定的网站的域名

          ServerNamewenxuan.503e.net

#网站程序的存放路径

          DocumentRoot"/usr/local/apache2.4/htdocs"

         CustomLog   "/usr/local/apache2.4/logs/wenxuan.log"  combined

          ErrorLog    "/usr/local/apache2.4/logs/wenxuan_error.log"

  #开启SSL引擎

        SSLEngine On

#Certificate是证书的意思     说清楚三个文件的存放路径即可

       SSLCertificateFile"/usr/local/apache2.4/conf/cert/1572326_wenxuan.503e.net_public.crt"

       SSLCertificateKeyFile"/usr/local/apache2.4/conf/cert/1572326_wenxuan.503e.net.key"

        SSLCertificateChainFile"/usr/local/apache2.4/conf/cert/1572326_wenxuan.503e.net_chain.crt"

 </VirtualHost>

####这是443端口的虚拟机范本结束######

 

 

最终效果图图示如下:



备份httpd.conf   

cp /usr/local/apache2.4/conf/httpd.conf{,.bak}

 

 

使用vivim编辑   /usr/local/apache2.4/conf/httpd.conf

 

引用你编写的范本文件

Include conf/extra/wenxuan.conf

添加一行  ServerName  localhost:80  

 

找到两个关键词   分别是mod_ssl   mod_rewrite 。怎么找    vim httpd.conf   直接拿输入  /输入关键词    比如  /mod_ssl   回车即可找到  将前面的#删掉。以同样的方式找到mod_rewrite 删掉前面的#

 LoadModule ssl_modulemodules/mod_ssl.so

 LoadModulerewrite_module modules/mod_rewrite.so

 最后存储。

 

最后如何知道配置文件没问题?

/usr/local/apache2.4/bin/httpd  -t

/usr/local/apache2.4/bin/apachectl  -t

如果提示

Syntax OK表示没问题。

最后启动apache :

/usr/local/apache2.4/bin/httpd -k start

/usr/local/apache2.4/bin/apachectl start

 

在浏览器输入你绑定的域名 即可看到效果:

图示如下是文萱申请了两个域名证书。



文萱原创    如有不足请指正       谢谢

联络先:imwenxuan@gmail.com

部落格:http://www.503e.net

 


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《手把手教你apache设定https》的版权归原作者「与文萱小叔叔一起学Linux」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注与文萱小叔叔一起学Linux微信公众号

与文萱小叔叔一起学Linux微信公众号:itquan666

与文萱小叔叔一起学Linux

手机扫描上方二维码即可关注与文萱小叔叔一起学Linux微信公众号

与文萱小叔叔一起学Linux最新文章

精品公众号随机推荐