存档

‘其他类’ 分类的存档

mod_pagespeed出错了

2010年11月5日 作者:water

Google推出apache加速模块mod_pagespeed,我立即安装到我的ubuntu server 10.04,几分钟后,一个用户报网站不能正常打开(用ecshop改的一个网站),表现为css丢失,连开几个ecshop站,发现有些会出现这种情况,有些不会。禁用mod_pagespeed后,一切恢复正常。具体原因未知。

其他类

易趣网(www.eachnet.com),在我眼中你就是这样死的。

2010年9月27日 作者:water

曾几何时,易趣还能极大的优势与淘宝正面PK。近几年来,淘宝发展得如日中天,易趣已成昨日黄花。我不懂怎么去仔细分析它们的成与败,但最近一件让我极为厌烦的事情,让我认为:易趣,你把网民当猴耍,难怪你会死得那么难看。

因为一直在做互联网行业,这几年我一直订阅着包括易趣和淘宝在内的众多邮件列表。不知从什么时候开始,也许是去年还是前年吧,一不小心发现易趣的邮件列表里面全是仿牌、山寨货的广告。里面的文字图片宣传极为煽情,让原本对易趣品牌还有些好感,但对这些广告产品不明就里的网友产生极大的诱惑。嗯,相信下单的人总有不少吧,然后这些人还会再相信易趣?做梦吧。

既然易趣已自甘堕落,它们的邮件列表对我而言,已彻底变成了垃圾。我也没有必要再订阅它们了。我就按邮件列表里面的提示去退订,嗯,第一次退订的时候系统提示我不是它们的用户(具体文字忘记了,大概就是这意思),记我不明就里。时间又过了几个月,我实在受不了这些垃圾邮件了。我再次退订,咦,系统提示退订成功,呵呵,让我开心了一把。然而接下来的几天,我还是继续收到邮件列表….

我无语,看来易趣已完全不可救药,这样的营销策略,这样的服务理念,易趣,你不死谁死?你不让我退订,没关系,gmail邮箱是伟大的,我有轻易对付垃圾邮件的办法。写下这篇博文,给你留做纪念吧。

其他类

用vim做php开发配置备忘,适合稍有vim经验的php程序员

2010年9月15日 作者:water

功能需求清单:

  1. 窗口跳转:Ctrl+w
  2. Buffer列表:Ctrl+x,需要bufExplorer
  3. Buffer切换:Shift+Tab
  4. 树型文件浏览:F7,需要NERDTree
  5. 当前程序Outline结构清单:F8,需要taglist,还依赖ctags,需要先安装sudo apt-get install ctags
  6. 切换paste:F3,这个可以解决从其他地方粘贴进vim时自动缩进的问题
  7. 自动补齐:Ctrl+n,Ctrl+p,不但支持本文件内的关键字,而且能完成php函数的自动补齐
  8. php函数参考:移到需要查询的关键字上按Shift+k
  9. php语法检查:Ctrl+l
  10. Zencoding支持:Ctrl+y+,
  11. 代码片断自动生成:关键字<Tab>,需要snipMate

配置文件从这里下载,然后直接解压到/home/%username%目录即可,在ubuntu 10.04下测试通过

其他类

批量替换当前目录及子目录下所有相关的文本内容

2010年8月13日 作者:water

sed -i “s/oldstring/newstring/g” `find -type f`

其他类

smarty简易教程

2010年7月30日 作者:water
  1. 下载解压到wordir,一般采用最新的稳定版即可,目前是2.6.26
  2. 在php里面
    • require ‘smarty/libs/Smarty.class.php’;
    • $smarty = new Smarty;
    • 配置参数
      • $smarty->template_dir =”smarty/templates/templates”;
      • $smarty->compile_dir =”smarty/templates/templates_c”;
      • $smarty->config_dir = “smarty/templates/config”;
      • $smarty->cache_dir =”smarty/templates/cache”;
      • $smarty -> left_delimiter = “{{“;
      • $smarty -> right_delimiter = “}}”;
    • 变量赋值
      • $varname = ‘test data’;
      • $smarty->assign(‘htmlvar’, $varname,);
    • 调用模版显示$smarty->display(‘index.html’);
  3. 在html模版页面中
    • 变量传递:<html>这是从php传递过来的变量{{$htmvar}}</html>
    • 包含文件:{{include file=”header.html”}}
    • 判断语句:{{if $a == ”}} yes{{else}}no{{/if}}
    • 循环语句:{{section name=products loop=$product}}productname:{{$product.name}}{{/section}}

其他类

本地测试环境中phpmyadmin的root空密码配置

2010年7月16日 作者:water

sudo vim /etc/phpmyadmin/config.inc.php

$cfg['Servers'][$i]['nopassword'] = true;
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Servers'][$i]['password'] = ”;

