星期五, 4月 29, 2005

FTP server─proftpd

FTP是目前最方便的檔案交流的服務
但是FTP也是最不好管理的
要有良好的管控是很不容易的
其實ftp server的套件有很多種,注名的有proftpd、vsftpd、Pure-FTPd...等
安裝方式很簡單
$ apt-get install proftpd

而debian的套件管理程式會帶入一些設定晝面

我們選Standalone的方式

安裝完後,執行$ netstat -an | grep LISTEN | grep 21
若出現下例的結果,表示port 21已經成功被proftpd監聽了
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
接下來就可以用ftp軟體試試看是否能成功連上了呢?!
嘿嘿~~~~是不是很簡單啊!恭喜你~~~

SSH(Q & A)

最近因為常常用自己linux中的ssh連上某台主機
可是有一天網管人員把主機重灌之後
我用linux連上卻出現下例的錯誤訊息,而且用windows也是一樣出現類似的錯誤,不知是為何?!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
66:b3:b6:d0:63:1a:45:55:8e:9d:19:80:e9:d1:c0:03.
Please contact your system administrator.
Add correct host key in /home/huki/.ssh/known_hosts to get rid of this message.
Offending key in /home/huki/.ssh/known_hosts:3
RSA host key for localhost has changed and you have requested strict checking.
Host key verification failed.


解決辨法:
這個問題其實很常發生,首先我先告訴大家原因是什麼
因為是ssh是用連線兩者的Diffie-Hellman key演算方式來產生一個分享的key ,再用類似Blowfish的演算方式進行同步解密的動作!
所以當你第一次用ssh連線上時會問你key未被建立,是否接收server傳來的key,如下圖

所以當你的ssh套件更新或升級(有些版本事能是重開後),server的key可能就更改了
所以這時候只要將你操作的使用者的家目錄下的.ssh刪掉就可以了
$ rm -r .ssh #-r是刪除目錄時用的參數
這樣重新連線時,就能連上囉!^^

星期四, 4月 28, 2005

最熱門的apache和php

現在網路上最熱門的兩種架web server就是windows下的iis和linux下的apache+php
接下來就要教大家如何架設apache + php,讓大家可以撰寫出動態的網頁
首先我們要安裝apache和php這裡我們建議用apache2
因為apache2已經將其設定檔完全模組化(方便管理)
apt-get install apache2 php4 libapache2-mod-php4
先說明一下apache2、php4分別是主要套件的名稱
而libapache2-mod-php4可以讓你將php4的模組掛到apache裡面
其他系統會自動幫你處理相依性的問題
幫你全部都裝好了,而且你的apache已經可以使用了

