OsoLinux 快速安装指南
基础的 Nginx PHP MySql 服务器
osolinux 为桌面学习定制了 nginx、php-fpm 轻量级服务器,与 fedora 仓库服务器打包手法有所不同。
它并不适用于服务器生产,如果不希望默认桌面运行着轻量服务器,可以手动禁止服务器的开机运行:
$ sudo systemctl disable nginx php-fpm
Fedora 打开 127.0.0.1 或 localhost 遇到 php 页不是 404 就是 403,phpMyAdmin 也是拒绝服务:
OsoLinux 提前配置好了 nginx、php-fpm 的用户组、selinux 策略,未定义 session 无此权限问题。
默认服务目录文件夹在 /opt/srv,打开 /etc/nginx/nginx.conf,定义:
root /opt/srv;
建议用户不要去修改文件夹位置,如果非要这么做请用软链接指向新位置后再操作,权限要划归 nginx 。
这是因为 /opt/srv 有 selinux 的服务标签,自定义数据查看指令,osolinux 因安装重置了看不到:
$ sudo semanage fcontext -l -C
添加或删除文件夹的服务标签设置:
$ semanage fcontext -a -t httpd_sys_rw_content_t "/opt/srv(/.*)?"
$ sudo semanage fcontext -d "/opt/srv(/.*)?"
我们查看一下 selinux 对 nginx、php-fpm 打开了哪些策略:
$ getsebool -a | grep httpd_can
$ getsebool -a | grep httpd_execmem
打开或关闭 selinux 服务策略比如关闭 httpd_execmem:
$ sudo setsebool -P httpd_execmem 0
开放 HTTP 端口(80):
$ sudo firewall-cmd --permanent --add-service=http
查看已防火墙开放的端口:
$ sudo firewall-cmd --reload
$ firewall-cmd --list-all
我们进行网站编辑架设前,安装 MySql 数据库并设置密码:
$ sudo dnf install mariadb-server
$ sudo systemctl enable mariadb.service
$ sudo systemctl start mariadb.service
$ sudo mysql
执行:
use mysql
set password for root@localhost=password(' 新密码 ');
flush privileges;
phpMyAdmin 避免 selinux 文件权限设置,先解压到临时内存共享目录:
$ unzip phpMyAdmin-*.zip -d /tmp
修改 config.sample.inc.php 将 localhost 改为 127.0.0.1 并保存为 config.inc.php
$cfg['Servers'][$i]['host'] = '127.0.0.1';
用 nginx 的身份安装 phpMyAdmin:
$ sudo -u nginx cp -R /tmp/phpMyAdmin* /opt/srv/phpMyAdmin
至此,本文讨论服务器的架设就到此为止。
Linux 服务器的搭配都不是很直观,Fedora 仓库从不关心服务器之间搭配,给初学者造成一定困难。