还有firefox有一个BUG,可能在输入正确的帐号密码后仍提示密码错,这时按F5刷新页面即可登录进去。

其他类

原来新版的subversion在ubuntu 10.04下配置如此简单

2010年7月12日 作者:water

记得5年多以前我写过一篇blog,名叫《SVN+Apache域用户认证配置方法》,搜索了一下,居然还能找到,还被到处转载,呵呵,也算是一件让人开心的事。

当时因为公司没人懂linux,而我自己又是长期出差在外,不方便维护服务器,只好在windows下部署。印象中整个过程还是相当繁琐的。

因工作需要,今天在ubuntu 10.04 server上部署了一套subversion,没想到这么简单,下面是配置步骤和注意事项:

  1. sudo apt-get install libapache2-svn subversion apache2
  2. sudo vim /etc/apache2/sites-available/default,加入
    <Location /svn/>
    DAV svn
    SVNParentPath /home/username/svn/repos
    SVNListParentPath on

    AuthType Basic
    AuthName “Subversion Repository”
    AuthUserFile /home/username/svn/passwdfile

    AuthzSVNAccessFile /home/username/svn/authzfile
    Require valid-user
    </Location>

  3. passwdfile可以用htpasswd passwdfile username passwd格式来生成,具体参数可以看man htpasswd
  4. 注意Location /svn/的svn后面有一条斜线,没有的话,会造成SVNListParentPath失效,提示403错误,看apache2日志的错误信息是:
    The URI does not contain the name of a repository.  [403, #190001],这一点官方手册写的范例就是没有斜线,是错误的,让人无语

其他类 , ,

最简化的ubuntu 10.04下redmine部署方法

2010年7月11日 作者:water

经过反复试验,已测试出最简化的ubuntu 10.04下redmine部署方法。比我前几天写的《ubuntu 10.04默认安装redmine注意事项》要简单的多。之前受以前手工配置redmine习惯的影响,走了不少弯路。现在按ubuntu的软件包管理规则来部署redmine,这才是最方便的,具体方法步骤如下:

  1. sudo apt-get install mysql-server
  2. sudo apt-get install phpmyadmin
  3. sudo apt-get install redmine redmine-mysql
  4. 打开phpmyadmin,删除默认生成的redmine_default数据库中的所有数据表。这是因为默认的数据库编码不是utf8,会造成中文乱码的问题。我们需要先删除,然后按下面的步骤重新配置
  5. 在phpmyadmin中修改redmine_default数据库的编码为utf8
  6. sudo dpkg-reconfigure redmine
  7. sudo ln -s /usr/share/redmine/public/ /var/www/redmine
  8. sudo vim /etc/apache2/site-enabed/000-default,加入以下三行代码,特别要注意最后一行,这是指定Passenger运行的帐户与apache2默认的www-data一致,以免造成权限错误。
    RailsEnv production
    RailsBaseURI /redmine
    PassengerDefaultUser www-data
  9. sudo service apache2 restart,打开http://localhost/redmine 即可以访问redmine。
  10. 在中文环境下redmine的一些字体非常小,看不清楚,这是一个国外软件经常会出现的一个bug,这是因为中文字体在1em以下看不清楚,我们只要修改相应的css文件即可。
  11. 打开/var/www/redmine/stylesheets/application.css,找到font-size: 0.9em和font-size: 0.8em,全部替换为font-size: 1em,就可以达到完美的效果了。

其他类

定时获取robots日志脚本

2010年7月6日 作者:water

#!/bin/sh

ip=`/sbin/ifconfig | grep inet | grep -v inet6 | grep -v 127.0.0.1 | cut -d “:” -f 2 | cut -d ” ” -f 1 | head -1`
mydate=`date +%Y%m%d%H%M%S`
dir=’/home/username/logs’
mkdir $dir

cat /var/log/apache2/access.log | grep Googlebot>$dir/google.$ip.$mydate.log

chown usrname:username -R $dir

#注意,ifconfig一定要用全路径,否则不能在crontab中运行。

其他类

SetEnvIfNoCase在/etc/apache2/apache2.conf中不生效

2010年6月29日 作者:water

指令如下:

SetEnvIfNoCase User-Agent Googlebot googlebot
CustomLog /var/log/apache2/googlebot.log combined env=googlebot

重启apache2后/var/log/apache2/googlebot.log文件可以生成,用firefox的User Agent Switcher模拟Googlebot,访问网站,googlebot.log文件仍为空。

将上述语句放入<VirtualHost>段后,重启apache2模拟Goooglebot访问网站,googlebot.log文件可以得到正常的日志记录。

查询apache2官方网站文档,得知SetEnvIfNoCase是作用域包括了server config。不知何故。

其他类