網路開展事業或在網路創業賺錢的第一步:【架設24小時賺錢網站主機】比網頁設計更優先!

感謝您造訪 Linux主機伺服器架設技術基地。 你可進入替你架設主機.影片教你維護頁面,詳細瞭解Linux主機架設及相關技術維護影片教學(完整配套措施),有主機馬上可以架設網站營運,完全無限制!

租用不如自有主機!聰明的網站經營者都選擇架設Linux主機伺服器做為網站運作平台,因功能完整又強大,免費架站程式超多!完全沒有版權問題,超強『防駭客攻擊與入侵』及安全防護可以讓你無後顧之憂。

                    架設主機.影片教你維護: http://por.tw/linux/new-E_learning/index.php

Linux主機伺服器架設技術基地  維護團隊  敬上
瀏覽模式: 普通 | 列表
台灣的網路在網友的壓力下,終於又要免費升速了
看來這只是開始,往後還會降價或免費升速(業者降價就像擠牙膏,燈不點不亮)
例如:中華電信的光世代網路,明明有免費贈送一個固定IP可以架設主機來賺錢(他不會主動給你,而是你要上該官方網站免費申請)
這就變成:繳交一樣的錢,不申請使用者是:笨蛋!
----------------------------------------------------
網路速度免費升速(以下是該新聞的全文引用)

NCC通過 光世代252萬戶免費升速

【聯合報╱記者彭慧明/台北報導】


國家通訊傳播委員會(NCC)昨天通過中華電信提報光世代網路上行速率「升速不加價」。這項升速計畫,預估約有二百五十二萬光世代用戶受惠,中華電信並承諾,三個月內完成轉換升速作業,若未能在三個月內完成,對來不及升速的用戶將減收月租費。

這一波升速方案,是中華電信連續三年來的調整,前兩年針對下行速率分別進行升速、升速不加價,今年則是因為用戶反映上傳頻寬不夠大,因此針對上傳速率部分增加頻寬、不加價。NCC估計,收到公文後半個月內可以開始作業,中華電信最快可在七月初開始轉換。據此估算,最快約在九月底、十月初就可以完成轉換。

受惠升速的包括五類型的光世代用戶,包括4M(下傳速率)/768K(上傳速率、升級為1M)、12M/3M(升級為4M)、20M/4M(升級為5M)、50M/5M(升級為10M)、100M/10M(升級為20M)。升速後月租費不變。

雖然消費者也殷切期待上下行速率都是50MB和100MB的高速光世代上網服務,不過NCC發言人翁柏宗表示,中華電信確實提出了費率,但委員認為與日韓等亞洲鄰近國家相比收費偏高,要求中華電信重新補足資費方案說明。
Linux+Apache+Mysql+PHP典型配置(Linux主機伺服器架設技術)

Linux系統的安裝我就不講了,這是基本功,其實這篇文章在類似Redhat的其他linux也應該通用,大家只要掌握我提供的方法就行。
記得安裝 Redhat9。0的時候不要安裝系統預設的apache,mysql和php以及關聯的軟體。
已經安裝的請用rpm -e * 刪除已經安裝的包。

1.安裝Mysql3.23.58

其實老實說直接安裝Mysql官方網站提供的rpm包也是一個比較可行的辦法,他的官方網站的rpm包的提供基本跟tar包發行是同步的,這點我比較喜歡,至少安裝rpm包的在後面的除錯中不會出現mysql庫檔案找不到的情況。但這裡還是有必要講一下自訂安裝的步驟,畢竟網友自訂安裝的還說挺多的。

軟體取得:http://www.mysql.com/downloads/index.html

安裝步驟:

tar zxvf mysql-3.23.58.tar.gz
cd mysql-3.23.58

./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql

make

make install

#prefix=/usr/local/mysql mysql安裝的目的目錄

#sysconfdir=/etc my.ini配置檔案的路徑

#localstatedir=/var/lib/mysql 資料庫存放的路徑

安裝完以後要起始化資料庫,當然你是升級的話不用做這步;

/usr/local/mysql/bin/mysql_install_db

如果系統沒有mysql這個使用者的話,最好做以下這步:

useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c "MySQL Server" -u 27 mysql

然後我啟動mysql

/usr/local/mysql/bin/safe_mysqld &

ok,先看看mysql能否標準工作

mysql -uroot mysql

一般情況下都是不能標準連結資料庫,錯誤提示一般為:

ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

其實網上大家問的最多的都是整個問題,說什麼連結不到mysqld.sock,其實大家不妨看看mysql的錯誤日誌就明白怎麼回事,我這裡的錯誤日誌是在

