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 仓库从不关心服务器之间搭配,给初学者造成一定困难。