關於 PHP, Linux, Open Source 及個人生活記載的網誌。
RSS icon
  • 四百多款免費軟件

    Posted on June 30th, 2006 Sam Tang No comments

    這裡收錄了四百多款免費軟件,當中包括有 freeware 及 open source:

    Extremely useful open source applications and utilities available free under various licenses.


  • 關閉個別域名 anti-spam

    Posted on June 26th, 2006 Sam Tang No comments

    我的 email server 是用 SpamAssassin 過濾垃圾電郵,如果要對個別域名關閉過濾功能的話,可以這樣做:

    1. 開啟 /etc/mail/spamassassin/local.cf

    2. 例如要關閉的域名是 mydomain.com,便加入:

    whitelist_to *@mydomain.com

    3. 儲存後重新啟動 SpamSssassin

    以上的 whitelist_to 的作用是如果電郵的 'To:' 及 'Cc:' 字串符合的話,會為電郵加上 100 分,那麼正常這封電郵便不會當成 spam。 (spamassassian 是根據電郵各部份計算分數,到達指定分數便當作為 spam)


  • 轉用 Kaspersky Anti-Virus 6

    Posted on June 25th, 2006 Sam Tang 1 comment

    先前用的防毒軟件已經到期,但用得不太滿意,在過去一個星期找了幾款評級較高的防毒軟件試試,最後決定用 F-Secure 或者 Kaspersky。起初想用 F-secure,因為 XP 正版用戶可以免費試用半年,但發覺 F-Secure Anti-Virus 2006 的電郵掃毒與防火牆相衝,要關閉電郵掃毒功能可以運作。

    然後用了幾天,覺得效能不太好,尤其是開機時。在網上看到關於 Kaspersky 的討論,雖然有些人也說 KAV 6 (Kaspersky Anti-Virus) 較 KAV 5 佔用較少資源,但運作較不穩。我還是選用了 KAV 6,發覺問題不太,而且佔用資源少。

    今天在 HKiShop 看到 KAV 的優惠,$290 港元便可更新兩年,那便買了下了。值得注意的是 HKiShop 所賣的是 5.0 版本,但我在 Kaspersky 的官方網站看到由 5.0 升級到 6.0 是免費的,版權的有效期直到 5.0 的到期日為止,所以照理 5.0 的 license key 應該可以用在 6.0 上面,希望沒有理解錯誤啦。


  • MySQL 資料表重覆資料處理

    Posted on June 22nd, 2006 Sam Tang 1 comment

    在 MySQL 裡面想要避免 primary key 以外的資料重覆,可以在資料表裡面定義 UNIQUE 的欄位,例如:

    create table members(
       first_name char(20) not null,
       last_name char(20) not null,
       email char(50) not null,
       unique (first_name, last_name)
    );

    在以上建立 members 資料表的 SQL 語句中,最後一行用 unique 定義了 first_name 及 last_name 的資料不可以重覆,如果欄位已經存在相同的資料,MySQL 會輸出類似這句的錯誤訊息:

    "ERROR 1062 at line 1: Duplicate entry ‘xxx-yyy’ for key 1"

    有些情況要強制性地新增重覆資料,可以在 insert 加插 IGNORE,用法如下:

    insert ignore into members values(‘Sam’, ‘Tang’, ‘me@localhost’);


  • 在 Shell 傳給變數給 PHP

    Posted on June 21st, 2006 Sam Tang No comments

    先前貼出的文章 "文字模式下執行 PHP" 介紹了在 Shell 下執行 php 程式的方法,如果要在 shell 下面傳遞變數給 php,就像一般網頁用 GET 方法傳送一樣,系統會出現錯誤,例如:

    php -q shell_script.php?var=foo

    以上指令看似沒有問題,但系統會以為你要執行的 php 程式是 "shell_script.php?var=foo",而不是 "shell_script.php"。如果要傳送變數給 php,一個簡單的方法是用文字模式的瀏覽器,例如 lynx。而以下方法可以直接在指令上傳送:

    php -q shell_script.php -var foo -var2 foo2

    在 shell_script.php 裡面,執行 print_r($_SERVER["argv"]),結果應該會是:

    array (
              -var,
              foo,
              -var2,
              foo2
    )


  • 用 iptables 阻擋 ip

    Posted on June 21st, 2006 Sam Tang No comments

    假如要阻擋某個 ip 存取 Linux 伺服器,可以用以下指令:

    iptables -A INPUT -s ip_address -j DROP

    這時 ip_address 便不可以存取伺服器,要禁止連線到 ip_address,可以這樣:

    iptables -A OUTPUT -d ip_address -j DROP


  • 免費使用付費防毒軟件

    Posted on June 19th, 2006 Sam Tang 1 comment

    如果是 Windows 的正版用戶,可以免費使用付費防毒軟件 3 個月至 1 年,包括:

    eTrust EZ Antivirus: 12 個月 (沒什麼意思,所有人也可試用 12 個月)
    F-Secure Anti-Virus: 6 個月
    McAfee VirusScan: 90 日
    Panda Internet Security: 90 日
    Norton AntiVirus: 90 日

    詳細列表及下載方法可到以下網址查閱:

    Microsoft Windows Security Center Antivirus Partners


  • MySQL 或 PostgreSQL 轉移到 DB2 Express-C

    Posted on June 19th, 2006 Sam Tang No comments

    IBM Developer 看到這篇文章,值得收藏一下,有需要時可以用得上。

    文章內不只是講述轉移的做法,還介紹了 MySQL, PostgreSQL 及 DB2 背後的運作模式 及 Storage engine 等內容,即使不需要移換 DBMS,但對於要管理 DBMS 的朋友也值得一看:

    Migrate from MySQL or PostgreSQL to DB2 Express-C


  • eTrust EZ Antivirus 免費使用一年

    Posted on June 18th, 2006 Sam Tang 14 comments

    很多軟件也會採用先試後買的策略,一般為期 15 至 30 日左右,至於一些跟隨主機板贈的防毒軟件則有 3 個月。而 eTrust EZ Antivirus 則提供免費一年試用,只要到以下網址填好申請表便可以試用一年了,亂填也沒關係,只要電郵可以收信就可以了,因為下載連結及序號會寄到郵箱:

    1 year FREE trial of eTrust EZ Antivirus.


  • 檢查及修復檔案系統指令 — e2fsck

    Posted on June 17th, 2006 Sam Tang No comments

    在 Linux 裡面有一個 e2fsck 的指令,可以檢查及修復檔案系統。它的參數包括有:

    -a: 檢查 partition,如發現問題會自動修復。
    -b: 設定 superblock 位置。
    -B size: 指定 size 作為區塊大小。
    -c: 檢查 partition 是否有壞軌。
    -C file: 將檢查結果儲存到 file。
    -d: 輸出 e2fsck debug 結果。
    -f: e2fsck 預設只會對錯誤的檔案系統檢查,加上 -f 是強制檢查。
    -F: 在檢查前將硬碟的 buffer cache 清空,避免發生錯誤。
    -l list: 記錄了壞軌區塊加入 list 中。
    -d : 列印 e2fsck 的 debug 结果。
    -f : 强制检查。
    -n: 以 (read-only) 開啟檔案系統
    -p: 關閉互動模式,如有問題自動修復,等同 -a。
    -v: 顯示詳細報告。
    -y: 啟用使用者互動模式。

    使用例子
    檢查 /dev/sda1 是否有問題,如發現問題便自動修復:

    e2fsck -a -y /dev/sda1

    執行 e2fsck 或 fsck 前請先 umount partition,否則有機會令檔案系統毀損。如果需要對根目錄 (/) 進行檢查及修復,便需要進入 singal user mode 執行。


  • 用戶進程管理工具 — whowatch

    Posted on June 16th, 2006 Sam Tang 1 comment

    在 Linux 下輸入 w 指令可以顯示登入的使用者,而 whowatch 就可以實時顯示使用者所登錄的服務 (例如 telnet, ssh, ftp 等),以及所執行的工作。

    要安裝 whowatch,在 Debian 或 FreeBSD 內也很簡單,方法如下:

    Debian:

    apt-get install whowatch

    FreeBSD:

    cd /ports/sysutils/whowatch
    make; make install; make clean

    安裝好 whowatch 後,只要輸入 whowatch 便可以開始使用。


  • SSH 安全設定

    Posted on June 4th, 2006 Sam Tang 2 comments

    SSH 伺服器的設定檔是 /etc/ssh/sshd_config,以下是一些 SSH 的安全配置:

    1. SSH 預設會使用 Port 22,將它改成其他的埠號,找到:

    Port 22 換成:

    Port new_port

    2. 禁止 root 直接登入,先要登入一般賬戶,再用 su 指令切換到 root,把 PermitRootlogin 設成 no:

    PermitRootlogin no

    3. 只給予特定用戶或群組登入 SSH,以下是准許 my_name 用戶及 my_group 群組登入:

    AllowUsers my_name
    AllowGroups my_group

    4. 禁止使用空密碼登入:

    PermitEmptyPasswords no

    最後儲存檔案,並重新啟動 SSH 伺服器。


  • Linux 關閉 Ctrl-Alt-Delete 重啟

    Posted on June 1st, 2006 Sam Tang No comments

    Linux 預設安裝下,當按 Ctrl-Alt-Delele 會重新啟動,對伺服器系統來說最好取消這個設定,要取消這個設定,可以這樣做:

    1. 開啟 /etc/inittab

    2. 尋找以下這行:

    ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

    3. 在這行的最開端加上 "#" 以定義為註解。

    # ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

    4. 儲存檔案後重新啟動電腦。