nginx虚拟主机防webshell跨目录

1.在nginx.conf里把每个虚拟主机站点请求端口给区别开

server {

listen 80;
server_name www.key0.cn;
index index.html index.htm index.php;
root /var/www/test;

#limit_conn crawler 20;

location ~ .*.(php|php5)?$ {
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
}

server {
listen 80;
server_name www.nginx.org;
index index.html index.htm index.php;
root /var/www/test1;
#limit_conn crawler 20;
location ~ .*.(php|php5)?$ {
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9001;
fastcgi_index index.php;
include fcgi.conf;
}
}

2.为每个站点建一个conf,并进行配置

#cp /usr/local/php/etc/php-fpm.conf  /usr/local/php/etc/www.key0.cn.conf
#cp  /usr/local/php/etc/php-fpm.conf  /usr/local/php/etc/www.nginx.org.conf

www.key0.cn

在/usr/local/php/etc/www.key0.cn.conf找到php_defines,添加

<value name=”open_basedir”>/var/www/test:/tmp:/var/tmp</value>

www.nginx.org

在/usr/local/php/etc/nginx.org.conf找到php_defines,添加

<value name=”open_basedir”>/var/www/test1:/tmp:/var/tmp</value>

修改为<value name=”listen_address”>127.0.0.1:9001</value>   注意这里的端口号

3.修改 php-fpm启动脚本
首先注释原来的php_fpm_CONF和php_opts
添加
$php_fpm_BIN –fpm –fpm-config /usr/local/php/etc/www.key0.cn.conf
$php_fpm_BIN –fpm –fpm-config /usr/local/php/etc/www.nginx.org.conf
4.启动服务
#/usr/local/php/sbin/php-fpm start
#/usr/local/nginx/sbin/nginx
查看端口
#netstat -tlnp
开了9000,9001俩个不同的端口分开处理两个站点请求,两个php-cgi主进程加载不同的conf文件,实验成功.

当然,启动之前记得conf里面的max_children,开启php-cgi子进程数,相应要减少一些,以免造成内存不足

补充:

spawn-fcgi -a 127.0.0.1 -p 9000 -C 9 -u www -f “/usr/local/php/bin/php-cgi -d open_basedir=/var/www/test:/tmp/”

转自:http://key0.cn

转载请注明文章来源:http://www.linuxso.com/a/linuxxitongguanli/416.html

CentOS上DirectAdmin安装教程

DirectAdmin是一款付费的虚拟主机管理软件,通常简称为DA,DA比Cpanel功能上简单,但是内存占用也更少些,更重要的是价格也更便宜,一般自己用或者搞合租DA算是很合适的。

安装前首先确保已经购买了DirectAdmin的授权,购买授权后会有Client ID,License ID,也需要在DA官网上或者DA销售商那里提交你的VPS或者服务器的IP和系统信息。

1、安装CentOS的相关组件的命令如下:

yum update -y
yum install gcc-c++ gcc make automake wget flex -y

2、安装DirectAdmin需要干净的系统,所以在装之前要卸载掉httpd、php、mysql。 Continue reading

用Tomcat绑定多域名

一、首先将端口改为80端口
打开server.xml文件
将其中的8080端口改为80,即:
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
改为:
<Connector port="80" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" /> Continue reading

nginx虚拟主机目录权限控制经验

关于Nginx的配置文件,不支持php_admin_value open_basedir,也就是Nginx暂时还没有 Apache的 php_myadmin_value这类的设置。如果用Nginx做虚拟主机,各用户之间的目录安全控制如何来做呢?网上很多人说,限制上传文件类型,做好程序安全不就行了么?对,对于自己的站点来说这样完全可以。但如果虚拟主机是给别人用的,又给予了FTP权限,总不能不让人上传php 文件吧。参考以上,如果用Nginx来做虚拟主机,目前看来安全的配置方法是:

1、用低权限账号运行Nginx。

2、在php.ini中禁用危险的函数。

如:system,passthru,shell_exec,exec,popen,proc_open,chroot,scandir,chgrp,chown,
passthru,shell_exec,ini_alter,ini_alter,ini_restore,dl,pfsockopen,
openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
等,但禁止太多的函数可能对某些php程序的正常运行产生影响。 Continue reading

Kloxog下开通新站点

1.首先打开登录地址,如http://www.xxx.com:7778,请注意端口为7778,输入管理用户名和密码.

2.在管理后台,左侧会显示一系列的管理菜单(一些普通用户,每个普通用户下面也可以绑定很多域名)。

在左侧菜单中点击domains即可进入添加域名的界面,假设我们要添加的域名是 haohtml.com ,那么在该界面中Domain Name部分就填写haohtml.com;Document Root是域名的文件所在的目录,通常也填写为域名;其他部分不用填写,点击Add即可。

当用户绑定了一个域名之后,系统会自动创建一个FTP用户,FTP用户的名字和域名是相同的,FTP密码就是当前用户的密码。

Kloxo(原名LxAdmin)控制面板 使用指南

Kloxo是一个优秀的Web控制面板,有商业版本和免费版本。免费版本的Kloxo允许绑定40个域名,对普通客户来讲40个域名也足够用了。瑞豪开源的VPS提供了预装免费版Kloxo的Linux系统。本文介绍Kloxo控制面板的基本使用方法。

VPS安装好之后,我们会告诉客户Kloxo的登录地址以及admin用户的密码,登录之后就可以开始配置了。

升级Kloxo到最新版本

进入Kloxo后要做的第一件事情就是升级Kloxo到最新版本,这是非常必要的,因为老版本可能有bug存在,这些bug有可能导致Kloxo被入侵,而最新版本往往修复了这些bug。

在首页中间的Administration部分,点击Update Home然后就会看到当前的Kloxo是否是最新版本,如果不是最新版本,就点击下面的Update Now按钮进行升级。 Continue reading

Linux下的虚拟主机管理软件kloxo 控制面板的安装

官方网站:http://download.lxlabs.com/

安装教程:http://wiki.lxcenter.org/Kloxo%20Installation%20Guide

64位:http://www.miblog.indomita.org/en/2010/12/instalacion-kloxo-64bits-sobre-centos-5-5-kloxo-64bits-iptables-webmin-csf-lfd-mod_evasive-ocultar-versiones-trucos.html

============================================================================

安装Kloxo/Lxadmin控制面板首先要确保安装的CentOS 32bit的Linux发行版(64位问题比较多),再使用putty登录Linux,如果不会可以查看:如何使用Putty远程(SSH)管理Linux VPS

执行如下命令:
wget http://download.lxcenter.org/download/kloxo/production/kloxo-installer.sh
sh ./kloxo-installer.sh --type=master

先按提示,然任意建开始安装,后面会有提示,一般输入y,回车就行。

国内主机可能安装要慢点了,因为是在线安装(更新源在国外),使用美国主机的朋友们很快就能安装完了。
安装完后你除了安好Kloxo/Lxadmin,同时也基本安好了Apache、Lighttpd、MySQL、Xcache、Bind、Djbdns等一系列服务器软件。

yum install php-bcmath /*高精度数学运算组件,默认没安装,MD5运算时用到*/
yum install  php-mhash
yum install php-mbstring
yum check-update (检查更新)
yum update (更新所有更新)
yum clean all (清理安装包)

基本完成,可以把终端关闭了。我们来登录Kloxo/Lxadmin,第一次登陆默认的用户名和密码都是admin,登录地址:

https://IP:7777/      /*安全连接,不过默认证书不受IE信任*/
http://IP:7778/       /*还是用这个普通链接吧*/

Zend可以在Lxadmin后台的PHPConfig里启用,Apache可以从SwichProgram里选择,建议先选择lighttpd和bind然后再选回apache和djbdns,否则你会看到内存占用量很高。

新手建议用Apache,99%能正常支持.htaccess的rewrite规则。

安装中文语言包看一参考本文:http://www.vpser.net/vps-cp/vps-lxadmin-chinese.html

安装完后需要修改/etc/httpd/conf/httpd.conf  查找:AddDefaultCharset UTF-8 改为:AddDefaultCharset OFF ,这样就会引起网页的乱码问题。

>>转载请注明出处:VPS侦探 本文链接地址:http://www.vpser.net/vps-cp/centos-linux-vps-kloxol-xadmin.html

windows下apache+php平台,虚拟主机安全设置

先按这里的文档对服务器系统安全做设置:http://blog.haohtml.com/index.php/archives/3438

对于php.ini的设置有:
1.修改为安全

safe_mode = true

2.禁用一些系统函数

disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

3.禁用com组件调用

将 ;com.allow_dcom = true 修改为 com.allow_dcom = false 启用并禁用
4.指定上传文件的临时目录

upload_tmp_dir = "d:\php\upload_tmp"

5.启用特别字符转义功能

magic_quotes_gpc = On

6.关闭错误信息

display_errors=Off

7.对于虚拟主机配置的安全主要有:

<VirtualHost *:80>
ServerAdmin zbjywl@163.com
DocumentRoot "d:/site/ceshi.papake.net"
ServerName ceshi.papake.net
DirectoryIndex index.php

#限制在固定的目录里,并授权上传文件临时目录
php_admin_value open_basedir "D:/site/ceshi.papake.net;D:/php/upload_tmp"

<Directory "d:/site/ceshi.papake.net">
Options Indexes MultiViews
AllowOverride None
order allow,deny
Allow from all
Options FollowSymLinks Includes
</Directory>

</VirtualHost>

 

nginx虚拟主机及ftp权限应用问题

平时给一个目录执行一个

#chown -R blog:ftp /www/blog

命令,如果再通过ftp上传文件的话,发现文件属性为600,访问的时候总是提示"Access Denies!",提示权限不够,此时可以在系统里执行一下命令进行解决,
#chown -R blog:ftp /wwww/blog

#chmod -R 777 /www/blog

命令中的-R选项用来让子目录继承父目录的权限,

注意:vsftpd.conf 里的local_umask=066(或者是022),

其中最有效的方法就是将vsftpd.conf配置文件里的local_umask的值修改为000就可以了,本人已经测试无误!

1,文件权限算法
我们知道系统默认权限炎:

目录的初始权限是 777
文件的初始权限是 666

此时上传文件权限计算方法:

用初始的权限 - 权限umask的权限 = 新建目录或文件的权限

:新建目录的权限就是777-022=755 ,    新建文件的权根就是666-022=644

2,修改 /etc/vsftpd/vsftpd.conf 文件设置
local_umask=066  (系统默认为022)
066即为权限umask的权限,如设置066,那么上传文件的权限可以计算出为:666-066=600