`
lht
  • 浏览: 197621 次
  • 来自: 深圳
社区版块
存档分类
最新评论

RHEL 5 安装nginx以及配置SELINUX POLICY

阅读更多
1. 安装EPEL,启用RHEL的附加软件包
$ sudo rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-2.noarch.rpm
上面的i386可以替换成x86_64
2. 安装nginx
$ sudo yum install -y nginx
配置信息增加
$ cat /etc/nginx/fastcgi.conf
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;

fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;

3.安装lighttpd-fastcgi和php-cli以及其它软件包
$ sudo yum install -y lighttpd-fastcgi
4.由于nginx和php-cgi不在SELINUX 的policy里面,为了安全和简单将nginx和php-cgi进程domain设置为httpd_t
$ sudo chcon system_u:object_r:httpd_exec_t /usr/sbin/nginx
$ sudo chcon
system_u:object_r:httpd_exec_t /usr/bin/php-cgi
$ sudo chcon -t httpd_config_t -R /etc/nginx
$ sudo chcon -t httpd_cache_t -R /var/lib/nginx
$sudo chcon -t httpd_log_t -R /var/log/nginx
$sudo /usr/sbin/setsebool -P httpd_can_network_connect=1

5.创建phpcgi启动脚本
$ cat /etc/init.d/phpcgi
#!/bin/sh
#
# php-cgi - this script starts and stops the php-cgi daemin
#
# chkconfig: - 85 15
# description: Fast CGI php
# processname: php-cgi
# config: /etc/php.ini
# pidfile: /var/run/php-cgi.pid

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0

phpcgi="/usr/bin/php-cgi"
prog=$(basename ${phpcgi})

FCGIPORT="8888"
FCGIADDR="127.0.0.1"
FCGIUSER="apache"
FCGIGROUP="apache"
PHP_FCGI_CHILDREN=5
PHP_FCGI_MAX_REQUESTS=1000
export PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS

[ -e /etc/sysconfig/php-cgi ] && . /etc/sysconfig/php-cgi

lockfile=/var/lock/subsys/php-cgi

start() {
echo -n $"Starting $prog: "
/usr/bin/spawn-fcgi -a $FCGIADDR  -p $FCGIPORT -C $PHP_FCGI_CHILDREN -u $FCGIUSER -g $FCGIGROUP -P /var/run/php-cgi.pid -f "${phpcgi}" >> /
dev/null 2>&1
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}

stop() {
echo -n $"Stopping $prog: "
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}

restart() {
stop
start
}

force_reload() {
restart
}

fdr_status() {
status $prog
}

case "$1" in
start|stop|restart)
$1
;;
status)
fdr_status
;;
condrestart|try-restart)
[ ! -f $lockfile ] || restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
exit 2
esac

$ sudo /sbin/chkconfig --add phpcgi
$ sudo /sbin/chkconfig --level 345 phpcgi on
$ sudo /sbin/chkconfig --level 345 nginx on

5.启动
$ sudo /sbin/service phpcgi start
$ sudo /sbin/service nginx start

6.解决audit错误
$ sudo cat /var/log/audit/audit.log| audit2allow -M local
$ sudo /usr/sbin/semodule -i local.pp
重新启动
分享到:
评论

相关推荐

    RHEL 8 搭建 Nginx Web 服务.doc

    本文档指导您如何在 RHEL 8 环境中搭建 Nginx Web 服务,包括环境准备、停止 httpd 服务、安装 Nginx、启动 Nginx 服务、配置防火墙、配置 SELinux、查看服务器状态、访问 Nginx Web 服务器和查看 Nginx 软件包文件...

    Linux离线安装nginx安装包

    5. **配置和管理Nginx** - Nginx的配置文件默认位于`/usr/local/nginx/conf/nginx.conf`,可以根据需求进行修改。 - 重启Nginx:`./nginx -s reload`,若需要停止Nginx,使用`./nginx -s stop`。 离线安装Nginx时...

    linux下安装Nginx所需依赖包

    总结一下,安装Nginx在Linux上的主要步骤包括:准备依赖包(GCC、PCRE、Zlib、OpenSSL)、安装Nginx、启动服务以及配置自动化启动。理解这些步骤可以帮助我们更好地管理和维护Nginx服务器,提高系统的稳定性和安全性...

    RHEL5安装教程详解

    ### RHEL5安装教程详解 #### 一、RHEL5安装前的硬件需求与准备 在着手进行RHEL5的安装之前,确保你的硬件环境满足以下最低要求: - **CPU**:至少需要Pentium级别的处理器。对于文本模式安装,200MHz以上的...

    Linux离线安装Nginx资源包

    Nginx是一款高性能的Web服务器和反向代理服务器,它以其高效的性能、稳定性以及对高并发处理能力而广受欢迎。下面将详细介绍如何在Linux离线环境下安装Nginx,并使用提供的资源包"nginxpackage"。 首先,你需要确保...

    linux离线环境下nginx安装包-附带所有依赖环境和安装教程

    配置成功后,使用`make`和`make install`来编译和安装Nginx: ```bash make sudo make install ``` 安装完成后,你需要设置Nginx的启动脚本并添加为系统服务。这一步通常涉及将Nginx的启动命令添加到系统的启动脚本...

    nginx安装工具及配置

    本文将深入讲解Nginx的安装过程以及配置方法,同时结合具体的案例进行解析。 ### 一、Nginx的安装 1. **Ubuntu/Debian系统安装** 在Ubuntu或Debian系统中,可以使用apt-get命令来安装Nginx: ``` sudo apt-get ...

    RHEL 5 安装 序列号

    RHEL 5 安装 序列号 RHEL 5 安装 序列号 安装时需要!

    RHEL8安装oracle19C数据库详细步骤.docx

    本文档详细介绍了在 RHEL8 操作系统上安装 Oracle 19C 数据库的步骤,包括安装前的准备工作、创建 Oracle 用户和组、配置文件和禁用服务等多个方面。 一、安装前的准备工作 在安装 Oracle 数据库之前,需要进行...

    RHEL9 + Nginx + Lua

    RHEL9 + Nginx 1.24 + Lua 资源包

    NginX on RHEL 安装指南

    本指南旨在详细阐述如何在Red Hat Enterprise Linux (RHEL)系统上安装和配置NginX服务器。NginX是一款高性能的HTTP和反向代理服务器,常用于网站托管,提供静态内容服务以及作为应用服务器的前端。 1. **文件目的**...

    Linux 离线 安装Nginx必要环境, 包含openssl模块

    **步骤5:配置和启动Nginx** 安装完成后,配置Nginx以满足你的需求。默认配置文件通常位于`/etc/nginx/nginx.conf`。修改后,使用`nginx -t`检查配置是否正确,然后通过`systemctl start nginx`启动Nginx服务。 **...

    RHEL5自动安装配置文件

    本篇文章将详细解析RHEL5自动安装配置文件及其相关知识点,以及如何通过PXE(Preboot Execution Environment)网络启动服务进行配置。 首先,我们要理解RHEL5自动安装的基本概念。它通常基于Kickstart技术,这是一...

    Nginx 安装配置教程.md

    下面详细介绍如何在Ubuntu/Debian以及CentOS/RHEL系统上安装Nginx。 ##### Ubuntu/Debian系统 1. **更新包列表** 更新系统的包列表以确保获取最新的软件包信息。 ```bash sudo apt update ``` 2. **安装Nginx...

    rhel+nginx+portal

    4. **安全优化**: 对RHEL进行安全配置,包括防火墙规则、SELinux策略、系统更新和日志监控。 5. **测试与监控**: 测试Web服务的可用性,部署性能监控工具(如Prometheus和Grafana)以持续监测系统健康状况。 **源码...

    从硬盘安装RHEL 5(Red Hat Enterprise Linux 5)

    - 配置过程中需要将RHEL 5安装光盘中的`isolinux`目录下的`vmlinuz`和`initrd.img`文件复制到硬盘上的特定位置,通常为`H:\grub4dos`。 - 通过执行`H:\grub.exe`来启动Grub,然后进行以下操作: - 使用`grub> ...

    linux下nginx安装配置相关资源

    本资源包主要关注在Linux环境下安装和配置Nginx,特别是涉及到“sticky模块”的配置。下面将详细介绍这个过程以及相关知识点。 一、Nginx的安装 1. 更新包列表:在大多数Linux发行版中,首先要确保系统的包列表是...

    linux安装nginx的rpm包

    安装完成后,Nginx的配置文件位于`/etc/nginx/nginx.conf`。你可以根据需求修改配置,例如设置服务器块(server blocks)以托管多个网站。 5. **启动和管理Nginx** 启动Nginx服务并检查其状态: ```bash # ...

Global site tag (gtag.js) - Google Analytics