wdlinx lamp环境给php添加sockets支持

我是这样添加的:
进入php源文件下ext/sockets目录
cd /root/lanmp/php-5.2.17/ext/

执行命令
/www/wdlinux/php/bin/phpize

编译安装
./configure –enable-sockets –with-php-config=/www/wdlinux/php/bin/php-config

make

make test

make install
###
Installing shared extensions: /www/wdlinux/php/lib/php/extensions/no-debug-non-zts-20060613/
###

在php配置文件最后添加sockets加载扩展代码:

vi /www/wdlinux/etc/php.ini

###
[sockets.so]
extension_dir ="/www/wdlinux/php/lib/php/extensions/no-debug-zts-20060613/"
extension=sockets.so

###
重启httpd服务
/etc/init.d/httpd restart

最后检查是否生效
/www/wdlinux/php/bin/php -m

有用的shell命令记录

#一句话修改用户命令

echo py.10isp.com | passwd --stdin  root
 
echo py.10isp.com | passwd root --stdin

#使用命令查看依然占用空间的已删除文件

lsof | grep delete

批量删除进程,将panyan替换成需要kill的进程名

ps -ef¦grep panyan ¦grep -v grep¦awk  '{print "kill -9 " $2}' ¦sh

 

#删除配置文件中注释语句

cp http.conf fttp.conf.back

grep -v "^#" fttp.conf.back > http.conf

#统计当前目录下的文件夹的大小

du . --max-depth=1 -h

#打包文件夹排除某些文件

tar -zcvf public_html.$(date +%F%M).tar.gz public_html --exclude "*.jpg" --exclude "*.txt" --exclude "*.inc" --exclude "*.gif" --exclude "*.png"

#打包排除某个目录

tar -zcvf www.20130813.tar.gz www/ --exclude www/uploads

#查看LINUX服务器序列号
# dmidecode -t 1

dmidecode 2.10
SMBIOS 2.5 present.

Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: Dell Inc.
Product Name: PowerEdge 1950
Version: Not Specified
Serial Number: *******
UUID: *******-*******-*******-*******-*******
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified

Linux命令行访问网页

CURL — 命令行浏览器

这东西现在已经是苹果机上内置的命令行工具之一了,可见其魅力之一斑

1)
二话不说,先从这里开始吧!

curl http://py.10isp.com

回车之后,py.10isp.com 的html就稀里哗啦地显示在屏幕上了~~~~~

2)
嗯,要想把读过来页面存下来,是不是要这样呢?
curl http://py.10isp.com >panyan.html

当然可以,但不用这么麻烦的!
用curl的内置option就好,存下http的结果,用这个option: -o
curl -o page.html http://py.10isp.com

这样,你就可以看到屏幕上出现一个下载页面进度指示。等进展到100%,自然就OK咯

3)
什么什么?!访问不到?肯定是你的proxy没有设定了。
使用curl的时候,用这个option可以指定http访问所使用的proxy服务器及其端口: -x
curl -x 123.45.67.89:1080 -o page.html http://py.10isp.com

4)
访问有些网站的时候比较讨厌,他使用cookie来记录session信息。
像IE/NN这样的浏览器,当然可以轻易处理cookie信息,但我们的curl呢?…..
我们来学习这个option: -D <– 这个是把http的response里面的cookie信息存到一个特别的文件中去
curl -x 123.45.67.89:1080 -o page.html -D cookie0001.txt http://py.10isp.com

这样,当页面被存到page.html的同时,cookie信息也被存到了cookie0001.txt里面了

5)
那么,下一次访问的时候,如何继续使用上次留下的cookie信息呢?要知道,很多网站都是靠监视你的cookie信息,
来判断你是不是不按规矩访问他们的网站的。
这次我们使用这个option来把上次的cookie信息追加到http request里面去: -b
curl -x 123.45.67.89:1080 -o page1.html -D cookie0002.txt -b cookie0001.txt http://py.10isp.com

这样,我们就可以几乎模拟所有的IE操作,去访问网页了!

6)
稍微等等~~~~~我好像忘记什么了~~~~~
对了!是浏览器信息~~~~

有些讨厌的网站总要我们使用某些特定的浏览器去访问他们,有时候更过分的是,还要使用某些特定的版本~~~~
NND,哪里有时间为了它去找这些怪异的浏览器呢!?

