本内容为原创内容,转载请注明:
本文来自http://blog.gsywx.com

一、目的:安装vsftpd+mysql,vsftpd用户由mysql数据表存放虚拟用户
二、安装方式:采用yum进行安装vsftpd及mysql,系统环境为centos5.5(32)
注:所有加#开头的为说明语句

三、具体安装
1、安装vsftpd
yum -y install vsftpd
vi /etc/vsftpd/vsftpd.conf
作如下修改:
anonymous_enable=YES 改为 anonymous_enable=NO
#禁用匿名用户登录
在最后加上:
chroot_local_user=YES
#将本地用户锁定在家目录
chkconfig vsftpd on
service vsftpd start
#以下添加vsftpd的虚拟公共帐户
useradd vsftpdguest -d /home/vsftpdguest -s /sbin/nologin
chmod 755 /home/vsftpdguest

2、安装mysql
yum -y install mysql mysql-devel mysql-server
service mysqld start
#设置mysql密码
mysqladmin -u root password 123654
mysql -u root -p
#输入密码 123654
#建立vsftpd两虚拟用户: aaa 密码: 123456  、bbb 密码: 123654
create database vsftpd;
use vsftpd;
create table users(name char(16) binary,passwd char(16) binary);
insert into users (name,passwd) values ('aaa','123456');
insert into users (name,passwd) values ('bbb','123654');
#给数据库vsftpd赋予用户vsftpdguest密码654321对users表的读取权限
grant select on vsftpd.users to vsftpdguest@localhost identified by '654321';
flush privileges;
select * from users;
#这时可以看到新加的用户和密码,密码是以明文列示的
quit;

3、安装pam_mysql模块,下载地址为:http://sourceforge.net/projects/pam-mysql/files/pam-mysql/
#这里我下载pam_mysql-0.7RC1.tar.gz
tar zxvf pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1
./configure
#因为mysql为默认安装,所以可以缺少编译参数,如果自定义安装可以参照以下语句
#(#./configure --with-mysql=/web/mysql)
make
make install
安装后会看到以下语句
#Libraries have been installed in:
#/usr/lib/security
cp /usr/lib/security/pam_mysql.* /lib/security/
#以下备份vsftpd的pam文件以及创建新的认证文件
mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
#加上
vi /etc/pam.d/vsftpd  加上:
#%PAM-1.0
auth required /lib/security/pam_mysql.so user=vsftpdguest passwd=654321 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0
account required /lib/security/pam_mysql.so user=vsftpdguest passwd=654321 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0


4、配置vsftpd.conf
vi /etc/vsftpd/vsftpd.conf   在最后加上:
guest_enable=YES
guest_username=vsftpdguest
virtual_use_local_privs=YES
重启vsftpd
service vsftpd restart
#说明:以上三句为除了匿名用户外的所有用户都是guest,除了匿名用户外的所有用户使用vsftpdguest,虚拟用户使用与本地用户相同的权限

四、额外的部份权限控制说明:
当virtual_use_local_privs=YES时,只需设置write_enable=YES,虚拟用户就可以就拥有写权限

当virtual_use_local_privs=NO时,anon_world_readable_only=YES,则虚拟用户只读不能上传
                                anon_upload_enable=YES时,匿名用户能上传,但不能覆盖和改写删除文件
                                anon_mkdir_write_enable=YES时,能建立目录
                                anon_other_write_enable=YES时,虚拟用户具体所有读写权限

虚拟用户目录的权限改为只能由vsftpdguest操作:
chown vsftpdguest.vsftpdguest /home/vsftpdguest
chmod 700 /home/vsftpdguest

五、虚拟用户拥有各自的家目录
vi /etc/vsftpd/vsftpd.conf  加上:
user_config_dir=/etc/vsftpd/vsftpd_user_conf
mkdir /etc/vsftpd/vsftpd_user_conf
touch /etc/vsftpd/vsftpd_user_conf/aaa
vi /etc/vsftpd/vsftpd_user_conf/aaa   加上:
local_root=/home/aaa
mkdir /home/aaa
chown vsftpdguest.vsftpdguest /home/aaa

touch /etc/vsftpd/vsftpd_user_conf/bbb
vi /etc/vsftpd/vsftpd_user_conf/aaa  加上:
local_root=/home/bbb
mkdir /home/bbb
chown vsftpdguest.vsftpdguest /home/bbb


