升级系统导致Postfix的SMTP认证失败(Cyrus-SASL + MySQL)

日志里这样的错误信息:
warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory

最终发现原因:main.cf里smtpd_sasl_path的设置错误,可能是更新修改的。
把smtpd_sasl_path=/etc/postfix/sasl:/usr/lib/sasl2改成smtpd_sasl_path=smtpd后,重启postfix和courier-authdaemon,问题解决。

同时运行两个mysql实例

运行环境: Ubuntu 6.06 server

1. 修改/etc/mysql/my.cnf

加入

[mysqld_multi]
mysqld = /usr/bin/mysqld_safe
mysqladmin = /usr/bin/mysqladmin
user = multi_admin
password = multipass

把原来的[mysqld]改成[mysqld001],并加入[mysqld002],分别配置两个实例,主要是下面这些设置要不同:

  • pid-file
  • socket
  • port
  • datadir

2. 设置用户

$ mysql -u root -S /var/run/mysqld/mysqld.sock -p
> GRANT SHUTDOWN ON *.* TO 'multi_admin'@'localhost' IDENTIFIED BY 'multipass';
$ mysql -u root -S /var/run/mysqld/mysqld2.sock -p
> GRANT SHUTDOWN ON *.* TO 'multi_admin'@'localhost' IDENTIFIED BY 'multipass';

3. 测试启动停止命令

$ mysqld_multi --no-log --config-file=/etc/mysql/my.cnf start 001,002
$ mysqld_multi --no-log --config-file=/etc/mysql/my.cnf stop 001,002
$ mysqld_multi --no-log --config-file=/etc/mysql/my.cnf report 001,002

4. 新建启动脚本 /etc/init.d/mysql-multi替换原来的启动脚本/etc/init.d/mysql

5. 修改/etc/phpmyadmin/config.inc.php,配置如何连接这两个服务器

$i = 0;
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['socket'] = '/var/run/mysqld/mysqld.sock';
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['verbose'] = 'localhost:3306';
$i++;
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['socket'] = '/var/run/mysqld/mysqld2.sock';
$cfg['Servers'][$i]['connect_type'] = 'socket';
$cfg['Servers'][$i]['verbose'] = 'localhost:3307';

发布jar包到自己设立的Maven Repository

使用Artifactiry为自己的开发团队设立了repository镜像。有时需要把本地的一些第三方的jar包发布到服务器,使用maven-deploy-plugin的deploy:deploy-file目标可以完成这个任务。

比如,要发布jta的jar包jta-1.0.1B.jar

$ mvn deploy:deploy-file -DgroupId=javax.transaction \
-DartifactId=jta \
-Dversion=1.0.1B \
-Dpackaging=jar \
-Dfile=~/.m2/repository/javax/transaction/jta/1.0.1B/jta-1.0.1B.jar \
-DrepositoryId=central \
-Durl=http://host.of.your.repository[:port]/artifactory/ibiblio@repo

说明:

  • repositoryId在工程的pom文件里设置
  • url由Artifactiry的配置决定,注意不能使用virtual repository的地址
  • 如果远程repository需要身份验证,用户名和密码需要在maven的settings.xml里设置

参考:

  • http://maven.apache.org/guides/mini/guide-deploying-3rd-party-jars.html
  • http://www.jfrog.org/sites/artifactory/latest/import.html

Nokia Mobile Software University Camp Beijing

Nokia Mobile Software University Camp Beijing

16号、17号两天去参加了诺基亚移动软件大学技术营北京营的活动。与来自芬兰的maemo技术专家进行了沟通(就是不太习惯北欧式英语的发音,汗。。。)

今天在Planet Maemo和邮件列表里看到N810已经出来了,操作系统是ITOS 2008,SDK是beta版的maemo 4.0 Chinook 。这里有一些官方的截图

其他相关介绍:
http://linuxdevices.com/news/NS3669465936.html
http://www.nseries.com/nseries/v3/media/sections/products/tech_specs/en-R1/tech_specs_n810_en_R1.html

同时,N810的对社区贡献者的优惠活动也开始了,详情见这里