好在curl给我们提供了一个有用的option,可以让我们随意指定自己这次访问所宣称的自己的浏览器信息: -A
curl -A “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)” -x 123.45.67.89:1080 -o page.html -D cookie0001.txt http://py.10isp.com

这样,服务器端接到访问的要求,会认为你是一个运行在Windows 2000上的IE6.0,嘿嘿嘿,其实也许你用的是苹果机呢!

而”Mozilla/4.73 [en] (X11; U; Linux 2.2; 15 i686″则可以告诉对方你是一台PC上跑着的Linux,用的是Netscape 4.73,呵呵呵

7)
另外一个服务器端常用的限制方法,就是检查http访问的referer。比如你先访问首页,再访问里面所指定的下载页,这第二次访问的referer地 址就是第一次访问成功后的页面地址。这样,服务器端只要发现对下载页面某次访问的referer地址不 是首页的地址,就可以断定那是个盗连了~~~~~

讨厌讨厌~~~我就是要盗连~~~~~!!
幸好curl给我们提供了设定referer的option: -e
curl -A “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)” -x 123.45.67.89:1080 -e “baidu.com” -o page.html -D cookie0001.txt http://py.10isp.com

这样,就可以骗对方的服务器,你是从baidu.com点击某个链接过来的了,呵呵呵

8)
写着写着发现漏掉什么重要的东西了!—– 利用curl 下载文件

刚才讲过了,下载页面到一个文件里,可以使用 -o ,下载文件也是一样。
比如, curl -o 1.jpg http://cgi2.tky.3web.ne.jp/~zzh/screen1.JPG
这里教大家一个新的option: -O
大写的O,这么用: curl -O http://cgi2.tky.3web.ne.jp/~zzh/screen1.JPG
这样,就可以按照服务器上的文件名,自动存在本地了!

再来一个更好用的。
如果screen1.JPG以外还有screen2.JPG、screen3.JPG、….、screen10.JPG需要下载,难不成还要让我们写一个script来完成这些操作?
不干!
在curl里面,这么写就可以了:
curl -O http://cgi2.tky.3web.ne.jp/~zzh/screen[1-10].JPG

呵呵呵,厉害吧?!~~~

9)
再来,我们继续讲解下载!
curl -O http://cgi2.tky.3web.ne.jp/~{zzh,nick}/[001-201].JPG

这样产生的下载,就是
~zzh/001.JPG
~zzh/002.JPG

~zzh/201.JPG
~nick/001.JPG
~nick/002.JPG

~nick/201.JPG

够方便的了吧?哈哈哈

咦?高兴得太早了。
由于zzh/nick下的文件名都是001,002…,201,下载下来的文件重名,后面的把前面的文件都给覆盖掉了~~~

没关系,我们还有更狠的!
curl -o #2_#1.jpg http://cgi2.tky.3web.ne.jp/~{zzh,nick}/[001-201].JPG

–这是…..自定义文件名的下载?
–对头,呵呵!

#1是变量,指的是{zzh,nick}这部分,第一次取值zzh,第二次取值nick
#2代表的变量,则是第二段可变部分—[001-201],取值从001逐一加到201
这样,自定义出来下载下来的文件名,就变成了这样:
原来: ~zzh/001.JPG —> 下载后: 001-zzh.JPG
原来: ~nick/001.JPG —> 下载后: 001-nick.JPG

这样一来,就不怕文件重名啦,呵呵

9)
继续讲下载
我们平时在windows平台上,flashget这样的工具可以帮我们分块并行下载,还可以断线续传。
curl在这些方面也不输给谁,嘿嘿

比如我们下载screen1.JPG中,突然掉线了,我们就可以这样开始续传
curl -c -O http://cgi2.tky.3wb.ne.jp/~zzh/screen1.JPG

当然,你不要拿个flashget下载了一半的文件来糊弄我~~~~别的下载软件的半截文件可不一定能用哦~~~

分块下载,我们使用这个option就可以了: -r
举例说明
比如我们有一个http://cgi2.tky.3web.ne.jp/~zzh/zhao1.mp3 要下载(赵老师的电话朗诵 😀 )
我们就可以用这样的命令:
curl -r 0-10240 -o “zhao.part1” http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.mp3 &\
curl -r 10241-20480 -o “zhao.part1” http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.mp3 &\
curl -r 20481-40960 -o “zhao.part1” http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.mp3 &\
curl -r 40961- -o “zhao.part1” http:/cgi2.tky.3web.ne.jp/~zzh/zhao1.mp3