六、以上程序安装脚本:

#!bin/bash
yum -y install vsftpd
sed -i 's#anonymous_enable=YES#anonymous_enable=NO#'  /etc/vsftpd/vsftpd.conf
echo "chroot_local_user=YES" >>/etc/vsftpd/vsftpd.conf
chkconfig vsftpd on
service vsftpd start
useradd vsftpdguest -d /home/vsftpdguest -s /sbin/nologin
chmod 755 /home/vsftpdguest
yum -y install mysql mysql-devel mysql-server
service mysqld start
mysqladmin -u root password 123654
mysql -u root -p
create database vsftpd;
use vsftpd;
create table users(name char(16) binary,passwd char(16) binary);
insert into users (name,passwd) values ('aaa','123456');
insert into users (name,passwd) values ('bbb','123654');
grant select on vsftpd.users to vsftpdguest@localhost identified by '654321';
flush privileges;
select * from users;
quit;
#pam_mysql文件上传在系统根目录
cd /
tar zxvf pam_mysql-0.7RC1.tar.gz
cd pam_mysql-0.7RC1
./configure
make
make install
cp /usr/lib/security/pam_mysql.* /lib/security/
mv /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
cat >>/etc/pam.d/vsftpd<<EOF
#%PAM-1.0
auth required /lib/security/pam_mysql.so user=vsftpdguest passwd=654321 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0
account required /lib/security/pam_mysql.so user=vsftpdguest passwd=654321 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=0
EOF
echo "guest_enable=YES" >>/etc/vsftpd/vsftpd.conf
echo "guest_username=vsftpdguest" >>/etc/vsftpd/vsftpd.conf
echo "virtual_use_local_privs=YES" >>/etc/vsftpd/vsftpd.conf
service vsftpd restart
echo "user_config_dir=/etc/vsftpd/vsftpd_user_conf" >>/etc/vsftpd/vsftpd.conf
mkdir /etc/vsftpd/vsftpd_user_conf
touch /etc/vsftpd/vsftpd_user_conf/aaa
echo "local_root=/home/aaa" >>/etc/vsftpd/vsftpd_user_conf/aaa
mkdir /home/aaa
chown vsftpdguest.vsftpdguest /home/aaa
touch /etc/vsftpd/vsftpd_user_conf/bbb
echo "local_root=/home/bbb" >>/etc/vsftpd/vsftpd_user_conf/bbb
mkdir /home/bbb
chown vsftpdguest.vsftpdguest /home/bbb
service vsftpd restart

为linux添加163网易源

[不指定 2010/09/03 20:07 | by admin ]
网易开源镜像站:
http://mirrors.163.com/
网易开源镜像使用帮助:
http://mirrors.163.com/.help/

CentOS镜像使用帮助
http://mirrors.163.com/.help/centos.html

centos更改为163源操作:
cd /etc/yum.repos.d/
wget http://mirrors.163.com/.help/CentOS-Base-163.repo
yum makecache


Fedora更改为163源操作:
cd etc/yum.repos.d/
wget http://mirrors.163.com/.help/fedora-163.repo
wget http://mirrors.163.com/.help/fedora-updates-163.repo
yum makecache
    
ubuntu
karmic更改为163源操作:
cd /etc/apt/
mv sources.list sources.list.bak
wget http://mirrors.163.com/.help/sources.list.karmic
mv sources.list.karmic sources.list

更多的操作请直接访问http://mirrors.163.com/
Tags: ,

windows下安装apc缓存

[不指定 2010/09/03 10:51 | by admin ]
本内容为原创内容,转载请注明:
本文来自http://blog.gsywx.com

windows下安装apc缓存
下载地址:
http://downloads.php.net/pierre/
下载相应版本
解压出php_apc.dll,拷贝入php\ext目录
修改php.ini
增加:
extension=php_apc.dll
apc.enabled = 1
apc.cache_by_default = on
apc.shm_segments = 1
apc.shm_size = 128
apc.ttl = 7200
apc.user_ttl = 7200
apc.num_files_hint = 2048
apc.write_lock = On
apc.gc_ttl = 3600
apc.ttl= 7200
apc.enable_cli=1
apc.enabled = 1