/var/lib/mysql/*.err 你會發現mysql只所以不能啟動,是因為/var/lib/mysql的權限不容許mysql服務訪問,英文mysql預設是呼叫mysql使用者來啟動服務的,好了,既然知道是什麼原因找到不能啟動,那就簡單了。我們只要

chown -R mysql:mysql /var/lib/mysql 就行,如果還是啟動不了,再慢慢除錯權限,反正一般啟動不了都是權限的問題。

如果大家還是不能啟動不了的話,那就用我的比較繁瑣的權限的設定,反正我每次都是這麼做的,一般不會有問題,見下:

chown -R root /usr/local/mysql
chgrp -R mysql /usr/local/mysql
chown -R root /usr/local/mysql/bin
chgrp -R mysql /usr/local/mysql/bin
chgrp -R mysql /var/lib/mysql
chmod 777 /var/lib/mysql
chown -R root /var/lib/mysql/mysql
chgrp -R mysql /var/lib/mysql/mysql
chmod 777 /var/lib/mysql/mysql
chown -R root /var/lib/mysql/mysql/*
chgrp -R mysql /var/lib/mysql/mysql/*
chmod 777 /var/lib/mysql/mysql/*
chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a

做完上面的步驟,然後把你編譯目錄的一個腳本COPY過去

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chkconfig --add mysqld

用ntsysv設定使mysql每次啟動都能自動運行。

好了,至此mysql安裝完畢,你可以這樣起動你的mysql服務

/etc/rc.d/init.d/mysqld start

下面這步比較關鍵,

ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql

大家可以不做這步,大可以在編譯其他軟體的時候自訂myslq的庫檔案路徑,但我還是喜歡把庫檔案連結到預設的位置,這樣你在編譯類似PHP,Vpopmail等軟體時可以不用指定mysql的庫檔案位址。

2.安裝Apache1.3.29。我沒有選取安裝Apache2.0是我對他還是不放心,因為網上最新公佈的apache的漏洞基本上是針對2.0,當然大家可以自己選取安裝相應的版本。我這裡講的都是採用DSO動態編譯的方法編譯Apache.

軟體取得:http://httpd.apache.org/

tar zvxf apache_1.3.29.tar.gz
cd apache_1.3.29
修改src/include/httpd.h 增大最大執行緒數

#define HARD_SERVER_LIMIT 256

改成

#define HARD_SERVER_LIMIT 2560

儲存離開編譯apache

./configure --prefix=/usr/local/apache --enable-module=so --enable-module=rewrite --enable-shared=max --htdocsdir=/var/www &&
make &&
make install

#這裡我們通過 enable-module參數告訴設定腳本,我們需要啟動so和rewrite模組,so模組是用來提DSO支援的apache核心模組,而 rewrite模組則是用意實現位址重寫的模組,由於rewrite模組需要DBM支援,如果在初次安裝時沒有編譯進apache,以後需要用到時需要重新編譯整個apache才可以實現。為此除非你可以確定以後不會用到rewrite模組,否則還是建議你在第一次編譯的時候把rewrite模組編譯好。

enable-shared=max 這個參數的作用時編譯apache時,把除了so以外的所有apache的標準模組都編譯成DSO模組。而不是編譯進apache核心內。

好了安裝apache很簡單的哦,啟動apache看看

/usr/local/apache/bin/apachectl start

然後用ie看http://你的伺服器位址。應該能看到熟悉的apache羽毛標誌。

3.安裝PHP4.3.4

軟體取得:http://www.php.net/downloads.php

tar zvxf php-4.3.4.tar.gz
cd php-4.3.4

./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --enable-force-cgi-redirect --with-freetype-dir=/usr --with-png-dir=/usr --with-gd --enable-gd-native-ttf --with-ttf --with-gdbm --with-gettext --with-iconv --with-jpeg-dir=/usr --with-png --with-zlib --with-xml --enable-calendar --with-apxs=/usr/local/apache/bin/apxs

make

make install

#我這裡由於伺服器需要用到GD庫,所以加了一些支援GD的編譯參數,GD直接用了redhat自帶的GD庫,大家沒有安裝的話可以從安裝盤安裝,注意除了安裝GD以外,還要安裝libjpeg,libpng等庫檔案。另外--with-mysql=/usr/local/mysql指向你安裝mysql的路徑。--with-apxs指向apache的apxs檔案的路徑。

vi /usr/local/apache/conf/httpd.conf

尋找<IfModule mod_mime.c>

在此範圍加入

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

然CPOPY PHP的配置檔案

cp ../php4.3.4/php.ini.dist /usr/local/php/lib/php.ini

修改php.ini檔案
register_globals = On

ok!重新啟動一下apache伺服器
/usr/local/apache/bin/apachectl restart

然後寫個php測試頁info.php:內容如下

<?php
phpinfo();
?>

標準的話,應該能看到php的訊息了,恭喜你的Apche+Mysql+PHP安裝完成。
標籤: 網路資訊
MySQL資料庫管理 phpMyAdmin 3.4.3.1 Final 多國語系(繁體中文版)

phpMyAdmin 是一個用PHP編寫的,可以通過際網路控制和操作MySQL。
通過phpMyAdmin可以完全對資料庫進行操作,例如建立、複製/刪除資料等等。
可以用來管理 MySQL-server 以及單一資料庫的 PHP 程式,對於不熟悉 MySQL 指令列指令的人來說,是很方便的管理工具。」

MySQL的管理工具:phpMyAdmin

所謂的phpMyAdmin簡單的說就是一種MySQL的管理工具。
透過此一程式,可以直接從web上去管理MySQL,不需要到系統上去執行。
安裝步驟:
 1.取得檔案
   其中唯一的差別是在於後者不需要再做中文最佳化的動作。
   所謂的中文最佳化乃是因為此程式的翻譯者可能是大陸的..所以翻譯不佳
   若你覺得沒有關的話,也可以忽略它。
 2.我們先採用前者然後再加上中文最佳化。
 3.將此檔解壓縮到web伺服器的文件根目錄
   說明白些也就是你放置網頁的地方啦
   ex:/usr/local/apache/htdocs/        (這是我網頁存放的位置)
   a. # mv phpMyAdmin_2.0.5.tar.gz /usr/local/apache/htdocs/ 移到文件的根目錄
   b. # tar zxvf phpMyAdmin_2.0.5.tar.gz     解壓縮phpMyAdmin_2.0.5.tar.gz
   c. 路徑 /usr/local/apache/htdocs/phpMyAdmin
   d. 修改設定檔
      # vi config.inc.php3
     找到下面的部分   
     $cfgServers[1]['host'] = 'localhost';  // MySQL 的hostname
     $cfgServers[1]['port'] = '';             // MySQL 的port 空白表示預設3306
     $cfgServers[1]['adv_auth'] = true;      // 是否採用進階功能
     $cfgServers[1]['stduser'] = 'root';   // MySQL的管理者
     $cfgServers[1]['stdpass'] = 'abc123';   // MySQL管理者的密碼
     //我採用root為管理者,密碼為abc123 你可以採用自己喜歡的
 4.測試
   開啟瀏覽器,輸入http://的網址/phpMyAdmin/
   done ...
中文最佳化
   若你一剛使用的檔案是c_phpMyAdmin_2.0.5.tar.gz則沒有中文問題的困擾
   若你是照我的步驟來做的話請取得中文最佳化檔(ftp://ohaha.ks.edu.tw/pub/source/php/chinese_big5.inc.php3)
   將此檔放入的phpMyAdmin的目錄之中 他會取代chinese_big5.inc.php3此檔
   若你覺得不太保險的話 你可以先將原有的chinese_big5.inc.php3更名然後將新檔案放入
   a. mv chinese_big5.inc.php3 chinese_big5.inc.php3.old    
      // 更名為chinese_big5.inc.php3.old
   b. mv chinese_big5.inc.php3 /usr/local/apache/htdocs/phpMyAdmin/
小技巧
   聰明的你是否發覺上面有什麼不對了呢?如果每個人都照我這樣做
   那麼..是不是每個人的phpMyAdmin的位置都在http://網址/phpMyAdmin這裡?
   這種情況是可以改變的..只要將phpMyAmin資料夾更名即可。
   若我想要更名為pma(各取一個字,方便記憶)
   a. 路徑:/usr/local/apache/htdocs/
   b. # mv phpMyAdmin  pma

MySQL資料庫管理 phpMyAdmin 3.4.3.1 Final 多國語系(繁體中文版)下載網址:
 
  http://por.tw/Downloads/phpMyAdmin-3.4.3.1-all-languages.exe

vi 指令大全(Linux主機)

vi 指令大全(Linux主機)

Vi指令大全
進入vi的指令
vi filename: 開啟或新增檔案,並將游標置於第一行首
vi +n filename: 開啟檔案,並將游標置於第n行首
vi + filename: 開啟檔案,並將游標置於最後一行首
vi +/pattern filename: 開啟檔案,並將游標置於第一個與pattern符合的串處
vi -r filename: 在上次正用vi編輯時發生系統崩潰,還原filename
vi filename....filename: 開啟多個檔案,依次進行編輯
搬移游標類指令
h: 游標左移一個字元
l: 游標右移一個字元
space: 游標右移一個字元
Backspace: 游標左移一個字元
k或Ctrl+p: 游標上移一行
j或Ctrl+n: 游標下移一行
Enter: 游標下移一行
w或W : 游標右移一個字至字首
b或B : 游標左移一個字至字首
e或E : 游標右移一個字至字尾
): 游標移至句尾
(: 游標移至句首
}: 游標移至段落開頭
{: 游標移至段落結尾
nG: 游標移至第n行首
n+: 游標下移n行
n-: 游標上移n行
n$: 游標移至第n行尾
H: 游標移至螢幕頂行
M: 游標移至螢幕中間行
L: 游標移至螢幕最後行
0: 游標移至現用的行首
$: 游標移至現用的行尾
螢幕翻滾類指令
Ctrl+u: 向檔案首翻半屏
Ctrl+d: 向檔案尾翻半屏
Ctrl+f: 向檔案尾翻一屏
Ctrl+b: 向檔案首翻一屏
nz: 將第n行滾至螢幕頂部,不指定n時將現用的行滾至螢幕頂部。
插入文字類指令
i: 在游標前
I: 在現用的行首
a: 游標後
A: 在現用的行尾
o: 在現用的行之下新開一行
O: 在現用的行之上新開一行
r: 取代現用的字元
R: 取代現用的字元及其後的字元,直至按ESC鍵
s: 從現用的游標位置處開始,以輸入的文字替代指定數目的字元
S: 刪除指定數目的行,並以所輸入文字代替之
ncw或nCW: 修改指定數目的字
nCC: 修改指定數目的行
[
編輯
]
刪除指令
ndw或ndW: 刪除游標處開始及其後的n-1個字
do: 刪至行首
d$: 刪至行尾
ndd: 刪除現用的行及其後n-1行
x或X: 刪除一個字元,x刪除游標後的,而X刪除游標前的
Ctrl+u: 刪除輸入模式下所輸入的文字
搜尋及取代指令/pattern: 從游標開始處向檔案尾搜尋pattern
?pattern: 從游標開始處向檔案首搜尋pattern
n: 在同一方向重複上一次搜尋指令
N: 在反方向上重複上一次搜尋指令
:s/p1/p2/g: 將現用的行中所有p1均用p2替代
:n1,n2s/p1/p2/g: 將第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g: 將檔案中所有p1均用p2取代
[
編輯
]
選項設定
all: 列出所有選項設定情況
term: 設定終端類型
ignorance: 在搜尋中忽略大小寫
list: 顯示定位點(Ctrl+I)和行尾標誌($)
number: 顯示行號
report: 顯示由面向行的指令修改過的數目
terse: 顯示簡短的警示訊息
warn: 在轉到別的檔案時若沒儲存現用的檔案則顯示NO write訊息
nomagic: 容許在搜尋模式中,使用前面不帶「」的特殊字元
nowrapscan: 禁止vi在搜尋到達檔案兩端時,又從另一端開始
mesg: 容許vi顯示其他使用者用write寫到自己終端上的訊息
最後行模式指令:n1,n2 co n3: 將n1行到n2行之間的內容複製到第n3行下
:n1,n2 m n3:將n1行到n2行之間的內容移至到第n3行下
:n1,n2 d: 將 n1行到n2行之間的內容刪除
:w: 儲存現用的檔案
:e filename: 開啟檔案filename進行編輯
:x: 儲存現用的檔案並離開
:q: 離開vi
:q!: 不儲存檔案並離開vi
:!command: 執行shell指令command
:n1,n2 w!command: 將檔案中n1行至n2行的內容作為command的輸入並執行之,
若不指定n1,n2,則表示將整個檔案內容作為command的輸入
:r!command: 將指令command的輸出結果放到現用的行
暫存器操作
"?nyy: 將現用的行及其下n行的內容儲存到暫存器?中,其中?為一個字母,n為一個數字
"?nyw: 將現用的行及其下n個字儲存到暫存器?中,其中?為一個字母,n為一個數字
"?nyl: 將現用的行及其下n個字元儲存到暫存器?中,其中?為一個字母,n為一個數字
"?p: 取出暫存器?中的內容並將其放到游標位置處。這裡?可以是一個字母,也可以是一個數字
ndd: 將現用的行及其下共n行文字刪除,並將所刪內容放到1號刪除暫存器中

Linux 常用命令及技巧

Linux 常用命令及技巧

linux 常用指令及技巧:
linux 常用指令總結:
一。 通用指令:
1. date :print or set the system date and time
2. stty -a: 可以檢視或是列印控制字元(Ctrl-C, Ctrl-D, Ctrl-Z等)
3. passwd: print or set the system date and time (用passwd -h檢視)
4. logout, login: 登入shell的登入和註銷指令
5. pwd: print or set the system date and time
6. more, less, head tail: 顯示或部分顯示檔案內容.
7. lp/lpstat/cancel, lpr/lpq/lprm: 列印檔案.
8. 變更檔案權限: chmod u+x...
9. 刪除非空目錄:rm -fr dir
10.複製目錄: cp -R dir
11. fg jobid :可以將一個後台程式放到前台。
  Ctrl-z 可以將前台程式掛起(suspend), 然後可以用bg jobid 讓其到後台運行。
  job & 可以直接讓job直接在後台運行。
12. kill 的作用: send a signal to a process. eg: kill -9 傳送的是SIG_KILL信號。。。 具體傳送什麼信號   可以通過 man kill 檢視。
13. ps 的用法, ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session顯示的sessionid, tpgid顯示前台程式組id, comm顯示指令名稱。)
二 .ubuntu常用指令:
1. dpkg: package manager for Debian
* 安裝: dpkg -i package
* 卸載: dpkg -r package
* 卸載並刪除配置檔: dpkg -P |--purge package
* 如果安裝一個包時。說依賴某些庫。 可以先 apt-get install somelib...
* 檢視軟體包安裝內容 :dpkg -L package
* 檢視檔案由哪個軟體包提供: dpkg -S filename
* 另外 dpkg還有 dselect和aptitude 兩個frontend.
2. apt
* 安裝: apt-get install packs
* apt-get update : 更新源
* apt-get upgrade: 升級系統。
* apt-get dist-upgrade: 智慧升級。安裝新軟體包,刪除廢棄的軟體包
* apt-get -f install : -f == --fix broken 修復依賴
* apt-get autoremove: 自動刪除無用的軟體
* apt-get remove packages :刪除軟體
* apt-get remove package --purge 刪除包並清除配置檔
* 清除所以刪除包的殘餘配置檔: dpkg -l |grep ^rc|awk '{print $2}' |tr ["/n"] [" "]|sudo xargs dpkg -P
* 安裝軟體時候包的臨時存放目錄 : /var/cache/apt/archives
* 清除該目錄: apt-get clean
* 清除該目錄的舊版本的軟體快取: apt-get autoclean
* 查詢軟體some的依賴包: apt-cache depends some
* 查詢軟體some被哪些包依賴: apt-get rdepends some
* 搜尋軟體: apt-cache search name|regexp
* 檢視軟體包的作用:apt-cache show package
* 檢視一個軟體的編譯依賴庫: apt-cache showsrc packagename|grep Build-Depends
* 下載軟體的原始碼 : apt-get source packagename (注: sources.list 中應該有 deb-src 源)
* 安裝軟體包源程式碼的同時, 安裝其編譯環境 :apt-get build-dep packagename (有deb-src源)
* 如何將本地光碟加入安裝源清單: apt-cdrom add
3. 系統指令:
* 檢視內核版本: uname -a
* 檢視ubuntu 版本: cat /etc/issue
* 檢視網路卡狀態 : ethtool eth0
* 檢視記憶體,cpu的訊息: cat /proc/meminfo ; cat /proc/cpuinfo
(/proc下面的有很多系統訊息)
* 列印檔案系統空間使用情況: df -h
* 檢視硬碟分區情況: fdisk -l
* 產看檔案大小: du -h filename;
* 檢視目錄大小: du -hs dirname ; du -h dirname是檢視目錄下所有檔案的大小
* 檢視記憶體的使用: free -m|-g|-k
* 檢視程式: ps -e 或ps -aux -->顯示使用者
* 殺掉程式: kill pid
* 強制殺掉: killall -9 processname
4. 網路關聯:   
* 配置 ADSL:   sudo pppoeconf
* ADSL手動撥號: sudo pon dsl-provider
* 啟動 ADSL :   sudo /etc/ppp/pppoe_on_boot
* 中斷 ADSL:   sudo poff
* 根據IP查網路卡位址: arping IP位址
* 產看本地網路訊息(內含ip等): ifconfig | ifconfig eth0
* 檢視路由訊息: netstat -r
* 關閉網路卡: sudo ifconfig eth0 down
* 啟用網路卡: sudo ifconfig eth0 up
* 加入一個服務: sudo update-rc.d 服務名 defaults 99
* 刪除一個服務: sudo update-rc.d 服務名 remove
* 臨時重啟一個服務: /etc/init.d/服務名 restart
* 臨時關閉一個服務: /etc/init.d/服務名 stop
* 臨時啟動一個服務: /etc/init.d/服務名 start
* 控制台下顯示中文: sudo apt-get install zhcon
* 搜尋某個檔案: whereis filename 或 find 目錄 -name 檔名
*通過ssh傳輸檔案
scp -rp /path/filename username@remoteIP:/path #將本地檔案複製到伺服器上
scp -rp username@remoteIP:/path/filename /path #將遠端檔案從伺服器下載到本地
5. 壓縮:
*解壓縮 a.tar.gz:   tar zxvf a.tar.gz
*解壓縮 a.tar.bz2: tar jxvf a.tar.bz2
*壓縮aaa bbb目錄為xxx.tar.gz: tar zcvf xxx.tar.gz aaa bbb
*壓縮aaa bbb目錄為xxx.tar.bz2:   tar jcvf xxx.tar.bz2 aaa bbb
6. Nautilus:
特殊 URI 位址
* computer:/// - 全部掛載的裝置和網路
* network:/// - 瀏覽可用的網路
* burn:/// - 一個燒錄 CDs/DVDs 的資料虛擬目錄
* smb:/// - 可用的 windows/samba 網路資源
* x-nautilus-desktop:/// - 桌面項目和圖示
* file:/// - 本地檔案
* trash:/// - 本地回收站目錄
* ftp:// - FTP 資料夾
* ssh:// - SSH 資料夾
* fonts:/// - 字型資料夾,可將字型檔案拖到此處以完成安裝
* themes:/// - 系統主旨資料夾
* 顯示隱藏檔案: Ctrl+h
* 顯示位址欄: Ctrl+l
* 檢視已安裝字型: 在nautilus的位址欄裡輸入」fonts:///「,就可以檢視本機所有的fonts
7.補充部分:
* 檢視本地所有的tpc,udp監聽埠: netstat -tupln (t=tcp, u=udp, p=program, l=listen, n=numric)
* 通過man搜說關聯指令: man -k keyword . eg: man -k user
* 或是用 apropos
* 統計檔案所佔用的實際磁碟空間: du   (du - estimate file space usage)
* 統計檔案中的字元,位元組數: wc -c/-l/-w   (wc - print the number of newlines, words, and bytes in files)
* 檢視檔案的內容: od -x/-c/....   (od - dump files in octal and other formats)
    我認為od最有用的就是檔案的位元組流了: od -t x1 filename
    檢視檔案的 Ascii 碼形式: od -t c filename (其中統計訊息最左邊的是: 位元組數)
* 搜尋指令所在檔案的位置: which od 輸出: /usr/bin/od
    檢視該檔案由哪個包提供: dpkg -S /usr/bin/od   輸出: coreutils: /usr/bin/od
    再檢視coreutils包的全部內容就知道了linux的核心指令: dpkg -L coreutils
    然後 info coreutils    哈哈,認真學吧, 滿世界都是指令!
* 可以用man 指令產看某個指令的所有section 的解釋: man -a tty
    然後用q,和next 轉換到下一個section的解釋
  * bash 的好用的快捷鍵:
  ctrl+a:游標移到行首。
  ctrl+b:游標左移一個字母
  ctrl+c:殺死現用的程式。
  ctrl+d:離開現用的 Shell。
  ctrl+e:游標移到行尾。
  ctrl+h:刪除游標前一個字元,同 backspace 鍵相同。
  ctrl+k:清除游標後至行尾的內容。
  ctrl+l:清屏,相當於clear。
  ctrl+r:搜尋之前打過的指令。會有一個提示,根據你輸入的關鍵字進行搜尋bash的history
  ctrl+u: 清除游標前至行首間的所有內容。
  ctrl+w: 移除游標前的一個單詞
  ctrl+t: 交換游標位置前的兩個字元
  ctrl+y: 貼上或是還原上次的刪除
  ctrl+d: 刪除游標所在字母;注意和backspace以及ctrl+h的區別,這2個是刪除游標前的字元
  ctrl+f: 游標右移
  ctrl+z : 把現用的程式轉到後台運行,使用』 fg 『指令還原。比如top -d1 然後ctrl+z ,到後台,然後fg,重新還原
* 快速貼上:先在一個地方選中文字,在欲貼上的地方按滑鼠 中鍵 即可。
* 等效中鍵:a 、按下滑輪等效於中鍵。b、同時按下滑鼠 左右鍵,等效於中鍵。
* 快速重啟X服務: 同時按下: Alt + Ctrl + Backspace 三個鍵。
* 開啟"運行"視窗: 同時按下 Alt + F2 鍵。
* 戴屏: a、全螢幕:直接按下 PrtScr 鍵。
  b、現用的視窗:同時按下 Alt + PrtScr 鍵。
  c、延時戴屏:在 終端 或 "運行"視窗中輸入指令: gnome-screenshot --delay 3 ,將延時 3 秒後戴屏。
* 直接將 檔案管理器 中的檔案拖到 GNOME終端 中就可以在終端中得到完整的路徑名。
8.  ulimit
ulimit:顯示(或設定)使用者可以使用的資源的限制(limit),這限制分為軟限制(現用的限制)和硬限制(上限),其中硬限制是軟限制的上限值,應用程式在運行過程中使用的系統資源不超過相應的軟限制,任何的超越都導致程式的終止。
ulimited      不限制使用者可以使用的資源,但本設定對可開啟的最大檔案數(max open files)
和可同時運行的最大程式數(max user processes)無效
-a      列出所有現用的資源極限
-c      設定core檔案的最大值.單位:blocks
-d      設定一個程式的資料段的最大值.單位:kbytes
-f      Shell 建立檔案的檔案大小的最大值,單位:blocks
-h      指定設定某個給定資源的硬極限。如果使用者擁有 root 使用者權限,可以增大硬極限。任何使用者均可減少硬極限
-l      可以鎖住的物理記憶體的最大值
-m      可以使用的常駐記憶體的最大值,單位:kbytes
-n      每個程式可以同時開啟的最大檔案數
-p      設定管道的最大值,單位為block,1block=512bytes
-s      指定堆疊的最大值:單位:kbytes
-S      指定為給定的資源設定軟極限。軟極限可增大到硬極限的值。如果 -H 和 -S 標誌均未指定,極限適用於以上二者
-t      指定每個程式所使用的秒數,單位:seconds
-u      可以運行的最大並發程式數
-v      Shell可使用的最大的虛擬記憶體,單位:kbytes
eg: ulimit -c 1000(可以先通過ulimit -c 檢視原來的值)
Postfix SMTP Server 郵件服務(Linux主機伺服器架設技術)

郵件服務簡單講,包含了寄件與收件兩部份。
但,實務上要考慮的點不只這樣,寄信(SMTP)的確較單純,但收信又得分成:主機收下(SMTP),送至客戶端(POP3 or IMAP)兩步驟來處理。


A Mail Client 要寄信給 B Mail Client ,解釋如下:

   1. A Mail Client 向 A Mail Server 發出寄信需求
   2. A Mail Server 的 SMTP Server 接到請求,依 e-mail address 找到對方 SMTP Server(B Mail Server)
   3. B Mail Server 會先依 DNS 的 MX 記錄,把信送至過濾,再由 Spamfilter 送回
   4. B Mail Server 接到 Spamfilter 送回的信,仍會再檢查 e-mail address ,是否有此 user ,若有接下信件
   5. B Mail Server 把接下的信件暫存至 /var/mail/user 內
   6. B Mail Client 要取信,必須透過 POP3 Server 到 /var/mail/user 取信



Postfix SMTP Server

SMTP Server全名叫:【Simple Mail Transfer Protocal】Server,它的主要工作有兩個:「MTA(mail transfer agent): 寄信出去」、「MDA(mail delivery agent): 把別人寄來的信暫時儲存至 /var/mail/username 」。因此,雖然一般人稱呼 SMTP 為「寄信伺服器」,但身為網管人員不可以這樣看待,切不可忘記其仍有【MDA】功能。

至於收發信件的人員(Mail Client),它們的身份為定位為 MUA; Mail User Agent,它是由 user 端與 POP3 Server結合而成,並不在本文 SMTP 的探討範圍內。


基本設定

    * 通訊埠:TCP 25
    * 主設定檔:/etc/postfix/main.cf
    * Linux 安裝完畢,南縣必修改處,紅字為新增/修改處

# 以下是定義什麼樣的收件者郵件格式Postfix會把它收下來
# 若您希望: 帳號@dc1es.tnc.edu.tw 也能收到信, 那麼您可以改用以下設定:
mydestination = $myhostname, $mydomain, mail.$mydomain
#
# 目前的設定是只收下: 帳號@dns.dc1es.tnc.edu.tw 這種格式的信件
# mydestination = $myhostname
      :
      :
# 因應 IPv6 而新增的設定
inet_protocols = ipv4, ipv6
# [ ] 內填貴校 spamfilter 主機之 IPv4 Address
relayhost = [163.26.182.249]

    * 註:RedHat 系列的 Sendmail relayhost 設定
      修改 /etc/mail/sendmail.cf ,把 DS 改為 DSspamfilter.dc1es.tnc.edu.tw



郵件過濾器之設定

郵件過濾器已配發,安裝在網路機櫃附近。它具有以下幾個特點:

   1. 可塔配多台郵件伺服器
   2. 使用者可以自行取回/寄出誤判信
   3. 各校網管可以自行登入設定管理
   4. 以 DNS MX 方式,在信件尚未被 postfix 收取前,就轉至過濾器,成功通過的信件才會回寄的郵件伺服器



修改 DNS 記錄

由於本過濾器採用 dns 轉信(mx)機制才達成過濾的目的,因為在 DNS 主機上必須加上以下設定

$TTL 86400
@  IN  SOA dns.dc1es.tnc.edu.tw. admin.dns.dc1es.tnc.edu.tw. (
           2006030801 ; 每修改一次, 數字就要加 1
           86400 ; refresh
           1800 ; retry
           1728000 ; expire
           1200 ; Negative Caching
           )
   IN   NS   dns.dc1es.tnc.edu.tw.
dns   IN   A   163.26.182.1
; 把 user@dc1es.tnc.edu.tw 的信先轉往 spamfilter.dc1es.tnc.edu.tw
@   IN   MX   0   sapmfilter.dc1es.tnc.edu.tw.
@   IN   MX   10   mail.dc1es.tnc.edu.tw.
; 把 user@dns.dc1es.tnc.edu.tw 的信先轉往 spamfilter.dc1es.tnc.edu.tw
dns.dc1es.tnc.edu.tw.   IN   MX   0   sapmfilter.dc1es.tnc.edu.tw.
dns.dc1es.tnc.edu.tw.   IN   MX   10   dns.dc1es.tnc.edu.tw.
; 網域名稱 dc1es.tnc.edu.tw 也要賦予一組 IPv4 位址
dc1es.tnc.edu.tw.   IN   A   163.26.182.1



修改防火牆設定

關於 Mail 主機的 Port 25 討論如下

    * 就寄信而言
      Mail Client 端(Outlook / Webmail)必須連至 Mail 主機之 SMTP 25 埠才可發信。


    * 就收信而言

   1. 若沒有 spamfilter 機制,SMTP 必須全開 port 25,以接收全球其他 Mail Server 的來信,不可加設防火牆規則列進行阻擋。
   2. 但 spamfilter 設了 DNS MX 機制後,信件封包之收件者若是以 mail@hostname 呈現,比如 yh@mail.tnc.edu.tw 。那麼信件在到達 Mail Server 前,就已經被 DNS Server 轉至 spamfilter 主機過濾。過濾完成的信件,再經由 spamfilter 送回 Mail 主機之 SMTP Server。簡言之,其實在此機制下, Mail Server 的 port 25 只讓 spamfilter 過就可收到信件。
   3. 問題是,很多垃圾郵件發信機,是直接以 IP 位址串到 port 25,寄給使用者(非正常手段)。


    * 綜合論之
      只要的 Mail Server 把 Port 25 封起來,只讓可能寄信的 IP Range 及 spamfilter 通過,那麼就可以阻擋那些繞過 spamfilter 機制的垃圾信。


Linux 上的做法如下:

    * 修改 /etc/rc.local

#在IPv6 的規則列與網芳規則列之間加上 port 25 的規則
## 防止 spam mail server 直接交寄信包給本 mail server
# 允許本機可直接交寄
$IPTABLES -A INPUT -p TCP -s 127.0.0.0/8 --dport 25 -j ACCEPT
# 允許163.26.0.0 整個 B Class 可直接交寄
$IPTABLES -A INPUT -p TCP -s 163.26.0.0/16 --dport 25 -j ACCEPT
# 教網中心辦公室
$IPTABLES -A INPUT -p TCP -s 203.68.102.0/24 --dport 25 -j ACCEPT
# 允許教育部可直接交寄
$IPTABLES -A INPUT -p TCP -s 140.111.2.0/24 --dport 25 -j ACCEPT
$IPTABLES -A INPUT -p TCP -s 140.111.8.0/24 --dport 25 -j ACCEPT
$IPTABLES -A INPUT -p TCP -s 140.111.34.0/24 --dport 25 -j ACCEPT
# 允許成大區網可直接交寄
$IPTABLES -A INPUT -p TCP -s 140.116.2.0/24 --dport 25 -j ACCEPT
# 拒絕 非本校 IP 網段交寄信包
$IPTABLES -A INPUT -p TCP -s ! 163.26.182.0/24 --dport 25 -j DROP

/sbin/ip6tables -F
/sbin/ip6tables -A INPUT -p tcp --dport 21 -j DROP

    * 套用新規則列root@dns:~# service rc.local start



轉信機制
多人給一人 aliases

裡,因為行政業務需要,通常同一人可能要收多組的郵件,比如:網管必建的帳號就有 admin, abuse, security 這三組,再加上原本自已慣用的帳號,共四組。那麼,我們如何在伺服器上稍作修改,便通通由 admin 寄出。

    * 設定檔: /etc/aliases
    * 編輯 /etc/aliases,把 root, abuse, security, yh 的信件皆轉給 admin 這個帳號
      root@dns:~# vi /etc/aliases

mailer-daemon: postmaster
webmaster: root
clamav: root
root: admin
abuse: admin
security: admin
yh: admin

    * 下指令:【newaliases】
      root@dns:~# newaliases
    * 註1:abuse, security, yh 等帳號必須建立。
    * 註2:經過 newaliases 之後,寄給上述之信件,皆會直接轉給 amdin,不會在 /var/mail/abuse, security, yh 留下任何資料。



一人給多人

本功能可允許某一帳號收完信件,立即轉給相關人仕。例如:兩個內部帳號 admin ,manager 再加一個外部帳號 tnuser@tn.edu.tw 都需要接到 service 帳號的信件。在 linux 底下,與上面的做法類以,只要修改 /etc/aliases 便可以達成此一目的。


依上例,詳列做法如下:

    * 編輯 /etc/aliases
      root@dns:~# vi /etc/aliases

service: admin, manager, tnuser@tn.edu.tw

    * 執行 newaliases
      root@dns:~# newaliases



架第二台Mail Server注意事項

若有架第二台 Mail Server 需求,要考慮以下幾件事情,第一:至少要設妥 DNS 正解及 MX 記錄,第二:也要加入南縣配發給各校的 spamfilter 控管。假設大成國小有一台 mail2.dc1es.tnc.edu.tw --> 163.26.182.8 為例子,分述設定過程如下:


新裝機注意事項

    * 使用 Linux 新裝的 mail2,在設定管理密碼(Linux-csetup-utf8)時,基本參數示例如下
          ◎.主機名稱: mail2
          ◎.網域名稱: dc1es.tnc.edu.tw
          ◎.IP 位置: 163.26.182.8
          ◎.不擔任 DNS Server
    * /etc/postfix/main.cf 修改注意
          ◎.mydestination 不動,就是 hostname 而已
          ◎.要把 Spamfilter 的寄信過濾加上

            mydestination = $myhostname
            # [ ] 填入 spamfilter 的 IPv4 Address
            relayhost = [163.26.182.249]



修改 DNS 正解檔及防火牆設定檔

    * 在適當位置加上,下列之 DNS 記錄
      root@dns:~# vi /etc/bind/db.dc1es.tnc.edu.tw

mail2.dc1es.tnc.edu.tw.    IN    MX    10 spamfilter.dc1es.tnc.edu.tw.
mail2.dc1es.tnc.edu.tw.    IN    MX    20 mail2.dc1es.tnc.edu.tw.

mail2    IN    A    163.26.182.8

    * Linux修改 /etc/rc.local 方法與前文一樣,請參考前面。



加入 Spamfilter 過濾

當初 Spamfilter 裝機時,已針對使用中的 Mail Server 處理過,現在我們只要把新增的 Mail Server 通知它,使它能處理新郵件主機的信件。由於各校手上已有該機器的操作手冊,所以在此,筆者僅提示一下執行順序。若對此步驟仍有疑慮,不知該如何處理,也可以請教網中心系統連線組代勞。

   1. Mail Server 主機上建立 syncact 帳號:root@dns:~# adduser syncact
   2. 用瀏覽器連線至 spamfilter : https://spamfilter.dc1es.tnc.edu.tw:50000
   3. 在管理介面點「郵件伺服器管理」(最左上角)
          * 郵件網域: mail2.dc1es.tnc.edu.tw
          * 郵件伺服器 IP 位址/主機名稱: 163.26.182.8
          * 點選【建立】
   4. 在管理介面點「人員管理」
          * 左側「UNIX帳號同步」
          * UNIX 帳號主機設定
            主機名稱:mail2.dc1es.tnc.edu.tw
            IP:163.26.182.8
            Port:22
            UNIX登入帳號:syncact
            UNIX登入密碼:●●●●●●●
            郵件網域:mail2.dc1es.tnc.edu.tw
          * 點選【新增】



實用工具指令

    * Postfix 啟動/關閉/重新啟動
      root@dns:~# service postfix start|stop|restart

    * /etc/postfix/main.cf 設定檔語法檢查
      root@dns:~# postfix check

    * 郵件佇列查詢(還有多少信待寄?)
      root@dns:~# postqueue -p

    * 刪除所有在佇列中的信件
      root@dns:~# postsuper -d ALL

    * 依 postqueue -p 所列的 QUEUE_IP 檢視其中某封信件之內容
      root@dns:~# postcat -q QUEUE_ID



Amavis-new過濾與防毒

因為南縣各校已建置專用的郵件過濾主機,因此 Linux 預設已拿掉 Amavis+Clamav+SpamAssassin 的過濾功能。不過,如果您安裝 Linux 的網路環境沒有獨立的郵件過濾器,還是得把它安裝起來。

注意:

   1. 非台南縣各校不可加 /etc/rc.local 內的 port 25 過濾
   2. 非台南縣各校,DNS 不需 MX 至 spamfilter
   3. 啟動 amavis 後,郵件在主機內的運作為

postfix 25 -> Amavis+Clamav+SpamAssassin 10024 -> postfix 10025 -> 寄出 .or. 送至/var/mail


Linux sqz系列之安裝

    * 由於 clamav 在 debian 6.0(squeeze) 以後,已直接進入 debian 的 update 資料庫,所以請先確認 sources.list 有下列來源庫

deb ftp://free.nchc.org.tw/debian/ squeeze-updates main non-free contrib

    * root@dns:~# apt-get update

    * root@dns:~# apt-get install amavisd-new spamassassin clamav clamav-daemon clamav-docs libclamunrar6 libnet-ph-perl libnet-snpp-perl libnet-telnet-perl nomarch lzop lha arj unrar zo◎.unzip cabextract



Linux e系列(Debian Lenny)之安裝

    * 修改套件庫,加入由 clamav 組織維護的 debian 套件
      root@dns:~# vi /etc/apt/sources.list

deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free


    * root@dns:~# apt-get update


    * root@dns:~# apt-get install amavisd-new spamassassin clamav clamav-daemon clamav-docs libclamunrar6 libnet-ph-perl libnet-snpp-perl libnet-telnet-perl nomarch lzop lha arj unrar zo◎.unzip cabextract



安裝後續共通設定部分

    * 安裝至 clamav 時,會詢問資料更新方式,建議使用 cron 方式(預設是 daemon)

Virus database update method:
      daemon
      ifup.d
      cron
      manual
   <確定>
.........

Local database mirror site:
      db.local.clamav.net
   <確定>
HTTP proxy information (空白就好)
   <確定>
Shold clamd notify after updates
   <是>



    * root@dns:~# vi /etc/amavis/conf.d/15-content_filter_mode (取消兩個 bypass 註解,如下所示)

use strict;

# You can modify this file t◎.re-enable SPAM checking through spamassassin
# and t◎.re-enable antivirus checking.

#
# Default antivirus checking mode
# Uncomment the tw◎.lines below t◎.enable it back
#

@bypass_virus_checks_maps = (
   \%bypass_virus_checks, @bypass_virus_checks_acl, $bypass_virus_checks_re);


#
# Default SPAM checking mode
# Uncomment the tw◎.lines below t◎.enable it back
#

@bypass_spam_checks_maps = (
   \%bypass_spam_checks, @bypass_spam_checks_acl, $bypass_spam_checks_re);

1;  # insure a defined return


    * root@dns:~# vi /etc/amavis/conf.d/20-debian_defaults (修改規則列, 紅字為建議修改項目)

$sa_spam_subject_tag = '***SPAM*** ';
$sa_tag_level_deflt  = 3.0; # add spam inf◎.headers if at, or above that level
$sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 10; # 認定可以刪除的垃圾信件
$sa_dsn_cutoff_level = 12; # spam level beyond which a DSN is not sent
......
$final_virus_destiny      = D_DISCARD; # (data not lost, see virus quarantine)
$final_banned_destiny     = D_BOUNCE; # D_REJECT when front-end MTA
$final_spam_destiny       = D_PASS; # 如果評分超過 sa_kill_level_deflt, 暫時通過以免誤判,但經過一段時間的手動學習並穩定後,要改成 discard
$final_bad_header_destiny = D_DISCARD; # False-positive prone (for spam)


    * root@dns:~# adduser clamav amavis
    * root@dns:~# service clamav-daemon restart
    * root@dns:~# service amavis restart
    * root@dns:~# vi /etc/postfix/main.cf (在檔尾新增下面兩行)

content_filter = amavis:[127.0.0.1]:10024
receive_override_options = no_address_mappings


    * root@dns:~# vi /etc/postfix/master.cf(在檔尾新增下面這幾行)

amavis unix - - - - 2 smtp
        -◎.smtp_data_done_timeout=1200
        -◎.smtp_send_xforward_command=yes

127.0.0.1:10025 inet n - - - - smtpd
        -◎.content_filter=
        -◎.local_recipient_maps=
        -◎.relay_recipient_maps=
        -◎.smtpd_restriction_classes=
        -◎.smtpd_client_restrictions=
        -◎.smtpd_helo_restrictions=
        -◎.smtpd_sender_restrictions=
        -◎.smtpd_recipient_restrictions=permit_mynetworks,reject
        -◎.mynetworks=127.0.0.0/8
        -◎.strict_rfc821_envelopes=yes
        -◎.receive_override_options=no_unknown_recipient_checks,no_header_body_checks
        -◎.smtpd_bind_address=127.0.0.1


    * root@dns:~# service postfix restart


    * root@dns:~# netstat -nltp

Active Internet connections (only servers)
Prot◎.Recv-Q Send-Q Local Address         Foreign Address        State       PID/Program name
tcp        0      0 127.0.0.1:10024       0.0.0.0:*              LISTEN     1748/amavisd (maste
tcp        0      0 127.0.0.1:10025       0.0.0.0:*              LISTEN     839/master
tcp        0      0 127.0.0.1:3306        0.0.0.0:*              LISTEN     4400/mysqld
tcp        0      0 0.0.0.0:110           0.0.0.0:*              LISTEN     653/xinetd   
tcp        0      0 220.130.230.76:53     0.0.0.0:*              LISTEN     30549/named
tcp        0      0 127.0.0.1:53          0.0.0.0:*              LISTEN     30549/named
tcp        0      0 0.0.0.0:21            0.0.0.0:*              LISTEN     4579/vsftpd
tcp        0      0 0.0.0.0:22            0.0.0.0:*              LISTEN     4561/sshd
tcp        0      0 0.0.0.0:25            0.0.0.0:*              LISTEN     839/master
tcp        0      0 127.0.0.1:953         0.0.0.0:*              LISTEN     30549/named
tcp        0      0 0.0.0.0:1723          0.0.0.0:*              LISTEN     20233/pptpd         
tcp6       0      0 :::80                 :::*                   LISTEN     29064/apache2
tcp6       0      0 :::22                 :::*                   LISTEN     4561/sshd     
tcp6       0      0 ::1:953               :::*                   LISTEN     30549/named
tcp6       0      0 :::443                :::*                   LISTEN     29064/apache2



過濾信誤判之學習

   1. 先把整封信儲存為郵件檔, 副檔名為 eml
   2. 變成垃圾信
      root@dns:~# sa-learn --spam *.eml
   3. 變成正常信
      root@dns:~# sa-learn --ham *.eml



啟動 postfix 寄信認證機制(Lenny)
前言

本文只適用 Linux e (lenny) ,若您是安裝其他系統,做法應該有所差異,請另找文件參考。

    * 時機
      若您的郵件主機沒有垃圾郵件過濾器幫忙,而且使用者可能來自任何 IP Address ,有使用獨立的 Mail Client 程式 (如 Outlook, LiveMail, Thunderbird...etc) 寄信的需求。
    * Linux e2預設

   1. 為避免 OpenRelay 只限 $mynetwork 內所設的網段才可以寄信
   2. 合法區段內的電腦寄信不必輸入密碼認證
   3. 南縣各校可能會在 /etc/rc.local 設定 port 25 的阻擋規則列

    * 基於上述之預設值,要達成此需求的做法概要

   1. 打開 Postfix 寄信只限網內或 localhost 限制
   2. 限來自郵件主機之 hostname 或 domain 的寄件者始得以 relay
   3. 加裝 Postfix 寄信使用者密碼認證制度
   4. 南縣各校必須解除 rc.local 內 port 25 的 iptables 規則列(註:此舉在沒有加裝 amavis 的情況下會導致垃圾信大增)



開始設定

    * 安裝 cyrus sasl 套件
      root@dns:~# apt-get update
      root@dns:~# apt-get install libsasl2-2 libsasl2-modules sasl2-bin

   ---------- 正在設定 sasl2-bin ------------

   ......

   Backup file name for /etc/sasldb2:   /var/backups/sasldb2.bak  →  「確定」

    * 修改 /etc/default/saslauthd
      root@dns:~# vi /etc/default/saslauthd

START=yes

    * 啟動saslauthd服務
          ◎.剛設定完畢,重新啟動
            root@dns:~# service saslauthd restart
          ◎.預設開機啟動服務
            root@dns:~# ntsysv → 找到 saslauthd,打勾

    * 修改 /etc/postfix/main.cf
      root@dns:~# vi /etc/postfix/main.cf 確認以下設定值與本文一致

......
# 允許本機(WebMail),可以不必經由認證
mynetworks = 127.0.0.0/8
......
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes

smtpd_recipient_restrictions =
   permit_mynetworks,
   permit_sasl_authenticated,
   reject_unauth_destination,
   check_relay_domains

    * 修改 /etc/postfix/sasl/smtpd.conf
      root@dns:~# vi /etc/postfix/sasl/smtpd.conf

pwcheck_method: saslauthd


    * 重新啟動 Postfix
      root@dns:~# service postfix restart



Outlook express(LiveMail client) 設定方式

設定妥帳號資訊後,再點選「工具」/「帳戶」,繼續依下面圖示說明進行設定。
Outlook smtp auth 1.png
    
Outlook smtp auth 2.png



POP3 Server

Linux 上推薦的 POP3 Server 有兩套,一套是 Qpopper ,另一套是 Dovecot,這兩套只要二選一即可。其中 Qpopper 的設定較簡單,適合純 POP3 使用,Dovecot 的設定較難,功能較多,若您同時需要 pop3 及 IMAP 這兩個功能,那麼才建議使用 Dovecot。
Qpopper

Qpopper 是 Linux 預載的 POP3 Server ,也建議若無非安裝 IMAP Server 不可的理由,繼續使用它就好。
基本操作

    * 預設它是透過 Xinetd 管理,因此本服務的啟動管理,事實上是要對 xinetd 處理
    * 重新啟動
      root@dns:~# service xinetd restart
    * 永遠停止

   1. 在 ntsysv 內停掉 pop3 項目(前面不加 *)
   2. root@dns:~# service xinetd restart

    * 恢復啟動

   1. 在 ntsysv 內勾選 pop3 項目
   2. root@dns:~# service xinetd restart


南縣 IPv6 設定

為支援南縣各校 IPv6 設備,Linux 上的 Qpopper 必須修改 /etc/xinetd.d/pop3 ,以支援 IPv6 的 pop3 服務。

    * 修改設定檔
      root@dns:~# vi /etc/xinetd.d/pop3 (紅字為新增部分)

service pop-3
{
     disable       = no
     flags         = IPv6
     socket_type   = stream
     protocol      = tcp
     wait          = no
     user          = root
     server        = /usr/sbin/in.qpopper
     server_args   = -f /etc/qpopper.conf
}

    * 重新啟動 qpopper
      root@dns:~# service xinetd restart



Linux e2 及 sqz 要加做 qpopper bug 修正

    * 注意:若您的 Linux sqz 安裝後立即執行 dist-upgrade 完成整體性更新,此動作不必再做
    * 以下內容取自 http://Linux-linux.com/phpBB2/viewtopic.php?t=2907
    * 編輯 /etc/pam.d/qpopper 這個檔案,把原 auth 及 account 這二列用 # 註解掉,加入 @include common-auth 即可,修改後的內容如下

#%PAM-1.0
#auth       required    pam_unix_auth.s◎.shadow
#account    required    pam_unix_acct.so
@include common-auth



Dovecot

若真的有換成 Dovecot 的必要,請下列方式操作

    * 安裝 dovecot 的 pop3 套件

   1. root@dns:~# apt-get update
   2. root@dns:~# apt-get install dovecot-pop3d
      注意:經本動作 qpopper 會被移除

    * 修改 dovecot 設定,以符合 IPv6 設備(它是獨立執行的網路服務程式, 不經 xinetd 幫忙)
      root@dns:~# vi /etc/dovecot/dovecot.conf (紅字為新增/修改部分)

protocols = pop3
listen = [::]
disable_plaintext_auth = no

    * 重新啟動 dovecot
      root@dns:~# service dovecot restart




突然無法收發信件可能原因

若郵件系統已經使用一段時間,但某天開始突然無法收發信件,可能原因列表如下

    * Clamav 是否沒升級?
          ◎.說明:要常注意 http://Linux.tnc.edu.tw 上的重要通知,若有更新可用時請立即處理
          ◎.現象:下「postqueue -p」指令時,會有大量待寄信件
          ◎.處理:
         1. root@dns:~# postsuper -d ALL
         2. root@dns:~# service postfix stop
         3. 依公告升級 clamav
         4. root@dns:~# service postfix start


    * 郵件過濾器 Spamfilter 問題?
          ◎.郵件過濾器因故停機? 可 PING 一下該主機是否存活,再用瀏覽器試著連線看看
          ◎.新增帳號,忘了到 spamfilter 做「UNIX同步帳號」


    * 硬碟空間已滿?
          ◎.下「postqueue -p」指令,檢查硬碟容量
          ◎.若有設 Quota ,要去檢查該使用者的限額是否已快滿


    * 硬碟故障?
          ◎.重開機時,是否一直自動執行 fsck ?

網路防火牆的基本功能

網路防火牆的基本功能

一般來說,網路防火牆的應具備下列三種重要的基本功能:

1.存取管控(AccessControl):
指依據系統管理者所設定的存取控制規則,決定網路交通的許可或拒絕。
存取管控的條件包括資料封包的來源位址、目標位址、連接的網路服務協定種類以及使用者的身分等。
防火牆對於所有的網路流通會依規則判斷,只有可信任的來源位址可以連到被允許的目標位址,且只能以特定的使用者身分使用特定的網路服務。
存取管控甚至可以做到控制網路服務的某些特定指令是否允許其執行,例如FTP可以限制只能下載檔案,不能上傳或刪除。

2.身分識別(Authentication):
即驗證身分,作為服務授權的參考。
防火牆必須有效地識別網路使用者及主機的身分,以控管使用權限、確認責任歸屬。

3.安全稽核:
防火牆應能詳細記錄網路流通的狀況,並記錄安全相關事件,以供系統管理者分析之用。
一般安全稽核的內容包括:網路服務的連通或拒絕、身分辨識、網路通信發生的時間及持續的時間、資料傳輸位元數、執行時發生的異常狀態、系統組態的修改、某些協定的特殊指令、系統核心接收到的特殊封包等等。
基於安全考量Xoops2.5.0安裝好後出現警告提示的訊息(如何處理?)

基於安全考量Xoops2.5.0安裝好後出現了以下的訊息

警告提示:基於安全考量,建議將 /var/www/xoops_lib 這個資料夾移到網站根目錄之外!

警告提示:基於安全考量,建議將 /var/www/_xoops_data_ 這個資料夾移到網站根目錄之外!

處理方式與解決方法:
例如Linux主機網站路徑是:/var/www
那就把那兩個目錄移到/var
不移的話至少要改資料夾名稱,不過建議移會比較好!
如何能把xoops_data 移到別的資料夾

attachments/201011/4016146391.jpg

移動後

請修改xoops目錄下的 mainfile.php

修改 移動後的路徑

define('XOOPS_PATH', 'C:/AppServ/www/xoops/xoops_lib');

define('XOOPS_VAR_PATH', 'C:/AppServ/www/xoops/xoops_data');

還要把移動的目錄確認一下它的『可讀可寫』屬性修改正確!
此一變動對網站安全是重大革新的作法,但是對於租用虛擬主機的用戶,就要依賴主機業者的協助
萬一主機業者是國外或是根本無此服務呢?
結論:這就是自己有獨立主機與租用虛擬主機使用上最大的區別
(租人家的主機你有何主權獨立檔案、資料庫隱私可言?)

Linux Kernel 3.1.6 穩定版發佈下載

Linux Kernel 3.1.6 穩定版發佈下載

 Linux 內核發佈最新穩定版:linux-3.1.6.tar.bz2
下載網址:

http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.6.tar.bz2

Linux是最受歡迎的自由電腦操作系統內核。
它是一個用C語系寫成,符合POSIX標準的類Unix操作系統。
Linux最早是由芬蘭黑客林納斯·托瓦茲為嘗試在英特爾x86架構上提供自由免費的類Unix操作系統而開發的。
該計劃開始於1991年,這裡有一份林納斯·托瓦茲當時在Usenet新聞組comp.os.minix所登載的帖子,這份著名的帖子標誌著Linux計劃的正式開始。


在計劃的早期有一些Minix 黑客提供了協助,而今天全球無數程式員正在為該計劃無償提供說明。

技術上說Linux是一個內核。
「內核」指的是一個提供硬體抽像層、磁碟及檔案系統控制、多任務等功能的系統軟體。
一個內核不是一套完整的操作系統。
一套基於Linux內核的完整操作系統叫作Linux操作系統,或是GNU/Linux。

Linux是一個巨集內核(monolithic kernel)系統。裝置驅動程式可以完全訪問硬體。
Linux內的裝置驅動程式可以方便地以模組化(modularize)的形式設定,並在系統運行期間可直接載入或卸載。

Linux不是微內核(microkernel)架構的事實曾經引起了林納斯·托瓦茲與安德魯·斯圖爾特·塔能鮑姆( Andy Tanenbaum)之間一場著名的爭論。
網友的電腦最基本的用途就是:上網!
然而微軟公司發布有關「視窗」作業系統的重大安全瑕疵警告
新發現的「視窗」作業系統瑕疵,可能被駭客用來盜取個人資料或接管電腦。
還是別再用Internet Explorer瀏覽器了吧!
換用FireFox、Google Chrome和Safari的瀏覽器(一樣不用花錢購買,免費!)
何必因為作業系統是:微軟Windows就一定要用Internet Explorer瀏覽器?


以下是今天新聞的全文引用:
--------------------------------------------------------

微軟視窗瑕疵 9億用戶遭殃
聯合 更新日期:"2011/02/02 10:26" 編譯田思怡/報導

微軟公司發布有關「視窗」作業系統的重大安全瑕疵警告,將影響全球9億Internet Explorer瀏覽器的用戶。

微軟表示,新發現的「視窗」作業系統瑕疵,可能被駭客用來盜取個人資料或接管電腦。

這個瑕疵很嚴重,可能影響所有Internet Explorer用戶。在找出永久解決辦法前,微軟建議用戶下載安全更新(security patch)。

FireFox、Google Chrome和Safari並未受到影響,這些軟體和Internet Explorer不同,並不支持MHTML檔,而這也正是問題所在。

這個安全漏洞只會影響Internet Explorer對一些網頁的處理方式。
本Linux主機伺服器架設基地立志於收集各類Linux主機伺服器架設、網站架設及網頁設計技術教學資訊,便於本人和廣大網友及網友查詢檢索,無論公司或個人認為本站存在侵權內容均可與本站聯繫,任何此類反饋資訊一經查明屬實後,將立即移除!