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

2010年8月13日 作者:water

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

其他类

修改uchome,让myop应用定时开启,做啥用,对了,就是让人上班不要玩游戏,呵呵。

2010年8月12日 作者:water

//打开common.php,在其最后加入如下代码即可

//根据当前是否为开放游戏时间,来确定是否显示游戏列表
$sstart = ’8:30′;
$send = ’12:00′;
$xstart = ’13:00′;
$xend = ’17:30′;
$now = date(‘H:i’);

if ((date(‘w’)<>0) or (date(‘w’)<>6)){//判断是否为周一到周五
if ((($now>$sstart) and ($now<$send)) or (($now>$xstart) and ($now<$xend))){
$_SCONFIG['my_status'] = 0;
}}

PHP+Mysql

把opencart的url rewrite规则从apache转到nginx

2010年8月9日 作者:water

从网上找到一个好工具:

http://www.anilcetin.com/convert-apache-htaccess-to-nginx/

转换前

# SEO URL Settings
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ index.php?_route_=$1 [L,QSA]

转换后:

if (!-f $request_filename){
set $rule_0 1$rule_0;
}
if (!-d $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = “21″){
rewrite ^/(.*)\?*$ /index.php?_route_=$1 last;
}

经测试,效果良好可用。

Linux , , ,

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}}

其他类

给文本文件每行加前缀

2010年7月20日 作者:water

awk ‘{$0=”前缀”$0}1′ filename.txt

Linux

本地测试环境中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,就可以达到完美的效果了。

其他类

修改sshd_config加速ssh连接

2010年7月7日 作者:water

sudo vim /etc/ssh/sshd_config

GSSAPIAuthentication no
UseDNS no

Linux

定时获取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中运行。

其他类