重启iis或apache即可
注意apc与zend有冲突,所以要使用apc就要放弃使用zend

linux安装APC缓存的安装

[不指定 2010/09/03 09:23 | by admin ]
本内容为原创内容,转载请注明:
本文来自http://blog.gsywx.com

APC的php扩展下载地址:
http://pecl.php.net/package/APC
wget http://pecl.php.net/get/APC-3.1.4.tgz
tar zxvf APC-3.1.4.tgz
cd APC-3.1.4
/web/php/bin/phpize
./configure --enable-apc --enable-apc-mmap --with-php-config=/web/php/bin/php-config
make
make install
返回:
Installing shared extensions:     /web/php/lib/php/extensions/no-debug-non-zts-20060613/
vi /etc/php
查找extension_dir,在下面加上:
extension=apc.so
apc.enabled = 1
apc.cache_by_default = on
apc.shm_segments = 1
apc.shm_size = 128
apc.ttl = 7200
apc.user_ttl = 7200
apc.num_files_hint = 2048
apc.write_lock = On
apc.gc_ttl = 3600
apc.ttl= 7200
apc.enable_cli=1

相关参数说明:(完整的参数说明请查看INSTALL文件)
apc.enabled = 1
设置0可以禁用APC。主要当APC被静态编译到PHP时,没有其他的方法来禁用它,编制了zend_extension时可以注释掉。默认值为:1
apc.shm_segments = 1
为编译器缓冲区分配的共享内存块数量(建议值为1)。将其设置为1以外的值并没有影响模式的mmap,因为mmap'ed的SHM段没有大小限制。
如果APC耗尽了共享内存,并且已将apc.shm_size指令设为系统允许的最大值,你可以尝试增大此值。默认值为:1
apc.shm_size = 30
每个共享内存块的大小(以MB为单位,建议值为128~256)。
有些系统(包括大多数BSD)默认的共享内存块大小非常小。默认值为:30
apc.num_files_hint = 1000
Web服务器上可能被包含或被请求的不同源文件的大致数量(建议值为1024~4096)。
如果你不能确定,则设为 0 ;此设定主要用于拥有数千个源文件的站点。默认值为:1000
apc.user_entries_hint =4096
同apc.num_files_hint。只是针对每个用户而言,默认值:4096
apc.ttl = 0
缓存条目在缓冲区中允许逗留的秒数。0 表示永不超时。建议值为7200~36000。设为 0 意味着缓冲区有可能被旧的缓存条目填满,从而导致无法缓存新条目。默认值为:0
apc.user_ttl = 0
类似于apc.ttl,只是针对每个用户而言,建议值为7200~36000。默认值:0
apc.gc_ttl = 3600
缓存条目在垃圾回收表中能够存在的秒数。此值提供了一个安全措施,即使一个服务器进程在执行缓存的源文件时崩溃,而且该源文件已经被修改,为旧版本分配的内存也不会被回收,直到达到此TTL值为止。设为零将禁用。默认值3600
apc.cache_by_default = On
是否默认对所有文件启用缓冲。 若设为Off并与以加号开头的apc.filters指令一起用,则文件仅在匹配过滤器时才被缓存。默认值:On
apc.filters =
一个以逗号分隔的POSIX扩展正则表达式列表。如果源文件名与任意一个模式匹配,则该文件不被缓存。
注意,用来匹配的文件名是传递给include/require的文件名,而不是绝对路径。
如果正则表达式的第一个字符是"+"则意味着任何匹配表达式的文件会被缓存,如果第一个字符是"-"则任何匹配项都不会被缓存。"-"是默认值,可以省略掉。默认值:""
apc.max_file_size = 1M
禁止大于此尺寸的文件被缓存。默认值:1M
apc.num_files_hint = 1000
Web服务器上可能被包含或被请求的不同源文件的大致数量(建议值为1024~4096)。
如果你不能确定,则设为 0 ;此设定主要用于拥有数千个源文件的站点。
apc.write_lock = 1
是否启用写入锁。
apc.enable_cli = 1
主要用于测试和调试。这使APC的设置应用于PHP的CLI版本。


如果要看apc的使用情况可以把源码包下的apa.php拷贝到网站目录内在IE中打开,就可以看到apc状态的图表了。

点击在新窗口中浏览此图片
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]