centos apache配置https(apache环境变量设置)
大家好,关于centos apache配置https很多朋友都还不太明白,今天小编就来为大家分享关于apache环境变量设置的知识,希望对各位有所帮助!
如何在 CentOS 8 服务器上安装 ISP Config 3.2
要在 CentOS 8服务器上安装 ISPConfig 3.2,首先需要遵循一系列步骤。这个教程将引导你安装网络服务,如Apache、PHP、MySQL、邮件服务器等,并配置必要的安全设置和性能优化。以下是安装步骤的概括:
1.准备工作:确保服务器的键盘布局正确,然后禁用 CentOS防火墙,因为ISPConfig会使用Bastille防火墙脚本。
2.网络配置:配置网络接口,设置静态 IP、网关和名称服务器,然后启用所需的网络服务。
3.安全设置:调整 SELinux为宽松模式,以兼容ISPConfig,同时启用EPEL存储库并安装必要的软件包。
4.配额管理:在合适的文件系统上启用配额,包括在根分区或单独的/var分区上。
5.软件安装:安装Apache、PHP、MySQL、phpMyAdmin、Dovecot、Postfix、Getmail等,并配置相关安全设置。
6.启动服务:创建系统启动链接,启动所安装的服务,如Apache、PHP-FPM等。
7.邮件和安全:安装 SpamAssassin、ClamAV、Postgrey,配置Amavisd-new和邮件客户端。
8. PHP选项:根据需要切换到PHP-FPM,设置Apache的MPM模块和phpMyAdmin配置。
9. SSL支持:安装Let's Encrypt支持,为Apache添加SSL支持。
10.安装额外组件:如mod_python、PureFTPd、BIND和AWStats,确保安全设置。
11.完成安装:运行ISPConfig的安装程序,配置所有底层服务,并创建SSL虚拟主机以支持HTTPS。
12.登录和配置:首次登录时使用默认的admin账户,安装后务必修改密码,并参考ISPConfig 3.2的手册以深入了解和优化使用。
最后,这个教程提供了一个完整的指南,使你在 CentOS 8服务器上安装 ISPConfig 3.2,并为后续管理打下坚实基础。完成安装后,你将拥有一个功能齐全的网络托管控制面板,可以方便地管理你的服务器资源。
CentOS下生成自签名的证书的方法详解
1.生成自签名的证书
通常要配置https的服务器,都需要一个由正式的CA机构认证的X509证书。当客户端连接https服务器时,会通过CA的共钥来检查这个证书的正确性。但要获得CA的证书是一件很麻烦的事情,而且还要花费一定的费用。因此通常一些小的机构会是使用自签名的证书。也就是自己做CA,给自己的服务器证书签名。
这个过程有两个主要的步骤,首先是生成自己的CA证书,然后再生成各个服务器的证书并为它们签名。我是用OpenSSL来生成自签名证书的。
第一步是制作CA的证书:
opensslgenrsa-des3-outmy-ca.key2048
opensslreq-new-x509-days3650-keymy-ca.key-outmy-ca.crt
这会生成my-ca.key和my-ca.crt文件,前者存放着使用my-ca.crt制作签名时必须的密钥,应当妥善保管。而后者是可以公开的。上面的命令为my-ca.key设定的有效期为10年。
用命令
opensslx509-inmy-ca.crt-text-noout
可以查看my-ca.crt文件的内容。
有了CA证书之后,就可以为自己的服务器生成证书了:
opensslgenrsa-des3-outmars-server.key1024
opensslreq-new-keymars-server.key-outmars-server.csr
opensslx509-req-inmars-server.csr-outmars-server.crt-sha1-CAmy-ca.crt-CAkeymy-ca.key-CAcreateserial-days3650
前两个命令会生成key、csr文件,最后一个命令则通过my-ca.crt为mars-server.csr制作了x509的签名证书。
需要注意的是,在执行上述第二个命令时,CommonName选项应当输入的是服务器的域名,否则在用户通过https协议访问时每次都会有额外的提示信息。
用命令
opensslx509-inmars-server.crt-text-noout
可以查看mars-server.crt文件的内容。
2.配置Apache服务器
首先,创建/etc/apache2/ssl目录,将刚刚制作的my-ca.crt、mars-server.key和mars-server.crt文件拷贝到这个目录中。
接着执行命令
a2emodssl
激活Apache的SSL模块,然后在/etc/apache2/sites-enable/中添加虚拟主机,这个过程与添加普通的虚拟主机类似,不同点在于该主机的端口应为443。配置如下:
NameVirtualHost*:443
ServerNamelocalhost
DocumentRoot/var/www
SSLEngineOn
SSLCipherSuiteHIGH:MEDIUM
SSLProtocolall-SSLv2
SSLCertificateFile/etc/apache2/ssl/mars-server.crt
SSLCertificateKeyFile/etc/apache2/ssl/mars-server.key
SSLCACertificateFile/etc/apache2/ssl/my-ca.crt
var/www>
Orderdeny,allow
Allowfromlocalhost
ServerNamelocalhost
DocumentRoot/var/www
var/www>Orderdeny,allow
Allowfromlocalhost
以上配置保证了用户在访问443和80端口时可以看到相同的内容,而仅仅是使用的协议不同。修改好配置后,便可以重启Apache服务器,这时需要输入mars-server.key的密码。用浏览器访问
这时应当看到一个弹出对话框,让你确认是否信任该站点的证书,选择信任后,便可以查看该站点的内容了。
由于大多数Apache服务器都是在服务器启动时自动启动,为了避免在启动Apache时输入密码,可以用以下命令生成不加密的mars-server.key文件:
opensslrsa-inmars-server.key-outmars-server.key.insecure
用新生成的mars-server.key.insecure代替原有的key文件即可。
docker部署Apache的https服务
利用 Docker部署 Apache的 HTTPS服务,其流程简单实用,尤其适用于快速搭建环境。以下将详细说明部署过程。
首先,在 Ubuntu或 CentOS上安装 Docker。Ubuntu使用 `apt-get install docker.io`,CentOS则是 `yum install docker-ce`。安装完成后,即可从 Docker仓库下载 Apache的 HTTPD镜像,使用 `docker pull httpd`进行下载。
部署 Apache服务仅需几秒钟,通过运行 Docker镜像命令,如 `docker run-p 80:80 httpd`,即可启动容器,容器内运行 Apache服务。使用 netstat检查 80端口是否已开放,然后在外部浏览器中输入 IP地址或域名访问服务。
通常,我们希望将自编写的 Web代码目录与容器内的 Apache服务关联起来。通过 `-v`参数,可以将本地目录 `/www/web`映射到容器内的 `/usr/local/apache2/htdocs`。这样,每次将 Web文件上传到本地目录后,浏览器就能立即显示更新内容。
部署 Apache的 HTTPS服务时,需额外关注 SSL证书的获取与配置。
第一步,获取 SSL证书。多数云服务提供商,如阿里云、腾讯云等,提供免费的一年期 SSL证书。安装证书后,下载包含 Apache、Tomcat、IIS和 Nginx等服务的证书文件包。
获取证书后,需在 Apache目录下找到三个文件:SSL证书文件、域名对应的.crt文件和.key文件。这三个文件是实现 HTTPS服务的关键,需妥善保管。
运行 Docker容器,将 443端口部署。接着,将容器内的 `/usr/local/apache2`目录下的 `httpd.conf`文件和 `extra`目录下的 `httpd-ssl.conf`文件备份到本地。
根据云服务提供商的官方指南,修改这两个文件。主要针对 `httpd.conf`文件,取消与 SSL有关的注释。在 `httpd-ssl.conf`文件中,设定 SSL证书文件的容器内路径,并修改 Virtual Host配置,以适配特定域名。
完成文件修改后,通过 `docker cp`命令将文件复制回容器。接下来,将下载的三个证书文件复制到容器内的对应位置。最后,重启容器服务,HTTPS服务部署完成。
完成以上步骤后,即可愉快地访问通过 HTTPS加密的域名。