伺服器管理

Postfix 建置郵件伺服器 ─ main.cf 設定參數說明

本文轉自這裡-2003/03/21 作者李忠憲,因為是很久的文章了,怕不見備份於此。以下僅節錄main.cf的參數設定部分。

postfix 最被人稱道的地方在於設定檔的可讀性很高(當然是跟 sendmail 比),而在主要設定檔 main.cf 中,需要自行定義的東西並不多,而且這些參數就算不去定義,依照預設值也可以運作:

由本機寄出的郵件要使用哪個網域名稱

在 sendmail 中,這個功能稱為網域偽裝,也就是說可以和主機名稱不同,例如:本機名稱為 mail.spps.tp.edu.tw,而寄出的郵件其寄信人欄位則可以使用 spps.tp.edu.tw。(須配合 DNS MX 紀錄使用)

myorigin=spps.tp.edu.tw

不使用簡略名稱時,設定如下:

myorigin=mail.spps.tp.edu.tw

由於主機名稱與網域名稱會被反覆引用在不同設定值,為了簡化設定,通常是定義成變數:

利用Cron讓Linux定期執行程序(工作排程)

在Microsoft Windows底下,我們可以透過工作排程來定期執行特定程序。而在Linux,則是透過crontab來進行。

一般來說有下指令編輯設定檔兩個方式可以設定。

下指令設定

語法:crontab [-u username] [-l|-e|-r]
說明:

  1. 這個指令預設只有root可以使用,加上-u 參數以指定特定帳號為該工作的執行者
  2. -e:編輯工作排程
  3. -l:檢視工作排程
  4. -r: 刪除所有工作排程

編輯設定檔

一般crontab的設定檔會位在 /etc/crontab,所以直接編輯這個檔案就行了,ubuntu系統要記得用sudo
指令:vim /etc/crontab

工作排程的設定格式如下:

格式:分(0-59) 時(0-23) 日(1-31) 月(1-12) 週(0-7) 要執行的指令串
說明:

Apache的目錄權限控制Order, Allow, Deny

設定訪問權限的時候,有三個關鍵字:Order , Allow, Deny。其中Order會指定"檢查權限設定的順序",Allow會指定"允許訪問名單",Deny則指定"禁止訪問名單"。因為Order的邏輯有點特殊,所以特以此篇記錄心得,不過詳情參考Apache的官方說明應該會更清楚。

以下直接以實例來說明,

Order Deny,Allow
Allow from All

以上設定代表的是:

利用.htaccess防止檔案或圖片被盜連

利用.htacces之前,必須先確定在apache的設定檔(/etc/apache2/httpd.conf)中找到一行設定值

AllowOverride All

若沒有則自行新增,如果有多台VirtualHost的話,則只要新增在需要此功能的VirtualHost即可,大概放在類似下面範例的位置。

<VirtualHost *:80>
  <Directory />
    AllowOverride All
  </Directory>
...
</VirtualHost>

記得改完設定值要重啟Apache

#ubuntu版本
sudo service apache2 restart

#centos版本
service httpd restart

接著在目錄底下新增.htaccess檔案,加入以下內容,

調整Postfix郵箱及單封信件大小限制

調整郵箱大小

  1. 編輯設定檔
    vim /etc/postfix/main.cf
     
  2. 找到mailbox_size_limit 這個設定值,如果找不到就新增,以byte為單位,不過因為編碼後會變大1.37倍左右所以要設比目標值大一點,以本例大概是100MB
    mailbox_size_limit = 1433600000

調整單封信件大小

  1. 一樣編輯設定檔
    vim /etc/postfix/main.cf
     
  2. 找到message_size_limit 這個設定值,如果找不到就新增,以byte為單位,不過因為編碼後會變大1.37倍左右所以要設比目標值大一點,本例大概是10MB
    message_size_limit = 14336000