RackTables

环境

AlmaLinux 8 + Nginx 1.20 + PHP 7.4 + MaraDB 10.3

安装Nginx

dnf module enable nginx:1.20
dnf install nginx
systemctl enable --now nginx

安装PHP

dnf module enable php:7.4
dnf install php-fpm
systemctl enable --now php-fpm

安装MariaDB

dnf module enable mariadb:10.3
dnf install mariadb-server
systemctl enable --now mariadb
数据库安装完成后,可以使用mysql_secure_installation进行初始化,配置root密码。

安装RackTables

下载RackTables最新发布版本

mkdir -p /srv/www
wget https://github.com/RackTables/racktables/archive/refs/tags/RackTables-0.22.0.tar.gz
tar xzvf RackTables-0.22.0.tar.gz
ln -s racktables-RackTables-0.22.0 racktables

新增一个Nginx虚拟主机。

/etc/nginx/conf.d/racktables.conf

server {
    listen 82;
    server_name _;
    include /etc/nginx/default.d/*.conf;
    index index.php;
    root /srv/www/racktables/wwwroot;
}

一切准备就绪,访问主页,你会得到一个提示,Racktables缺少必要的配置文件secret.php,这个文件由RackTables安装程序生成,点击here进入到安装程序。

Step 1

点击proceed进入下一步。

Step 2

这一步会检查RackTables运行所需要的依赖,即PHP拓展。

绿色表示依赖检测通过,红色表示依赖缺失,黄色表示可选依赖(即使缺失也不影响安装程序进行)。

对于缺失的依赖,在服务器上安装后点击retry重新检测。

当所有缺失的依赖全部安装完成后才可以入下一步。

AlmaLinux为例,除安装PHP自带的拓展之外,需要补充两个拓展。

dnf install php-gd php-bcmath

Step 3

这一步安装程序会尝试创建配置文件secret.php,如果安装程序没有创建文件的权限,需要自行创建文件。并且授予安装程序写入权限。

touch '/srv/www/racktables-RackTables-0.22.0/wwwroot/inc/secret.php'
chmod a=rw '/srv/www/racktables-RackTables-0.22.0/wwwroot/inc/secret.php'
如果开启了SELinux,即使进行上述操作,仍然会提示没有访问权限,可以暂时关闭SELinux。等安装完成后再重新打开SELinux。
setenforce 0 # 暂时关闭SELinux
setenforce 1 # 重新开启SELinux

根据安装程序的提示,创建相应的数据库,并且正确填写配置文件。

CREATE DATABASE racktables_db CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER racktables_user@localhost IDENTIFIED BY 'MY_SECRET_PASSWORD';
GRANT ALL PRIVILEGES ON racktables_db.* TO racktables_user@localhost;

完成后进入下一步。

Step 4

为了保证系统安全性,需要对配置文件设置正确的访问权限。需要满足以下四个条件。

  • 配置文件必须无法被httpd进程写入
  • 配置文件必须可以被https进程读取
  • 配置文件应该无法被除httpd以外的进程读取
  • 配置文件应该无法被任何用户写入

这里使用Nginx作为前端,将请求转发到php-fpm,所以这里的用户需要使用php-fpm的执行用户,即apache。

chown apache:apache secret.php
chmod 440 secret.php

设置完成权限后,点击retry进行检测,检测通过后方可进入下一步。

Step 5

安装程序会在这一步初始化数据库,执行完毕后点击proceed进入下一步。

Step 6

设置管理员密码,用户名默认为admin无法更改,只需要填写密码即可。

Step 7

恭喜你🎉,RackTables安装已经完成,点击proceed进入系统。

如果有什么疑问,可以访问wiki

最后修改:2023 年 05 月 25 日
如果觉得我的文章对你有用,请随意赞赏