给文本文件每行加前缀

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中运行。

其他类

获取被google蜘蛛抓取较多的虚拟主机排名列表前10名

2010年7月6日 作者:water

find | xargs grep Googlebot | awk ‘{print $1}’ | cut -d ‘:’ -f 2 | sort | uniq -c | sort -nr | head -10

SEO

pure-ftpd在ubuntu 10.04 server LTS的配置注意事项

2010年7月4日 作者:water

原先我一直使用vsftpd,vsftpd有一个致命BUG,偿试多年仍然不能解决。就是有时上传文件上传到100%,会等很久,然后会提示你要不要覆盖文件,点是还是否都不能成功上传这个文件。这个BUG发生的概率极高,特别是有大量小文件上传的时候尤为明显。

最近使用cpanel时发现ftp上传不会出现类似的情况,查了一下,cpanel用的是pure-ftpd,速在ubuntu 10.04 server LTS上部署pure-ftpd,果然,暂时还未发现vsftpd这种上传小文件会卡住的BUG。在ubuntu server中安装pure-ftpd很简单,直接apt-get install pure-ftpd即可,装好后有两个参数要注意设置:

一个是sudo vim /etc/pure-ftpd/conf/ChrootEveryone,文件内容为yes,以解决锁定ftp登录用户主目录的问题

另一个是sudo vim /etc/pure-ftpd/conf/DontResolve,文件内容为yes,以解决在登录时出现:响应:    425 Sorry, invalid address given 错误的问题。

Linux ,

ubuntu 10.04默认安装redmine注意事项

2010年7月3日 作者:water

在ubuntu 10.04中安装redmine比以往简单了很多,直接sudo apt-get install redmine redmine-mysql就可以了。但估计是初次尝试这种安装方式,还有一些bug。解决的注意事项如下:

安装步骤:

1.sudo apt-get install redmine redmine-mysql

2.修改自动建立的数据库编码为utf8_general_ci ,不改的话,会造成中文乱码

3.生成会话存储密钥:RAILS_ENV=production rake generate_session_store

4.创建数据库表结构:RAILS_ENV=production rake db:migrate

5.配置默认数据,选择zh:RAILS_ENV=production rake redmine:load_default_data

默认安装好后,在虚拟主机里面添加

RailsEnv production
RailsBaseURI /pm

然后ln -s /usr/share/redmine/public/ /var/www/pm

重启apache2后,打开http://localhost/pm/ 后提示Phusion Passenger错误:

Ruby on Rails application could not be started

Error message:Permission denied – /etc/redmine/default/session.yml

经查,这是因为Phusion Passenger默认运行帐户不是apache2默认的www-data,造成了权限的问题,需要在虚拟主机里面添加 PassengerDefaultUser www-data

重启apache2后就可以正常打开redmine了。

email提醒的功能需要增加一个/etc/default/email.yml文件,内容如下:

production:
  delivery_method: :sendmail

Linux ,

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。不知何故。

其他类