首先,确保你的 CentOS 7 系统已经更新到最新版本。使用以下命令进行更新:
sudo yum update -y
接下来,安装必要的软件包。我们需要 GCC、PCRE、PCRE-devel、zlib、zlib-devel、OpenSSL、OpenSSL-devel 这些软件包。使用以下命令进行安装:
sudo yum install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
接下来,我们将下载并安装 Nginx。首先,进入你想要存放 Nginx 的目录,然后下载 Nginx。你可以在 Nginx 官网找到最新版本的下载链接。
cd /usr/local/src
wget http://nginx.org/download/nginx-1.20.0.tar.gz
解压下载的文件:
tar -zxvf nginx-1.20.0.tar.gz
进入解压后的目录:
cd nginx-1.20.0
然后我们开始编译和安装 Nginx:
./configure
make && make install
默认情况下,Nginx 会被安装在 /usr/local/nginx 目录下。你可以通过以下命令启动 Nginx:
/usr/local/nginx/sbin/nginx
现在,我们已经成功安装了 Nginx,接下来我们将安装 ModSecurity。
首先,我们需要安装 ModSecurity 的依赖项。使用以下命令进行安装:
sudo yum install libxml2 libxml2-devel httpd-devel pcre-devel libcurl-devel -y
然后,我们下载并安装 ModSecurity。首先,进入你想要存放 ModSecurity 的目录,然后下载 ModSecurity。你可以在 ModSecurity 官网找到最新版本的下载链接。
cd /usr/local/src
wget https://github.com/SpiderLabs/ModSecurity/releases/download/v3.0.4/modsecurity-v3.0.4.tar.gz
解压下载的文件:
tar -zxvf modsecurity-v3.0.4.tar.gz
进入解压后的目录:
cd modsecurity-v3.0.4
然后我们开始编译和安装 ModSecurity:
./configure
make && make install
至此,我们已经安装了 ModSecurity,但是我们还需要将 ModSecurity 配置到 Nginx 中。
首先,我们需要下载 ModSecurity-nginx 连接器。进入你想要存放 ModSecurity-nginx 的目录,然后下载 ModSecurity-nginx。你可以在 ModSecurity-nginx GitHub 页面找到最新版本的下载链接。
cd /usr/local/src
git clone https://github.com/SpiderLabs/ModSecurity-nginx.git
然后,我们需要重新编译 Nginx,将 ModSecurity-nginx 连接器添加进去。回到之前的 Nginx 目录:
cd /usr/local/src/nginx-1.20.0
清除之前的编译结果:
make clean
然后重新编译 Nginx,并添加 ModSecurity-nginx 连接器:
./configure --add-module=/usr/local/src/ModSecurity-nginx
make && make install
现在,你已经成功安装了 Nginx 和 ModSecurity,并且将 ModSecurity 配置到了 Nginx 中。
最后,我们需要配置 ModSecurity 的规则。ModSecurity 的默认规则位于 /usr/local/modsecurity/etc/modsecurity.conf-recommended。我们需要将此文件复制到 /usr/local/nginx/conf 目录下,并重命名为 modsecurity.conf。
cp /usr/local/modsecurity/etc/modsecurity.conf-recommended /usr/local/nginx/conf/modsecurity.conf
然后,编辑 modsecurity.conf 文件,将 SecRuleEngine DetectionOnly 修改为 SecRuleEngine On,以启用 ModSecurity。
sed -i 's/SecRuleEngine DetectionOnly/SecRuleEngine On/' /usr/local/nginx/conf/modsecurity.conf
最后,重启 Nginx,使修改生效:
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
至此,你已经在 CentOS 7 上成功安装了 Nginx 和 ModSecurity,并且进行了基本的配置。你现在可以开始使用 ModSecurity 来保护你的 Nginx 服务器了。
海外免备案云服务器链接:www.tsyvps.com
蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。