Monthly Archive for 十二月, 2005

WordPress 2

就在 2005 年的最後一天
正式版的 WordPress 2 釋出了

不過其實這版幾天前就已經釋出了
果然跟 wordpress 的 SVN 才是王道

Postfix + SASL

安裝 /usr/ports/mail/postfix-current

1.
在 postfix-current config 中選擇 TLS 和 SASL(cyrus-sasl)
在 cyrus-sasl config 中選擇 pwcheck (沒需要的話其他的選項都去掉)

2.
安裝過程中選擇 yes
Would you like to activate Postfix in /etc/mail/mailer.conf [n]? yes
3.
將下列加入 /etc/rc.conf 中將原本的 sendmail disable 掉
sendmail_enable="YES"
sendmail_flags="-bd"
sendmail_pidfile="/var/spool/postfix/pid/master.pid"
sendmail_procname="/usr/local/libexec/postfix/master"
sendmail_outbound_enable="NO"
sendmail_submit_enable="NO"
sendmail_msp_queue_enable="NO"

cyrus_pwcheck_enable="yes"
4.
將下列加入 /etc/periodic.conf
daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"
5.
設定 SASL 認證

修改 /etc/group
cyrus:*:60:daemon,postfix
新增/usr/local/lib/sasl/smtpd.conf
pwcheck_method: pwcheck

啟動 cyrus_pwcheck
/usr/local/etc/rc.d/cyrus_pwcheck start

6.
設定 postfix

依照個人需求設定 /usr/local/etc/postfix/main.cf
myhostname = mail.twku.net
mydomain = twku.net
mydestination = mail.twku.net, winfore.com, winnow-intl.com
smtpd_recipient_restrictions = permit_sasl_authenticated, check_relay_domains, permit_mynetworks
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options= noanonymous
smtpd_sasl_local_domain = twku.net
alias_maps = hash:/usr/local/etc/postfix/etc/aliases
virtual_alias_maps = hash:/usr/local/etc/postfix/virtual
message_size_limit = 1024000000
mailbox_size_limit = 2048000000
virtual_mailbox_limit = 2048000000

修改與建立 aliases
postalias /usr/local/etc/postfix/aliases (用來重新導向)

修改與建立 virtual
postmap /usr/local/etc/postfix/virtual (用來產生虛擬的 mail address)

compile MudOS using gcc41

為了讓 compile 時不要看到那麼多 warning
因此依照下列方式作了一些修改
GNUmakefile
  compile lex.c 使用 -trigraphs 參數

system_libs
  增加 -L/usr/local/lib -liconv (for PACKAGE_ICONV)
  增加 -L/usr/local/lib/mysql lmysqlclient  (for PACKAGE_DB)

sprintf.c
  195: if (error && state->obuff.buffer) {
  刪除 error

edit_source.c
  增加 #include stdlib.h

comm.c
  init_user_conn()
  size_t declaration problem
  
  new_user_handler()
  size_t declaration problem

socket_efuns.c
  socket_bind()
  size_t declaration problem
  
  socket_accept()
  size_t declaration problem
  
  socket_read_select_handler()
  size_t declaration problem

packages/chinese.c
  g2b()
  b2g()
  unsigned char declaration problem
  
packages/chinese.h
  g2b()
  b2g()
  unsigned char declaration problem
  
packages/contrib.c
  f_remove_fringe_blanks() unsigned char declaration problem
  
packages/ansi.c
  f_kill_repeat_ansi()
  f_remove_ansi()
  rally_ansi()
  unsigned char declaration problem

packages/iconv.c
  f_iconv_string()
  unsigned char, size_t declaration problem

packages/db.c
  554: return string_copy((char *)mysql_error(c->mysql.handle), "MySQL_errormsg:2");
  674: tmp = mysql_init(tmp);
  675: c->mysql.handle = (MYSQL *)mysql_real_connect(tmp, (const char *)host, (const char *)username, (const char *)password, (const char *)database, 3306, 0, 0);

addr_server.c
  new_conn_handler()
  size_t declaration problem

  init_conn_sock()
  size_t declaration problem

WordPress 2.0 Release Candidate

昨天 WordPress 公布了 WordPress 2.0 Release Candidate(RC3)
想來 2.0 final 應該也不遠了
至於 2.0 有啥新東西可以看看 What’s New in 2.0: Roles and Capabilities

Trac

聽了cookys 的話
就來裝個 trac 試試吧
trac 是一套整合 Subversion 版本管理系統的網頁介面專案管理系統

1.
安裝 /usr/ports/www/trac

2.
利用 trac-admin 指令建立專案
trac-admin /your/project/path initenv

下達指令後接續問你以下四個問題
(a)Project Name [My Project]>
(b)Database connection string [sqlite:db/trac.db]>
(c)Path to repository [/var/svn/test]>
(d)Templates directory [/usr/local/share/trac/templates]>

trac-admin 的指令用法可使用 trac-admin help 查詢

接著建立管理介面
trac 0.9.2 總共提供了 4 種介面溝通方式

a. TracStandalone
b. TracCgi (Cgi & FastCGI)
c. TracModPython

裡面都已經有蠻清楚的說明

在這裡我是用 CGI
將 /usr/local/share/trac/cgi-bin/trac.cgi 複製或連結到可以執行 CGI 的目錄裡
接著修改 Apache 的 httpd.conf 設定這個 trac.cgi?的 Alias
然後在這個 location 中設定環境變數如下

ScriptAlias /trac /usr/share/trac/cgi-bin/trac.cgi

  SetEnv TRAC_ENV "/path/to/projectenv"
然後利用 svnadmin create /path/to/svn/repository 來建立 SVN 的資料庫

接著重新啟動 apache 便可開始使用