Written by 正冰 on 2013, April 5, 7:39 PM
购买了一个cpanel面板的空间,但是在安装程序的时候遭遇到了500 Internal Server Error的错误:
- Internal Server Error
- The server encountered an internal error or misconfiguration and was unable to complete your request.
- Please contact the server administrator, webmaster@demo.is36.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
- More information about this error may be available in the server error log.
- Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
- Apache/2.2.24 (Unix) mod_ssl/2.2.24 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 mod_perl/2.0.6 Perl/v5.10.1 Server at demo.is36.com Port 80
解决方法很简单,打开cPanel面板“错误日志”页,一般会有2种错误:
- 第一种即“文件夹”给了太高权限,可被“组写入”:install is writeable by group
- 第二种即“文件”给了太高权限,可被“组写入”:index.php is writeable by group
只需要把“文件夹”和“文件”的“组写入”权限取消掉即可:
- 对“文件夹”去掉“组写入”权限,也就是从默认775改成755即可
- 对“文件”去掉“组写入”权限,也就是从默认664改成644即可
以install目录和index.php文件为例:
以上2个修改均可以通过ftp修改或者chmod命令完成
- chmod 755 install
- chmod 644 index.php
而如果有比较多的文件与文件夹需要更改权限,使用chmod分别设置子目录和文件不同权限:
先将当前目录中的所有“文件”包括文件夹设置为644:chmod 644 -R *
再将当前目录中的所有“子目录”的权限设置为755:chmod 755 `find -type d`
也可以用find命令实现:
- find ./ -type f -exec chmod 644 {} \;
- find ./ -type d -exec chmod 755 {} \;
Filed under: 技术归总
0 Comments
11489 Views
Written by 正冰 on 2013, April 3, 11:20 AM
比如IP为111.111.111.111,打开这个网址(替换其中的IP地址):
http://bgp.he.net/ip/111.111.111.111#_rbl
经过几秒钟的检查:Please wait while RBL checks are performed...
然后就会出现如下结果(显示PASS即IP没被列入邮件黑名单):
- b.barracudacentral.org PASS
- bl.deadbeef.com PASS
- bl.emailbasura.org PASS
- bl.spamcannibal.org PASS
- bl.spamcop.net PASS
- blackholes.five-ten-sg.com PASS
- cbl.abuseat.org PASS
- cdl.anti-spam.org.cn PASS
- combined.njabl.org PASS
- combined.rbl.msrbl.net PASS
- dnsbl-1.uceprotect.net PASS
- dnsbl-2.uceprotect.net PASS
- dnsbl-3.uceprotect.net PASS
- dnsbl.ahbl.org PASS
- dnsbl.cyberlogic.net PASS
- dnsbl.inps.de PASS
- dnsbl.njabl.org PASS
- dnsbl.sorbs.net PASS
- drone.abuse.ch PASS
- dul.dnsbl.sorbs.net PASS
- dul.ru PASS
- dyna.spamrats.com PASS
- http.dnsbl.sorbs.net PASS
- images.rbl.msrbl.net PASS
- korea.services.net PASS
- misc.dnsbl.sorbs.net PASS
- noptr.spamrats.com PASS
- pbl.spamhaus.org PASS
- phishing.rbl.msrbl.net PASS
- psbl.surriel.com PASS
- rbl.spamlab.com PASS
- rbl.suresupport.com PASS
- sbl.spamhaus.org PASS
- short.rbl.jp PASS
- smtp.dnsbl.sorbs.net PASS
- socks.dnsbl.sorbs.net PASS
- spam.abuse.ch PASS
- spam.dnsbl.sorbs.net PASS
- spam.rbl.msrbl.net PASS
- spam.spamrats.com PASS
- spamrbl.imp.ch PASS
- tor.ahbl.org PASS
- ubl.unsubscore.com PASS
- virbl.bit.nl PASS
- virus.rbl.jp PASS
- virus.rbl.msrbl.net PASS
- web.dnsbl.sorbs.net PASS
- wormrbl.imp.ch PASS
- xbl.spamhaus.org PASS
- zen.spamhaus.org PASS
- zombie.dnsbl.sorbs.net PASS
Filed under: 技术归总
0 Comments
14467 Views
Written by 正冰 on 2013, March 14, 8:30 PM
手头有一套php程序是zend加密的,将它放到主机空间上运行的时候遭遇如下问题:Fatal error: Incompatible file format: The encoded file has format major ID 3, whereas the Loader expects 4 in
百度总结之后,汇总该问题相关信息如下:
- 从PHP5.3开始如果要支持zendguard加密的PHP代码,必须安装zend guard loader,老的zend optimizer将不被支持。
- PHP5.2之前的Zend加密程序用Zend Optimizer解析。
- PHP5.3开始的Zend加密程序用Zend Guard Loader解析。
综上,造成该问题的原因是Zend Guard 5.1更新了加密PHP文件的算法来迎合PHP5.3新版本支持,用Zend Guard老版本加密过的PHP文件在 PHP5.3 + Zend Guard Loader的环境下都无法正常浏览,会报出文章开头的错误。
解决方法:
- 可以把PHP程序源文件在Zend Guard 5.1下重新加密,然后才能浏览。本处因为拿到的就是加密商业代码,故放弃这一招。
- 也可以把程序放到PHP5.2 + Zend Optimizer的环境下运行即可。本处选择它来运行这套加密程序。
我的主机提供商homezz.COM提供空间自动搬家功能,我把空间搬迁到了低版本PHP的环境下,搞定。摘录前后主机PHP环境如下:
- 搬迁前:PHP5.3.17 + Zend Engine v2.3.0 + Zend Guard Loader v3.3
- 搬迁后:PHP5.2.17 + Zend Engine v2.2.0 + Zend Optimizer v3.3.9
Filed under: 技术归总
1 Comments
64467 Views
Written by 正冰 on 2013, January 29, 9:46 AM
对当前环境临时生效:export LANG=zh_CN.GB18030
永久写入配置文件:vi /etc/sysconfig/i18n
- #LANG="en_US.UTF-8"
- LANG="zh_CN.GB18030"
- SYSFONT="latarcyrheb-sun16"
Filed under: 技术归总
0 Comments
10601 Views
Written by 正冰 on 2013, January 29, 8:21 AM
有某个文本文件is36.txt,需要取得字符串行数与指定字符串长度。
linux下shell取得字符串行数:
Linux下shell取得指定字符串长度(默认第一行):
Linux下shell取得指定字符串长度(2p即第二行):
- sed -n '2p' is36.txt | wc -L
Filed under: 技术归总
0 Comments
21548 Views
Written by 正冰 on 2013, January 27, 8:40 AM
C:\>taskkill /?
TASKKILL [/S system [/U username [/P [password]]]]
{ [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]
描述:
使用该工具按照进程 ID (PID) 或映像名称终止任务。
参数列表:
/S system 指定要连接的远程系统。
/U [domain\]user 指定应该在哪个用户上下文执行这个命令。
/P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。
/FI filter 应用筛选器以选择一组任务。允许使用 "*"。例如,映像名称 eq acme*
/PID processid 指定要终止的进程的 PID。使用 TaskList 取得 PID。
/IM imagename 指定要终止的进程的映像名称。通配符 '*'可用来指定所有任务或映像名称。
/T 终止指定的进程和由它启用的子进程。
/F 指定强制终止进程。
筛选器:
筛选器名 有效运算符 有效值
----------- --------------- -------------------------
STATUS eq, ne RUNNING | NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne 映像名称
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 会话编号。
CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为
hh:mm:ss。
hh - 时,
mm - 分,ss - 秒
MEMUSAGE eq, ne, gt, lt, ge, le 内存使用量,单位为 KB
USERNAME eq, ne 用户名,格式为 [domain\]user
MODULES eq, ne DLL 名称
SERVICES eq, ne 服务名称
WINDOWTITLE eq, ne 窗口标题
说明
----
1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'。
2) 远程进程总是要强行 (/F) 终止。
3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。
例如:
TASKKILL /IM notepad.exe
TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
TASKKILL /F /IM cmd.exe /T
TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
C:\>tskill /?
结束进程。
TSKILL processid | processname [/SERVER:servername] [/ID:sessionid | /A] [/V]
processid 要结束的进程的 Process ID。
processname 要结束的进程名称。
/SERVER:servername 含有 processID 的服务器(默认值是当前值)。
使用进程名和 /SERVER 时,必须指定 /ID
或 /A
/ID:sessionid 结束在指定会话下运行的进程。
/A 结束在所有会话下运行的进程。
/V 显示正在执行的操作的信息。
Filed under: 技术归总
0 Comments
41129 Views
Written by 正冰 on 2013, January 26, 7:43 PM
在godaddy主机(Linux系统)上部署了wordpress程序,安装了cos-html-cache生成静态首页与静态文章页,然而只有首页可以静态化,文章页无法生成。
造成该问题的原因是Godaddy的主机太安全的缘故,首先来看下如下变量与函数的差别:
- $_SERVER['DOCUMENT_ROOT']变量:返回服务器中定义的当前脚本所在的文档根目录
- dirname(__FILE__) 函数:返回的当前脚本的绝对路径
而cos-html-cache中采用了$_SERVER['DOCUMENT_ROOT']变量来获取网站目录却在Godaddy这类BT主机商遭遇了问题——测试生成首页无法生成静态文章页。
解决方法比较简单,将以下内容保存为get_path.php文件放到网站根目录上:
- <?php
- echo "SeverPath: ".dirname(__FILE__)."/";
- echo "<br>";
- $path = $_SERVER['DOCUMENT_ROOT']."/";
- echo "DOCUMENT_ROOT: ".$path;
- ?>
访问这个文件获取到的信息如下:
- SeverPath: /home/content/is36/html/www.is36.com/
- DOCUMENT_ROOT: /var/chroot/home/content/is36/html/
是否看到差别了?进入WordPress后台,打开如下链接(自行修改域名):
http://www.is36.com/wp-admin/plugin-editor.php?file=cos-html-cache/cos-html-cache.php
然后把$path = $_SERVER['DOCUMENT_ROOT']."/";修改为$path = "/home/content/is36/html/www.is36.com/";
修改完成后点击更新文件,然后再用另外一个未登陆WordPress的浏览器访问首页跟文章页,你会发现都更新了!(注意:登陆的时候页面不会被缓存,或者退出登陆访问页面。)
吐槽:Godaddy主机无法在主机面板里调整默认文档页的先后顺序,经测试发现index.php文件的优先级高于index.html,如果生成的静态页index.html无法被先访问就失去了静态化的意义。那么针对Godaddy主机这个不算问题的问题,解决方案也简单。把以下规则加入到根目录的.htaccess文件里:
- <Files ~ "^.(htaccess|htpasswd)$">
- deny from all
- </Files>
- DirectoryIndex index.html index.php
- order deny,allow
Filed under: 技术归总
0 Comments
16281 Views
Written by 正冰 on 2013, January 20, 11:01 AM
在buyvm家有5台位于西海岸圣何塞数据中心的VPS,虽然都是基于OpenVZ虚拟化技术,不过线路比较稳定,电信跟联通均走nlayer线路,而其主站www.buyvm.net电信走pccw线路,联通走tinet线路比较奇怪。
这次整个搬迁从圣何塞至拉斯维加斯,整个搬迁时间跨度:北京时间从1月20日13:30至1月21日1:00-2:00。
搬迁之前记录下5台VPS的一些信息:
- 内存256MB*2,$35/年,母鸡node47,L5520*2,在线26天
- 内存256MB*2,$35/年,母鸡node29,E5520*2,在线62天
- 内存128MB*2,$15/年,母鸡node32,L5520*1,在线165天
- 内存128MB*2,$15/年,母鸡node65,L5520*1,在线220天
- 内存128MB*2,$15/年,母鸡node48,L5638*1,在线12天
因为BuyVM家的tos(规则)比较严格,连账户的信息修改都要联系客服完成,若信息有虚假或者不太真实均会导致订单被认定为欺诈。也正因为如此,虽然他们家VPS性价比高但是稳定性也还不错。
Filed under: 技术归总
0 Comments
7474 Views