httpd worker php,CentOS6 安装以及配置apache+php多虚拟主机多用户

安装apache

apache的安装最应该发挥CentOS的yum的优势了,废话少说,直接yum安排yum install httpd -y

配置apache

首先,我们先设置httpd自动启动chkconfig httpd on

去掉那个我们不需要的欢迎页vim /etc/httpd/conf.d/welcome.conf

注释掉这一行#ErrorDocument 403 /error/noindex.html

保存后,启动服务就能看到403Forbidden了,说明我们还没有网站首页

b12aab9a4beb431e83c3c822c8be8a0a.png

编辑apache的配置文件vim /etc/httpd/conf/httpd.conf

以下列出最常用的配置项Listen 80 #监听80端口

LoadModule xxxxx #加载某路径的模块,apache已经加载了很多需要用到的模块

Include xxxxx #引用某路径的配置文件,可以简化主配置文件的长度

User apache #指定运行的用户

Group apache #指定组

ServerAdmin root@localhost #管理员邮箱,可以不用修改

ServerName www.example.com:80 #服务器名,如果设置虚拟主机,设置为 你的IP:80

DirectoryIndex index.html index.html.var #主页路径

NameVirtualHost *:80 #指定某IP某端口可以用于虚拟主机的配置

注意:一旦开启了NameVirtualHost,apache的主网站的配置就失效了。

每个虚拟主机的配置项如下:

ServerAdmin webmaster@dummy-host.example.com #同上

DocumentRoot /www/docs/dummy-host.example.com #主目录

ServerName dummy-host.example.com #服务器名,这里可以设置IP或域名,用于区分不同主机

ErrorLog logs/dummy-host.example.com-error_log #错误日志

CustomLog logs/dummy-host.example.com-access_log common #访问日志

如果还需要主网站,你可以用你的IP填在VirtualHost的ServerName上

但是,此时的配置,每个虚拟主机进程都会以相同的身份(apache:apache)运行,如果启用了php,这将能够访问旁站!

我们必须安装一个httpd模块mpm,实现不同虚拟主机进程以不同身份运行

安装epel

还是直接yum安排yum install epel-release -y

安装了epel之后 ,可以在下一步顺利安装mpm模块

安装与配置mpm-itk

安装mpm-itk:yum install httpd-itk -y

配置apache,加载itkvim /etc/sysconfig/httpd

在第10行添加HTTPD=/usr/sbin/httpd.itk

保存,然后重启apache服务

安装php

同理,php也是直接yum安排yum install php -y

同时,php还有很多拓展,以下拓展也可以使用yum安装

php-mysql php连接mysql数据库的拓展

php-gd 图形处理拓展

php-mbstring 多字节字符串拓展

php-xml xml解析拓展

配置php

安装完php之后,如果我们还配置了itk,我们会发现php文件还不会被解析,因为默认加载的是HTTPD=/usr/sbin/httpd.worker

而我们加载了HTTPD=/usr/sbin/httpd.itk

在conf.d/php.conf中

httpd.worker加载php的是

LoadModule php5_module modules/libphp5.so

如果需要httpd.itk加载php,需要增加

LoadModule php5_module modules/libphp5.so

保存退出后,我们发现php文件又可以正常解析了

虚拟主机安全配置

保证虚拟主机的安全,就要从不同主机不同用户开始,现在我们已经可以使用mpm-itk来实现了。

首先,我们新建一个虚拟主机用户useradd test -g apache -s /sbin/nologin

设置这个用户的密码passwd test

然后,创建日志目录和web目录

进入用户主目录cd /home/test

创建两个目录mkdir htdocs

mkdir logs

然后,修改所有者和权限

由于我们使用root添加了两个目录,我们需要先设置所有者

进入home目录cd /home

设置所有者chown -R test:apache test

为了防止主目录下的两个目录被误删chmod -w test

进入用户主目录cd test

坚持最小权限原则,去掉两个子目录对于除test以外所有用户的权限,并且去掉日志目录的可写权限chmod 700 htdocs

chmod 500 logs

最后,修改配置文件,指派用户vim /etc/httpd/conf/httpd.conf

在VirtualHost标签里面的最后一行添加AssignUserId test apache

测试用户权限

在web目录下新建一个php<?php

system("whoami");

?>

浏览器访问为test,证明运行用户为test

关于php.ini的安全就暂时不赘述了,有时间继续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值