現在打開你的手邊的電腦,執行firefox或ie連上你的主機(ex: http://163.17.9.155 or 在本機 http://localhost)
是不是看到下列的晝面呢?!

而你的主機的網頁放的地方在
/var/www這個目錄下
因為我有安裝libapache2-mod-php4這個模組
所以已經將php掛上去了,那我們就來測試一下吧!
$ vi /var/www/test.php
內容為
phpinfo();
?>

再連上去看看(ex: http://163.17.9.155/test.php or 在本機 http://localhost/test.php)
會看到下列的晝面

這就表示你成功的裝好apache和php囉!

基本管理─安裝、更新及升級

在上一篇我們已經提到了簡單的apt-get的使用方法
但是其他apt-get只是一個debian管理套件的前端程式
他的底層是用dpkg這個程式來控制
所以debian的套件可以用dpkg安裝、更新和移除的動作
講到安裝、更新及升級
就必須說debian的套件,附檔名是.deb和redhat系列的.rpm是不一樣的
接下來教大家如何用dpkg直接控制.deb的套件
對了~~~還有安裝套件只有root才有權限喔!不要傻傻的用其他使用者喔!要記住喔~~~~
dpkg -i xxxx.deb ------安裝
dpkg -r(or --remove) xxxx.deb ------移除(但不刪除設定檔)
dpkg -P(or --purge) xxxx.deb ------移除(含設定檔)
dpkg -l ------列出已安裝的套件名

是不是覺得這樣的控制和redhat的rpm很像呢?!
沒錯,所以才需要出現前端程式,讓管理者或使用者方便使用
首先我介紹apt(Advanced Package Tool)─它可以自動偵測套件的相依性問題(就像是windows下裝一些遊戲一定要安裝DirectX一樣),來進行安裝、更新和移除
apt-setup ------可以設定/etc/apt/souces.list(也可以自行設定喔!)
apt-get update ------可以將來源端的套件索引下載下來,以便判斷是否要更新或安裝套件(搭配apt-get upgrade一起使用)
apt-get install package_name ------安裝套件
apt-get remove package_name ------移除(但不刪除設定檔)
apt-get --purge remove package_name ------移除(含設定檔)
apt-cache search package_name ------列出所有package_name的套件
apt-upgrade ------將已舊的套件,進行更新
apt-get autoclean(clean) ------刪除系統暫存的deb(autoclean只會將比目前系統舊版的套件刪除
apt-get dist-upgrade ------將stable升級成testing或其他的(如ubuntu)

其中apt-get dist-upgrade是一個比較特別的指令
我舉例說明好了
首先$ vi /etc/apt/sources.list
原來的/etc/apt/sources.list是stable的來源如:
deb http://ftp.us.debian.org/debian/ stable main non-free contrib
deb-src http://ftp.us.debian.org/debian/ stable main non-free contrib
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free

改成
deb http://ftp.us.debian.org/debian/ testing main non-free contrib
deb-src http://ftp.us.debian.org/debian/ testing main non-free contrib
deb http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free
deb-src http://non-us.debian.org/debian-non-US testing/non-US main contrib non-free

ps.教大家一招可以用vi的功能,按ESC,然後輸入:%s/stable/testing/g

接下來用
$ apt-get update;apt-get dist-upgrade
這樣就可以看來更新升級了,完全自動化,是不是很簡單~~~
相信你是不是對網管越來越有興趣了呢?!

此外,我不建議用stable架server,雖然很穩,但是很多東西太舊了
像很多新的套件都沒有,所以我建議改用testing(但是不建議用testing,unstable比較適合桌面啦!因為夠新,像站長的nb就是用unstable)
這樣稍後我們才能進入我們server的部份
還有記得每天都要更新喔!

星期二, 4月 26, 2005

安全可靠的遠端登入server─SSH

這篇開始我們要開教大家如何架一些server一些常見的
便於以後接到一些case或project時可以使用
而首先我要介紹的是遠端登入的部份
大家要知道網管人員不可能一天二十四小時都待在機房中
看著冷冰冰的螢幕
所以就有遠端登入這種機制
而一般的人會用telnet,可是他並不安全
所以我在這裡強烈建議安裝SSH
接下來讓我來教大家如何安裝及設定吧!

首先當然是安裝ssh的套件囉!
$ apt-get install ssh
接著會出現下列的晝面要你進行一些基本的設定
首先會問我們是不是都要全用ssh 2來執行,我建議使用ssh2因為更安全,更多功能可用

接下來會問你要不要在開機時啟動服務

這樣就已經成功的裝好了ssh server了

簡單的起步

從以上的三篇
我們已經成功的安裝Debian
接下來的我來教各位一些簡單的東西
比如要遠端登入
還有更新套件啦!
這些我都會讓大家了解
Debian是如何的方便容易管理
首先我要教大家安裝套件
Debian是一套和網路結合的很緊密的linux
只要你能上網就能很便利的更新的系統

面前我們的系統只有最最最簡單的一些套件
這樣不夠應付我們的需要
所以我們先裝幾個套件來增加方便性
$ apt-get install vim grub rcconf
這樣我們就能將vim(原來的debian安裝的是vi,很多功能都不支援,所以我們要安裝新的vim來取代vi)、grub(我們這裡要用grub來取代我們原來預設的lilo)和rcconf(它可以用來設定系統在開機時想要啟動或關閉的服務)
安裝好後
我們先來看看第一個檔案
$ vi /etc/apt/sources.list
souces.list這個檔案是存放了debian套件server的來源檔案(看名字應該就很容易了解了吧!)
內容大概如下
deb http://ftp.us.debian.org/debian/ stable main non-free contrib
deb-src http://ftp.us.debian.org/debian/ stable main non-free contrib
deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free
deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free

以後若需要增加一些來源,比如說一些特定的套件沒有進入debian的package tree中時,就可以直接在這裡新增

接下來我們來設定grub,雖然我們已經安裝了grub可是他還沒安裝到我們的開機磁區中
首先我們用下例的指令來偵測我們的開機磁區是否有問題
$ grub-install --recheck --no-floppy hd0
若出現Probing devices to guess BIOS drives. This may take a long time.The file /boot/grub/stage1 not read correctly.表示是正常,但還沒有設定grub
那要怎麼設定呢?!嘿嘿~~~~debian下有一個好用的指令update-grub,執行後,他就會自動幫你設定好你的grub了
接下來你只要下$ grub-install --no-floppy hd0就能成功安裝好grub了

你要怎麼使用rcconf呢?!
嘿嘿~~~很簡單的你只要執行
$ rcconf
接下來你就能進去一個管理程式
你可以透過上下鍵移動,按空白鍵能選取服務或關閉服務
ESC就能跳出了,這樣你就設定好啦!

在這一篇中我們可以了解到
Debian的套件安裝是非常的簡單的
當你用apt-get安裝時他自動就會幫你找尋相關的套件或lib
這和一般大家熟知的rpm最大的差別
希望這個起步能令人感到一點興奮^^

星期五, 4月 22, 2005

系統的第一步─安裝Debian到的電腦裡面(下)

上一篇我們已經將基本的系統都已經安裝到你的電腦或主機裡了
重新開機後就能享受debian了嗎?!
還沒有呢~~~~雖然剛才都已經安裝了基本的系統
可是你並沒有進行細步的設定啊!
所以這一篇我們會教你要如何設定好
經過這三篇後你就能一步一步的安裝好你的debian了
不多說廢話我們繼續吧!

第十步─進行時間設定
重新開機後,會進入一個設定程式如下圖,按Ebter進行下一步安裝

程式會先要求你設定時間,系統會問你是否要將系統時間設成和GMT時間同步(選擇"Yes"則是同步,"No"是直接用本機的時間),如下圖

此時會要你輸入root的密碼,這時你只要將密碼輸入即可,此時不建議新增其他使用者

第十一步─密碼相關設定
首先會問我們要用md5加密嗎?你可以選擇用md5不過我們一般linux下是用shadow加密技術來用,所以這裡我們選擇"No"

接下當然我們就要選擇用shadow加密技術來用囉!


第十一步─其他設定
系統會問你要不要移除"PCMICA"的套件,若你有需要用到就不要將他移除

問我們要不要用"PPP"來連線安裝系統(用來數據機撥接的軟體)


第十二步─選擇套件安裝來源
系統會尋問你要安裝"non-us"(這個分類裡頭的軟體都來自非美國地區,當中可能有牽扯到專利、加密..等等問題)、"non-free"(不屬於自由軟體範疇的軟體)、"contrib"(這裡頭軟體雖然可以在debian裡頭運作,即使本身屬於自由軟體但多半卻是相依於非自由non-free軟體),就看你自己選擇囉!



確定了後,會要求選擇套件來源的server,台灣這裡也有debian的套件server
所以我們選擇"Taiwan",然後選一個你喜歡的來源即可


然後讓系統自動安裝及設定,就可以進入Debian的世界囉!