php上传的问题

这两天折腾VPS,把原来的Typecho插件弄上去折腾,发现麻烦问题,没法通过php上传了。无论是php+flash还是通过iframe都不行。尤其蛋疼的是flash上传,错误就一个 #2038 ,完全不知道具体原因,折腾人啊。搜索引擎都用得冒烟了都没解决好。

先是typecho的附件都没法上传,肯定是服务器配置出了问题,后来找到原因是apache配置了mod_security引起的,通过.htaccess文件关掉mod_security

<IfModule mod_security.c>
SecFilterEngine Off
</IfModule>

附件上传没问题了,但是自己写的上传代码总是没法,用chrome和firefox的调试工具总算知道了是403错误,处理上传的php文件被禁止访问了,网上找了一大圈,都没发现解决办法。最后偶然才发现在typecho的usr目录下有个.htaccess文件,一查看就找到问题的根本了。原来typecho为了安全,禁止了对usr目录下的所以php文件的直接访问。我的插件在usr/plugins目录下,处理上传的php文件在插件目录下,需要单独执行处理上传,被禁止访问就没法上传了。所以那个邮件提醒插件CommentToMail也会出现问题,因为也有独立的php文件需要执行,如果.htaccess文件禁止了usr目录下的php文件访问,肯定发不出邮件。

阅读剩余部分...

设置Centos的时区

这两天在折腾VPS,用了个自动备份的脚本,却发现没按时备份,仔细检查发现时区是+4区,时间对不上号,所以没法按时备份。改变Centos的时区很容易,只需在控制台输入命令:

cp /usr/share/zoneinfo/Asia/Chongqing /etc/localtime
yum install ntp
ntpdate us.pool.ntp.org

再用date -R查看时区是否为+8

apache设置虚拟主机

跟风弄了个$2的VPS练手,学习下vps的使用,sshvm半小时开通,效率不错,访问速度也还可以。系统选择了centos,并没用ubuntu,关键是ubuntu的配置文件很多跟redhat系的不一样,而网上找到的教程基本是redhat系类的。

美国的主机用yum真快,源多源近,比我用centos当桌面系统时快多了。尝试安装了apache+php+mysql。试着配置多域名虚拟机。配置文件/etc/httpd/conf/httpd.conf里修改:

先要设置这个:
NameVirtualHost   *:80
开始没设置,结果多个域名都指向一个站,没虚拟成功。
然后设置:
<VirtualHost   *:80>
        DirectoryIndex   default.php
        ServerName   test.defe.me
        DocumentRoot  /var/www/dir1
</VirtualHost>
<VirtualHost   *:80>
        DirectoryIndex   index.php
        ServerName   test2.defe.me
        DocumentRoot   /var/www/dir2
</VirtualHost>