重新安裝伺服器

自從我把 roga.tw 升級到 php5 + MySQL5 之後就一直狀況連連,但是因為我忙著期末考,所以沒時間處理。

上禮拜六考完,休息了一下,禮拜天睡醒之後我就開始著手處理這件事情。

Debian 4.0首先 roga.tw 的硬碟是 WD 80GB SATA + WD 200 GB SATA ,我為了讓系統更穩定,所以打算換成 RAID 1 系統,拿原本 roga.tw 上面的 200GB 和我電腦上的系統碟 80GB 交換,如此 roga.tw 上就變成了 WD 80GB SATA x 2 然後接著再把原本的 WD 200 GB SATA 換到我的電腦上,一切就大功告成,不過光這件事情就折騰了我半天,我用 Image Drive 把兩顆硬碟進行複製。結果複製成功,也可以開機,但是就是進不去 Windows XP ,為了修理這個問題,耗去了一個上午的時間。

下午的時候,開始著手備份資料。

順序是 mysqldump 出來所有的資料庫,接著用 tar 把所有的網頁和相簿都壓縮起來。然後把 killall 所有 bbsd 之後把兩個 bbs 的 home 還有 /etc 都 tar 起來。這樣就差不多了。

把備份檔案傳回自己桌機之後,開始裝新硬碟上去,然後重新安裝整個系統。我原本想裝 Ubuntu Server 7.04 因為他原本就預設裝好 Apache2 + MySQL + php ,不過後來我還是裝了 Debian 4.0 r1 。

安裝的過程有些地方要作筆記:

  1. ~user/.bashrc 要新增 alias vi=’vim’ 要不然跑出來都是 vi 。/etc/vim/vimrc 是 global 的設定。
  2. 系統原本的 vim 是 tidy 版本,如果要使用 syntax on 的話,必須安裝完整版本,也就是重新 apt-get install vim
  3. bind9 問題:明明看到設定檔,但是不能用?啟動會出現 localhost:127.0.0.1#953 的錯誤訊息?因為安裝程式會騙人,必須自己手動重裝一次。
  4. vsftp 很多設定預設都是關閉,如果要用到設定檔的話,記得要先 touch 那個檔案,要不然登入會失敗。例如 local user chroot 的檔案。
  5. Apache2 已經把 UsrDir 獨立成為一個 Module 了,另外 apache2 把所有目錄設定都移到 /etc/apache2/site-enable/000-default ,裡面對於 www 預設目錄的設定是一開始會會 RedirectMatch 到 /var/www/apache2-default/ 去。
  6. 必須手動安裝 OpenSSH Server 。
  7. 預設沒有防火牆,所以要手動安裝 shorewall 。另外 /etc/default/shorewall 裡面 startup=0 改為 startup=1 所有設定檔都要備份,要不然就得手動產生。
  8. 我掙扎了一下之後,決定所有 DNS 都給 EveryDNS.net 代管了。目前系統已經用掉 39 個 records 了。
  9. 還原 BBS 的時候,如果要 compile 記得要安裝 gcc 3.4 還有 libc6-dev ,如果用 GCC 4.1 編譯會爆炸。
  10. 新版本的 Debian 已經沒有 base-config 了。
  11. 必須手動安裝 xinetd ,裡面記得還原 /etc/xinetd.d/ ,然後目前僅跑 telnet, telnet2 其他不跑,但是重點是 user 要設 root ,要不然 bbs2 的 3023 根本跑不起來。
  12. 我的檔案系統改用 ReiserFS ,已經不用 ext3 了。不過據說該檔案系統作者 Hans Reiser 涉嫌殺害自己的妻子.. orz
  13. /etc/php5/apache2/php.ini 有 Magic Quotes 的選項:magic_quotes_gpc = On 以及 magic_quotes_runtime = Off 記得要設定為 magic_quotes_runtime = Off ,要不然 WordPress 會出現 Fatal error: Cannot unset string offsets in widgets.php on line 307 這一類的訊息。
  14. Gallery2 會認系統,所以要下載 fullpack 重新 install 一次即可,小心點,不要按錯,安裝程式就不會動到 g2data 和 db 裡面的東西。

大致是這樣,目前都轉移完成了,不過還有一點要特別注意,如果是舊版的 WP ,在 wp-config.php 裡面不支援 define(‘DB_CHARSET’, ‘utf8’); 以及 define(‘DB_COLLATE’, ‘utf8_unicode_ci’); 的話,可以在 wordpress 找 wp-db.php ,然後在 $this->select($dbname); 前面手動加上連線編碼設定即可。也就是加上 mysql_query(“SET NAMES ‘UTF8′”); 以及 mysql_query(“SET CHARACTER SET UTF8”); 。

嗯,花了兩天 Server 整個搬好了,大致是這樣,不過對於 Postfix 處理 BBSMAIL 的部份,可能還要花些時間來設定才行 :mrgreen:

另外,如果要套件更新程式(apt-get, wajig) 不抓取光碟內的來源的話,可以在 /etc/apt/source.list 裡面,把光碟機的選項註解掉。

Posted in computers
4 comments on “重新安裝伺服器
  1. tomsiuon says:

    雖然看不懂,還是覺得很厲害 @@
    我現在光是 DNS 的設定就弄得一個頭兩個大…Orz

  2. 潘丹 says:

    我直接scroll down到comment zone…
    真是個不認真的讀者 哈!

    是說,上面的東西 是天書吧!

    虧我還跟瑞琪說 我是裸姐網誌的忠實讀者…

  3. roga says:

    其實這只是簡單的安裝筆記而已啦,呵呵,現在 Linux 幾乎都用套件安裝和管理程式,很方便的!我是第一次裝 Debian 4.0 r1 和以前有些地方不同(以前都 Install all 對一些細節和設定的位置都不懂),所以才把過程記下來,呵呵 😯

  4. tomsiuon says:

    設定位置不熟真的會弄的很頭大…
    現在我是用 centos 4 來練習
    鳥哥的資料、範例比較能一起實作…囧>

Leave a Reply

Your email address will not be published.