这样就可以分块下载啦。
不过你需要自己把这些破碎的文件合并起来
如果你用UNIX或苹果,用 cat zhao.part* > zhao.mp3就可以
如果用的是Windows,用copy /b 来解决吧,呵呵

上面讲的都是http协议的下载,其实ftp也一样可以用。
用法嘛,
curl -u name:passwd ftp://ip:port/path/file
或者大家熟悉的
curl ftp://name:passwd@ip:port/path/file

10)
说完了下载,接下来自然该讲上传咯
上传的option是 -T

比如我们向ftp传一个文件: curl -T localfile -u name:passwd ftp://upload_site:port/path/

当然,向http服务器上传文件也可以
比如 curl -T localfile http://cgi2.tky.3web.ne.jp/~zzh/abc.cgi
注意,这时候,使用的协议是HTTP的PUT method

刚才说到PUT,嘿嘿,自然让老服想起来了其他几种methos还没讲呢!
GET和POST都不能忘哦。

http提交一个表单,比较常用的是POST模式和GET模式

GET模式什么option都不用,只需要把变量写在url里面就可以了
比如:
curl http://www.yahoo.com/login.cgi?user=nickwolfe&password=12345

而POST模式的option则是 -d

比如,curl -d “user=nickwolfe&password=12345” http://www.yahoo.com/login.cgi
就相当于向这个站点发出一次登陆申请~~~~~

到底该用GET模式还是POST模式,要看对面服务器的程序设定。

一点需要注意的是,POST模式下的文件上的文件上传,比如
<form method=”POST” enctype=”multipar/form-data” action=”http://cgi2.tky.3web.ne.jp/~zzh/up_file.cgi”>
<input type=file name=upload>
<input type=submit name=nick value=”go”>
</form>
这样一个HTTP表单,我们要用curl进行模拟,就该是这样的语法:
curl -F upload=@localfile -F nick=go http://cgi2.tky.3web.ne.jp/~zzh/up_file.cgi

罗罗嗦嗦讲了这么多,其实curl还有很多很多技巧和用法
比如 https的时候使用本地证书,就可以这样
curl -E localcert.pem https://remote_server

再比如,你还可以用curl通过dict协议去查字典~~~~~
curl dict://dict.org/d:computer

FlashFXP V3.7.9.1348 beta 烈火汉化特别版

点击下载

FlashFXP 是一个功能强大的 FXP/FTP 软件,融合了一些其他优秀 FTP 软件的优点,

如像 CuteFTP 一样可以比较文件夹,支持彩色文字显示;

像 BpFTP 支持多文件夹选择文件,能够缓存文件夹;

像 LeapFTP 一样的外观界面,甚至设计思路也差相仿佛。

支持文件夹(带子文件夹)的文件传送、删除;

支持上传、下载及第三方文件续传;

可以跳过指定的文件类型,只传送需要的文件;

可以自定义不同文件类型的显示颜色;

可以缓存远端文件夹列表,支持FTP代理及 Socks 3&4;

具有避免空闲功能,防止被站点踢出;

可以显示或隐藏“隐藏”属性的文件、文件夹;

支持每个站点使用被动模式等。

Linux FTP命令使用实例

Linux FTP命令使用实例
ftp py.10isp.com
ftp py.10isp.com 2121
这个命令表示试图连接py.10isp.com的FTP服务器,如果成功连接上,就会要求输入FTP用户名和密码。非21端口使用空格加端口

ftp> help
连接上FTP服务器后,键入help就会列出所有的FTP命令。

ftp> ls
此命令是列出远程服务器当前目录的所有目录和文件。

ftp> cd customers
这个命令是改变远程目录为customers。

ftp> cd ..
改变远程当前目录到父级目录

ftp> lcd images
改变本地服务器当前目录为images

ftp> ascii
改为ascii的传输模式

ftp> binary
改为binary的传输模式

ftp> get image1.jpg
下载远程服务器的image1.jpg文件到本地服务器。注意:如果本地服务器存在image1.jpg,将会被覆盖。

ftp> put image2.jpg
上传本地服务器的image2.jpg文件到远程服务器。注意:如果远程服务器存在image2.jpg,将会被覆盖。

ftp> !ls
在命令前加“!”,表示执行本地服务器的指定命令。所以,!ls表示列出本地服务器的当前目录的文件和目录。

