Archive for the ‘ Server ’ Category

將郵件伺服器換成 Postfix + pop-before-smtp *

故名思意,pop-before-smtp 就是在 smtp 前,先用 pop3 的帳號登入,以確保伺服器上有你的帳號。以下的步驟,先將 Sendmail 換成 Postfix,再將 smtp 的認証則改用 pop-before-smtp 的方式。

安裝 Postfix

  • 先移除 sendmail:
  • apt-get remove sendmail
  • 使用 apt 安裝 postfix:
  • apt-get install postfix
  • 編輯 /etc/postfix/main.cf,搜尋之參數及修改方式如下:
  • myhostname  ->  host.example.com
    mydomain  ->  example.com
    myorigin  ->  $myhostname
    inet_interfaces  ->  all
    mydestination  ->  /etc/postfix/local-host-names
    mynetworks  ->  127.0.0.0/8, hash:/etc/postfix/access
    relay_domains  ->  $mydestination
    alias_maps  ->  hash:/etc/postfix/aliases
  • 設定本機收件時的領域名稱,將領域名稱新增到 /etc/postfix/local-host-names,每個名稱佔一行:
  • example.com
    mail.example.com
    host.example.com
  • 初始化相關資料庫:
  • postmap hash:/etc/postfix/access
    postalias hash:/etc/postfix/aliases
  • 至此已完成 Postfix 的安裝,直接啟動 Postfix 即可:
  • service postfix start

    安裝 pop-before-smtp

    顧名思義,pop-before-smtp 就是在寄信前,必須先用 pop3 檢查郵件,只要 pop3 登入正確,你就可以用同一台伺服器寄信 (30分鐘內)。安裝步驟如下:

  • 安裝 Perl 的 File::Tail、Time::HiRes、Net::Netmask、Date::Parse 模組,建議使用 WebMin 安裝,或執行下列指令:
  • perl -MCPAN -e 'install File::Tail'
    perl -MCPAN -e 'install Time::HiRes'
    perl -MCPAN -e 'install Net::Netmask'
    perl -MCPAN -e 'install Date::Parse'
  • 從本站下載 pop-before-smtp 的安裝檔至 /tmp,並執行安裝:
  • cd /tmp
    wget http://www.vixual.net/download/source/postfix/pop-before-smtp-1.33-1.noarch.rpm
    rpm -ivh pop-before-smtp-1.33-1.noarch.rpm
  • 編輯 /etc/pop-before-smtp-conf.pl,將下列三行前的註解 # 拿掉:
  • #$file_tail{'name'} = '/var/log/maillog';
    #$grace = 30*60;
    #$dbfile = '/etc/postfix/pop-before-smtp';
  • 編輯 /etc/postfix/main.cf,在最後面加上:
  • smtpd_recipient_restrictions = permit_mynetworks,reject_non_fqdn_recipient,check_client_access hash:/etc/postfix/pop-before-smtp,check_relay_domains
  • 啟動 pop-before-smtp,並重新載入 postfix:
  • service pop-before-smtp start
    service postfix reload

    用 postfix 及 vm-pop3d 建立虛擬電子信箱 *

    所謂的「虛擬電子信箱」指的是用戶在伺服器上沒有實體的帳號,但是卻可以透過 POP3 或是 Open Webmail 來使用電子郵件服務。這樣的組態,一方面比較不會有安全性的問題,同時也可以在一部伺服器上支援較多的用戶。

    Read more

    安裝 JSP 環境 - resin *

    resin 可讓 Linux 支援 JSP 的環境,系統必須先安裝 Sun 的 J2SDK 之後,再安裝 resin。而 resin 已是一個可獨立執行的網頁伺服器,相較於另一套 JSP 伺服器 “tomcat“,resin 的穩定度及效能都有比較好,但需注意的是,resin 只有在你用來發展程式的過程時是免費的,其它用途都要付費。

    安裝 Java 環境

    從本站下載 J2SDK 的安裝檔到 [/tmp],並執行安裝:

    cd /tmp
    wget http://www.vixual.net/download/source/jsp/j2sdk-1_4_1_02-fcs-linux-i586.rpm
    rpm -ivh j2sdk-1_4_1_02-fcs-linux-i586.rpm

    安裝 resin

  • 從本站下載 resin 2.1.9 的原始檔到 [/var],並解壓縮:
  • cd /var
    wget http://www.vixual.net/download/source/jsp/resin-2.1.9.tar.gz
    tar -xzvf resin-2.1.9.tar.gz
    mv resin-2.1.9 resin
  • 將 Java 及 resin 的相關路徑加到環境變數,請編輯 /etc/profile,在檔案最下方加入:
  • PATH=$PATH:/usr/java/j2sdk1.4.1_02/bin
    export JAVA_HOME=/usr/java/j2sdk1.4.1_02
    export CLASSPATH=$JAVA_HOME/lib
    export RESIN_HOME=/var/resin
  • 重新載入 /etc/profile:
  • source /etc/profile
  • 啟動 resin:
  • /var/resin/bin/httpd.sh start
  • 安裝成功,連結網址: http://host.domain.tld:8080/
  • 啟動與停止 resin

  • 啟動 resin:
  • /var/resin/bin/httpd.sh start
  • 停止 resin:
  • /var/resin/bin/httpd.sh stop
  • 重新啟動 resin:
  • /var/resin/bin/httpd.sh restart

    變更監聽埠

    resin 預設的監聽埠是 “8080″,如果你想要變更埠號,請編輯 /var/resin/conf/resin.conf,找到 port=’8080′,將它改成你想要的埠號 (應避免與 apache 的 80 埠或其它服務的埠號相衝突),再重新啟動 resin 即可。

    將系統的 ftp 服務換成 ProFTP

    Redhat Linux 7.3 預設的 ftp 服務是採用 wu-ftpd,雖然 wu-ftpd 在效能上,一直有不錯的表現,程式版本更新的速度也不慢,不過,它卻不是一個夠安全的系統。ProFtpd 的發展,一開始便是定位在成為一個安全且容易設定的 ftp 伺服器程式,它的風格及表現,深得許多網管人員的喜愛。如果您想找一個不錯的 ftp 伺服程式來取代 wu-ftpd,試試 ProFtpd 吧…
    Read more

    NTP - 校正 Linux 時間

    NTP 可以讓您與遠端的時間伺服器同步,以校正 Linux 系統的時間。
    Read more

    MRTG 快速安裝法 *

    MRTG 主要是用來偵測主機上的資料流量,將流量繪製成漂亮的統計圖表。另外,我們也可以自行寫一些 SCRIPT,加掛於 MRTG 上,只要你提供給 MRTG 它兩個數值,它就可以做為流量的依據,幫我們產生統計圖表。
    Read more

    用 APT 來更新 Linux 的系統套件

    Apt 就像 Microsoft 的 WindowsUpdate 及 RedHat 的 up2date,它強化 RPM 的功能,可以解決 RPM 有套件相依性的問題。安裝 Apt 除了可以讓你很方便且快速地安裝 RPM 套件之外,你也可以用它來更新系統。而且 Apt 不需註冊,完全免費,更可以安裝非 RedHat 提供的套件 (跟你指定的來源伺服器有關)。

    安裝 Apt 並更新系統

    1. freshrpms 下載最新版的 apt,下載符合下一個步驟中相同名稱的 rpm 套件。
    2. 依序安裝:

      rpm -Uvh apt-x.x.x-x.rh73.i386.rpm
      rpm -Uvh apt-devel-x.x.x-x.rh73.i386.rpm
      

      安裝完成之後,其執行檔為 /usr/bin/apt-get,相關設定檔放在 /etc/apt/。

    3. 編輯來源伺服器設定檔 /etc/apt/source.list,檢查檔案的內容,因為本站安裝的是 RedHat Linux 7.3 的版本,所以應該要有下面的資料:
      # freshrpms.net
      rpm http://ayo.freshrpms.net redhat/7.3/en/i386 os updates freshrpms
      rpm-src http://ayo.freshrpms.net redhat/7.3/en/i386 os updates freshrpms
      
    4. 更新系統:
      apt-get update
      apt-get -y upgrade
      apt-get clean
      
    5. 以後如果要安裝套件,可以輸入:
      apt-get install <套件名稱>
      

    常用參數

    • update: 與來源伺服器(source.list)資料比對,更新套件的資訊。
    • check: 檢查目前主機上套件的相依性。
    • upgrade: 進行主機上所有套件的昇級。
    • dist-upgrade: 進行主機上所有套件的昇級。
    • install <套件名稱>: 下載及安裝套件,若有相依屬性的套件則會詢問你是否一併安裝。
    • remove <套件名稱>: 移除套件,若有相依屬性的套件則會詢問你是否確定要移除。
    • source <套件名稱>: 下載 Source 套件。
    • clean: 清除下載回來的檔案。
    • -f install: 檢查系統套件的相依性,並修正錯誤。
    • -y: 程式執行中,若有任何詢問皆自動回答 “Yes”。

    讓系統每週都能自動更新一次

    • 於 /etc/cron.weekly/ 新增一個指令檔 “upgrade.sh”,內容如下:

      #! /bin/bash
      apt-get update
      apt-get -y dist-upgrade
      apt-get clean
      
    • 更改檔案屬性為 755:
      chmod 755 /etc/cron.weekly/upgrade.sh
      

    參考網址

    return top