B2D 升級到 OB2D
最近學校的網路主機硬碟掛了,還好資料有備份,原本是B2D的作業系統,想想既然要重灌,那乾脆來灌最新的OB2D吧,以下是重灌步驟的整理,方便以後還要再重灌時不用去想要怎麼做,同時也提供給各位伙伴參考
- 準備一顆新的硬碟,這樣比較好處理,現在硬碟這麼便宜,容量又超大,順便把SERVER的硬碟升級,應該很划算吧!! (本校是使用1TB的硬碟,若只做MAIL主機,1TB可以用到地老天荒了)
- 找個時間,宣佈網路暫停運作,因為要移機了
- 原硬碟接到第2顆,把新硬碟接到第1顆,先安裝OB2D順便分割新硬碟,因為本校原B2D是BIG5編碼,為了避免橫生枝節,OB2D還是安裝BIG5編碼,其他的就以預設安裝吧,沒意外的話,這顆硬碟可以在20分鐘內裝好,OB2D會要求先給一組非管理者帳號密碼。
- 開機後以剛剛的帳密先登入,若不想每次都打sudo,那先設一下root帳號密碼
sudo passwd
- 重新以root登入
exit
- 執行ob2d-setup 設定一下主機的基本資訊和服務密碼(用於phpmyadmin和mysql)
ob2d-setup
- 若有需要,檢查一下/etc/rc.local 開放putty 校內連線
vi /etc/rc.local
/etc/rc.local
- 接下來可以一般pc,用pietty連線,不然看不到中文訊息也很苦惱。
- 網卡ip設定(要在同一網卡設定2組ip用,像本校的網路是真實和虛擬並存,通常會再給網卡一組虛擬ip
vi /etc/network/interfaces
auto lo eth0 eth0:1
/etc/init.d/networking restart
iface lo inet loopback
iface eth0 inet static
address 163.26.174.1
netmask 255.255.255.0
network 163.26.174.0
broadcast 163.26.174.255
gateway 163.26.174.254
iface eth0:1 inet static
address 192.168.1.2
netmask 255.255.0.0
network 192.168.0.0
broadcast 192.168.255.255
gateway 192.168.0.1
ifconfig 查看目前所有網路設定
ifconfig eth0 up (啟用eth0)
ifconfig eth0 down(停用eht0)
- 還原cp -f 的功能(因為B2D和OB2D的cp -f 強制覆蓋功能無效,若要搬移大量資料會有困擾,故需將其還原)
root@mail:~# unalias cp
只要執行 alias cp=cp 或 unalias cp,把它暫時取消即可。若要永久取消,請寫在
/etc/profile 或 .bash_profile 中。
- scp/sftp/ssh(方便在2台電腦間直接搬資料用) 不能連的原因是在/etc/hosts.deny中有設定一條 ALL: PARANOID
代表拒絕所有電腦名稱和dns反查到不相符的電腦連線
例如:你的另一部主機在dns中反查到的名字若是dns,但netbios名稱卻設成mail,那麼這台電腦就不能拿來以ssh連線到新灌的ob2d
先把他mark起來,ssh/scp/sftp等就可以用了
- 更改升級用的sources.list(參考http://yh.tnc.edu.tw/itsmw/index.php/Ob2d)並更新OB2D
wget http://yh.tnc.edu.tw/download/sources.list
cp -f sources.list /etc/apt/
wget http://yh.tnc.edu.tw/download/ob2d-sec.gpg
wget http://yh.tnc.edu.tw/download/ob2d-dm.gpg
apt-key add ob2d-sec.gpg
apt-key add ob2d-dm.gpg
apt-get update
apt-get upgrade
- 安裝dhcp3-server和samba(如果需要的話)
apt-get install samba
apt-get install dhcp3-server
- 安裝 unzip,netpbm (sfs3解壓及產生縮圖用,ob2d預設沒有安裝)
apt-get install unzip netpbm
- 先將/etc 備份一下以免改壞了找不回來
cp /etc /etc1
- 將原硬碟mount進來
mount /dev/sdb2 /mnt
- 還原dns伺服器(bind9)
cp /mnt/etc/bind /etc/ -aur
service bind9 restart
- 還原 /var/www的內容,但保留phpmyadmin
mv /var/www /var/www1
cp /mnt/var/www /var -ar
rm /var/www/phpmyadmin
cp /var/www1/phpmyadmin /var/www/ -ar
- 若有安裝sfs3,需要將apache2內和sfs3相關設定還原,以下以本校為例,若還有其他特殊設定檔,請自行還原相關設定
cp /mnt/etc/apache2/conf.d/sfs3.conf /etc/apache2/conf.d -a
service apache2 restart
- 修改php.ini提高upload的上限值
vi /etc/php5/apache2/php.ini
修改upload_max_filesize = 5M
- 啟用個人網頁空白
cd /etc/apache2/mods-enabled
ln -s ../mods-available/userdir.conf userdir.conf
ln -s ../mods-available/userdir.load userdir.load
若要修改個人網頁空間的目錄名稱,例如原本是放在/home/*/public_html,要改成/home/*/html,則要修改 userdir.conf檔
vi userdir.conf
將所有的public_html 改成 html
service apache2 restart
- 將/etc/rc.local 還原
cp /mnt/etc/init.d/rc.local /etc/ -f
vi /etc/rc.local
在最後一行加上
exit 0
存檔後執行
/etc/rc.local
- 若要自己修改預設的rc.local,其實主要是要加上spam的相關設定如下
## 防止 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 163.26.174.0/24 --dport 25 -j ACCEPT
$IPTABLES -A INPUT -p TCP -s 192.168.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
#允計全部可寄
#$IPTABLES -A INPUT -p TCP -s 0.0.0.0/0 --dport 25 -j ACCEPT
# 拒絕 非本校 IP 網段交寄信包
$IPTABLES -A INPUT -p TCP -s ! 163.26.174.0/24 --dport 25 -j DROP
- 回復群組、帳號、密碼、aliases檔等
cp /mnt/etc/passwd /etc -f
cp /mnt/etc/group /etc -f
cp /mnt/etc/shadow /etc -f
cp /mnt/etc/aliases /etc -f
newaliases
檢查一下/etc/passwd檔,看有沒有這一個帳號,若沒有則加進去
dovecot:x:121:121:Dovecot mail server,,,:/usr/lib/dovecot:/bin/false
- 還原mysql資料庫
cp /var/lib/mysql /var/lib/mysql1
先用phpmyadmin 在mysql中建立相對應要還原的空白資料庫
再把需要移動的資料庫cp過去
cp /mnt/var/lib/mysql/sfs3 /var/lib/mysql -afr
cp /mnt/var/lib/mysql/xoops /var/lib/mysql -afr
修改xoops目錄中mainfile.php 內的資料庫帳號密碼(或是用phpmyadmin建立相同的帳號密碼)
service mysql restart 測試一下網頁是否正常
- 回復postfix 設定
cp /mnt/etc/postfix/main.cf /etc/postfix -afr
service postfix restart
- 回復dhcp3-server
cp /mnt/etc/dhcp3 /etc/ -aur
/etc/init.d/dhcp3-server restart
- 回復/home 和 /var/mail資料夾
cp /mnt/home/* /home -aurf
cp /mnt/var/mail/* /var/mail -aurf
- 回復 samba 服務
service samba stop
cp /mnt/etc/samba /etc -aurf
mv /var/lib/samba /var/lib/samba1
cp /mnt/var/lib/samba /var/lib -aurf
vi /etc/samba/smb.conf
找到 passdb backend = tdbsam guest
改成 passdb backend = tdbsam
service samba restart
若samba 還擔任網域主控站,而網域主控站功能異常的話可以試試
rm /var/lib/samba/wins.dat
看看功能正不正常
另外 samba的密碼檔為
/etc/var/lib/samba 目錄中的
/var/lib/samba/secrets.tdb
/var/lib/samba/account_policy.tdb
/var/lib/samba/passdb.tdb
三個檔案
- 安裝openwebmail
apt-get install chspeedy
apt-get install openwebmail
若您有修改過/usr/llib/cgi-bin/openwebmail內的資料的話,再加上
mv /usr/lib/cgi-bin/openwebmail /usr/lib/cgi-bin/openwebmail1
cp /mnt/usr/lib/cgi-bin/openwebmail /usr/lib/cgi-bin/ -arf
- 安裝webmin和usermin
apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
自行到webmin網站下載webmin_1.xxx_all.deb和usermin_1.xxx_all.deb
再以下列指令安裝
dpkg -i webmin_1.xxx_all.deb
dpkg -i usermin_1.xxx_all.deb
修改/etc/webmin/miniserv.conf,看需不需要啟動ssl
修改/etc/usermin/miniserv.conf,看需不需要啟動ssl
- 使用webmin中的samba設定,讓samba 的unix密碼可以和samba密碼同步
- 若要讓老師可以幫學生修改密碼,則需設定如下
選webmin--webmin使用者--建立一個computer_teacher的群組,功能只能修改students密碼
點選修改密碼進去設定
再選轉換unix到webmin使用者,把電腦老師帳號都匯進來- 重設Quota
vi /etc/fstab
/dev/sda2 / ext3 defaults,usrquota,grpquota,errors=remount-ro 0 1
若要開機自動mout第2顆硬碟則可以加上如下的參數
/dev/sdb2 /backup ext3 defaults 0 1
將sdb2 開機自動mount 在/backup 資料夾上,但需要先在/下建立一個backkup的資料夾
設好後,請先測試有沒有設錯,否則重新開機後會無法啟動
mount -a
右mount失敗,無法開機,請進入單人模式,輸入
df
mount -n -o remount,rw /
再修改/etc/fstab
重新mount 一次,讓quota生效
umount /dev/sda2
mount -a
或
mount -o remount /
掃描一次硬碟,並產生quota資訊
quotacheck -avugm
要等很久哦
ls / aquota*
quotaon -av
/dev/sda2 [/]: group quotas turned on
/dev/sda2 [/]: user quotas turned on
設定user student的quota
edquota -u student
上例設定為200mb
Disk quotas for user student (uid 3111):
Filesystem blocks soft hard inodes soft hard
/dev/sda2 44 200000 200000 11 0 0
設定寬限期
edquota -t
檢查quota
quota -vu student
將student quota 複製給其他使用者
edquota -p student quser2
若是要大量修改quota,則可使用webmin,選取student後再複製配額或使用shell script來
設定 開機時啟動 quota 將指令 /sbin/quotaon -avug 加入/etc/rc.local中
- 可能發生問題及原因
samba 無法啟動:
smb.conf的設定檔要把guest拿掉
samba 無法開啟個人資料夾:
/home/資料夾未copy
samba 當網域主控站,但網域異常無法登入
通常是密碼檔混亂(/var/lib/samba)新舊密碼檔不要混在一起
另一個可能性是/var/lib/samba/wins.dat資料檔有問題,刪除他
再重新啟動samba
- postfix 寄信/收信有問題:
postfix設定檔未copy過去
會漏信(有時可寄達,有時不可)
可能server 的ip有異動,dns內容有變動,別人的dns cache尚未更新,等一陣子(約2-3天)就好了,或是在dns異動期間,舊有的ip和新的ip並存,等幾天後再把舊ip拿掉
以後電腦老師就可以使用webmin來改學生的密碼了
留言