ftp> mget *.jpg
使用mget命令可以下载多个图片文件,此命令表示下载后缀名为jpg的所有文件。

ftp> mput *.jpg
上传所有”.jpg”文件。

ftp> mdelete *.jpg
删除远程服务器的”jpg”文件。

ftp> prompt
开启或关闭“提醒模式”,以便让操作多个文件时直接执行命令而不提醒确认。

ftp> quit
退出FTP程序。

Centos PureFTPd+PureDB 编译安装配置

http://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.36.tar.gz
tar xzvf pure-ftpd-1.0.36.tar.gz
cd pure-ftpd-1.0.36

./configure --prefix=/usr/local/pureftpd --with-quotas --with-cookie --with-virtualhosts --with-virtualchroot --with-diraliases --with-sysquotas --with-ratios --with-altlog --with-paranoidmsg --with-welcomemsg --with-throttling --with-uploadscript --with-language=simplified-chinese --with-ftpwho --with-peruserlimits --with-puredb

编译说明
–with-puredb 虚拟用户认证
–with-cookie 在用户登录时显示标志或banner
–with-virtualhosts 多IP服务器可做为多个虚拟的ftp服务器
–with-diraliases 支持目录别名
–with-sysquotas 支持系统配额
–with-quotas 用户配额(文件数和总大小)
–with-ratios 上传下载比例
–with-altlog 日志输出,对于主站,量太大,可以不用
–with-paranoidmsg 友好的错误信息
–with-peruserlimits 单用户连接数限制
–with-welcomemsg 欢迎消息
–with-throttling 支持带宽限制
–with-uploadscript 支持自动上传脚本
–with-virtualchroot 限制用户不能到家目录外(符号链接除外)
–with-ftpwho 支持pure-ftpwho命令,启用这个功能需要更多的额外内存
–with-language=simplified-chinese 中文语言支持

 

 make 
 make install
 cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/
 chmod 755 /usr/local/pureftpd/sbin/pure-config.pl
 mkdir /usr/local/pureftpd/etc/
 cp configuration-file/pure-ftpd.conf /usr/local/pureftpd/etc/

# vi /usr/local/pureftpd/etc/pure-ftpd.conf

# 开启FTP文件覆盖
AllowOverwrite on
AllowStoreRestart on
# 关闭匿名登录
NoAnonymous yes
# PureDB验证
PureDB /usr/local/pureftpd/etc/pureftpd.pdb

加入系统服务

 cp contrib/redhat.init /etc/init.d/pureftpd
 sed -i 's#/usr/local/sbin/#/usr/local/pureftpd/sbin/#g' /etc/init.d/pureftpd
 sed -i 's#/etc/pure-ftpd.conf#/usr/local/pureftpd/etc/pure-ftpd.conf#g' /etc/init.d/pureftpd
 chmod 755 /etc/init.d/pureftpd
 chkconfig --add pureftpd
 chkconfig --level 2345 pureftpd on

建立虚拟用户
# /usr/local/pureftpd/bin/pure-pw useradd ftpuser -u apache -g apache -d /var/www/html -m

并配置密码

参数说明
-t 下载带宽限制
-T 上传带宽限制
-n 最大文件数目
-N 磁盘配额(单位M)
-q 上传速度限制
-Q 下载速度限制
-r 允许某些ip/网段的客户端访问
-R 拒绝某些ip/网段的客户端访问
-i 允许本地某些ip/网段访问(allow local host)
-I 拒绝本地某些ip/网段访问(deny local host)
-y 同时最大连接数目
-z 允许连接服务器的时间段,格式hhmm-hhmm,如 -z 0412-1618代表用户只能在凌晨4点12分至下午4点18分连接服务器
-f passwd_file
-F puredb_file
-m 不必重启Pure-FTPd以及重新生成puredb_file文件

如果进行帐户操作时,没有带-m 参数,那就应该手动更新一下pdb数据
/usr/local/pure-ftpd/bin/pure-pw mkdb pureftpd.pdb
pure-pw useradd 添加用户
pure-pw userdel 删除用户
pure-pw usermod 修改用户
pure-pw show 查看用户详细信息
pure-pw list 查看所有用户设置
pure-pw mkdb 生成数据文件

