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

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

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

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

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

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

1. 安装

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

apache:2.4.34-r2socket

nginx:1.14.0-r3php-fpm

php:7.2.10网站

mariadb:10.1.34spa

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申请了免费证书,固然它是有时间限制的

相关文章
相关标签/搜索