gentoo安装apache、nginx、php、mariadb、openssl(https)

本文用于记录用gentoo安装apache、nginx、php、mariadb、openssl(https),之前安装花费了几天时间,现记录以供以后查阅,欢迎指点。

由于安装的时候没有做笔记,现在的都是回想,可能有疏漏和错误之处,请海涵,同时也欢迎指出错误;同样的,我不是专业人员,它不适合生产环境。

ssl证书是在https://freessl.org/免费申请的,你可以得到2个文件,证书full_chain.pem和私钥private.key;注意要用域名不要用ip去申请,你可以修改你的/etc/hosts模拟域名的效果

请注意文件和目录的访问权限,比如你的用户有没有访问网站目录的权限,有没有访问证书的权限,如果你的配置文件是复制粘贴的你还要查看文件权限是否变动

这里安装两个web服务器只是为了选其一,当然你可以启动2个web运行,只要你处理好了冲突即可;你也可以用nginx处理静态,apache处理动态。

1. 安装

gentoo是在vmware上安装的,内核版本为4.14.63(现已升级为4.14.65),gcc为7.3.0,glibc为2.26-r7,这些软件都是当时的gentoo仓库最新稳定版。

apache:2.4.34-r2

nginx:1.14.0-r3

php:7.2.10

mariadb:10.1.34

openssl:1.0.2p

下面贴出相关安装软件配置,其中openssl是安装系统就已经存在了。

先更新软件仓库,然后emerge -avu apache nginx php mariadb openssl

 

 2. 配置

所有的编辑请自行先备份

配置apache

编辑 /etc/apache2/httpd.conf

增加ServerName 选项,否则启动apache会有警告

 

修改运行用户和组,我专门创建了www用户用来运行网站;注意:如果你的用户ID等于大于1000,可能会出现在系统登录界面,哪怕你设置了禁止登录的nologin,增加用户的时候我不想看到它的家目录,所以指定参数不自动创建家目录

 

让apache支持php,如果你需要apache支持php,php会被apache启动,无需自己启动

在最下方增加

 

编辑 /etc/apache2/vhosts.d/00_default_vhost.conf 配置基本的http协议

修改监听端口为你想监听的,注意不要和nginx冲突了

 

编辑 /etc/apache2/vhosts.d/00_default_ssl_vhost.conf 配置https协议

 修改监听端口为你需要的数,同样的不要和其它软件有冲突

修改SSLCertificateFile为你的证书文件

修改SSLCertificateKeyFile为你的私钥文件

修改SSLCertificateChainFile为你的证书文件

修改Directory指向你的web路径并做相应的配置

 

编辑 /etc/apache2/vhosts.d/default_vhost.include 这是上面两个文件的头文件

设置好相关路径为你的路径,缺省访问文件名等

 

 配置nginx

编辑 /etc/nginx/nginx.conf

修改运行用户和线程数为你的数据

 

修改默认文件,监听端口,服务器名,根目录,php处理,ssl设置(注意里面的证书配置)

 

nginx需要手动启动fpm-php,因为fpm-php没有 systemctl 启动方式,这里创建一个 /etc/systemd/system/php-fpm.service ,这样你就可以systemctl start fpm-php启动了,注意你的fpm-php的路径是否正确

 

配置php

修改php-fpm.conf 设置好socket和运行用户

 

修改www.conf,设置好运行用户

 

 配置mariadb

mariadb我只修改了数据库地址,你可以使用原有的路径,之后运行emerge --config mariadb生成数据库

 

配置openssl

 openssl我没有配置任何东西,只是在freessl申请了免费证书,当然它是有时间限制的

 

posted on 2018-09-25 18:04  Duacai  阅读(599)  评论(0编辑  收藏  举报