pure-ftpd.conf配置文件解释
============================================================================
ChrootEveryone yes                      #限制所有用户在其主目录中
BrokenClientsCompatibility no #兼容ie等比较非正规化的ftp客户端
MaxClientsNumber 50                 #服务器总共允许同时连接的最大用户数
Daemonize yes                                 #做为守护(doemon)进程运行(Fork in background)
MaxClientsPerIP 8                         #同一IP允许同时连接的用户数
VerboseLog no                                #如果你要记录所有的客户命令,设置这个指令为 “yes”
DisplayDotFiles yes                       #即使客户端没有发送 ‘-a’ 选项也列出隐藏文件
AnonymousOnly no                      #不允许认证用户 – 仅作为一个公共的匿名FTP。
NoAnonymous yes                        #不允许匿名连接,仅允许认证用户使用。
SyslogFacility ftp                           #缺省的功能( facility )是 “ftp”,”none” 将禁止日志。
DontResolve yes                            #在日志文件中不解析主机名。
MaxIdleTime 15                            #客户端允许的最大的空闲时间(分钟,缺省15分钟)
PureDB /usr/local/pureftp/etc/pureftpd.pdb #PureDB用户数据库
LimitRecursion 2000 8             #’ls’ 命令的递归限制。第一个参数给出文件显示的最大数目。第二个参数给出最大的子目录深度.
AnonymousCanCreateDirs no #允许匿名用户创建新目录?
MaxLoad 4                                       #如果系统被 loaded 超过下面的值,匿名用户会被禁止下载。
AntiWarez yes                                #不接受所有者为 “ftp” 的文件的下载。
Bind 10.10.10.10,21                   #服务监听的IP 地址和端口。
Umask 133:022                             #新建目录及文件的属性掩码值。<文件掩码>;:<目录掩码>; .
MinUID 500                                   #认证用户允许登陆的最小组ID(UID) 。
AllowUserFXP yes                       #仅允许认证用户进行 FXP 传输。
AllowAnonymousFXP no         #对匿名用户和非匿名用户允许进行匿名 FXP 传输。
ProhibitDotFilesWrite no         #用户不能删除和写点文件(文件名以 ‘.’ 开头的文件)
ProhibitDotFilesRead no          #禁止读点文件(文件名以 ‘.’ 开头的文件) (.history, .ssh…)
AutoRename no                           #永不覆盖文件。当上传的文件,其文件名已经存在时,自动重命名,如: file.1, file.2, file.3, …
AnonymousCantUpload no    #不接受匿名用户上传新文件( no = 允许上传)
AltLog clf                                        #使用类似于Apache的格式创建一个额外的日志文件
MaxDiskUsage 99                       #来保护日志文件。当所在磁盘分区使用超过百分之 X 时,将不在接受新的上传。
CustomerProof yes
UnixAuthentication no           #不起用简单的 Unix系统 认证方式(/etc/passwd)。

如果apache的用户id小于500,就需要修改配置文件,否则登录就会出现530错误

centos 加载intel S5000VSA RAID卡驱动方法

环境如下:

主板:Inter Server S5000VSA

RAID: 主板自带RAID0

系统:Centos5.6 64位

驱动下载地址:ESRT-2 SATA & SAS Software RAID Driver for Linux

 

解压后在DUDs 目录中找到匹配的驱动程序,CentOS5.6用的是megasr-14.05.0727.2011-1-rhel50-u6-all.img

具体加载方法如下:

1) 创建RAID。
2) 启动Centos安装,并且将驱动程序复制到U盘,直接IMG文件就可以了。
3) 在安装的第一个界面,boot提示符下输入 linux nostorage
4) 进入安装过程中,一直看到“Add device” 按钮。
5) 点击 “Add Device”,出现一系列的驱动。
6) 按F2,就跳出选择软盘,或者移动硬盘或者u盘。
7) 我们选择U盘或移动硬盘,找到驱动程序文件,一般是IMG文件,选中后再点OK按钮。
8 ) 这时会回到刚才看到的驱动程序列表界面。
9) 选中刚才加进来的驱动,建议大家记住自己的驱动型号,厂商等信息,以便快速定位。

megasr-14.05.0727
11) 点击 OK
12) 驱动程序就被加载,并出现在新增加设置列里
13) 点击 Done

此处可以把U盘设备拔掉再安装系统,一定要将grub引导安装到硬盘上。
14) 继续安装,完成了。

转自:http://songxj.blog.51cto.com/620981/866246