一方面用來放置我們的站點,另一方面實驗室放一臺服務器,也為實驗室的成員們提供一些額外的服務,方便科研和學習。
雖然做 Web 我是輕車熟路了,但倒騰 Linux 服務器我絕對還是個新手。雖然平時為了開發(fā)也沒少倒騰過,但基本上都是調(diào)一下 Apache 或 PHP 之類的事情。所以下面寫的東西只是個記錄,不敢班門弄斧,方法也都是 Google 來的,如果您有什么意見建議,歡迎您提出來。
本文只寫一下搭建基本服務器的部分。發(fā)行版我選擇的是 Ubuntu,雖然我知道 CentOS 或是 RHEL 可能性能會更好點,但畢竟 Ubuntu 比較熟悉也比較簡單。Ubuntu 本身有 Server 版,而且可以幾乎無需干預的安裝好一臺 LAMP Server,但 Linux 本身的樂趣就在于折騰,而且對于服務器我更希望知道到底都有什么東西在跑,所以我決定從搭建一個干凈的基本系統(tǒng)開始。經(jīng)過一番 Google,我找到了一個近乎“完美”的教程:Minimal Ubuntu 8.04 Server Install,下面的安裝過程也基本就是按著這個教程來的,稍微改進滿足了一下實際需要。
言歸正傳,開始進入安裝。首先,用 Ubuntu 8.04 Desktop Live CD 引導服務器,開一個 Terminal 就可以開工了。
第一步,啟動分區(qū)工具對硬盤分區(qū)。這里我使用的也是 cfdisk (不用 GPart 的原因是因為這臺服務器壓根就沒鼠標 -_-b),對 500G 的硬盤進行了分區(qū)。命令如下:
sudo su
cfdisk /dev/sda
首先分出 60MB 主分區(qū)用作 /boot,然后分 50GB 邏輯分區(qū)作為根分區(qū),4GB 邏輯分區(qū)作為交換分區(qū),剩下的分一個分區(qū)作為 /home 使用。分好后不要忘了寫入分區(qū)表。
完成分區(qū)之后開始對各個分區(qū)進行格式化,為了方便,我只使用了 ext3 這一種格式:
mkfs.ext3 /dev/sda1
mkfs.ext3 /dev/sda5
mkfs.ext3 /dev/sda6
mkswap /dev/sda7
完成分區(qū)后可以裝基本系統(tǒng)了,這里需要使用 debootstrap,具體命令是:
mkdir /min
mount /dev/sda5 /min
mkdir /min/boot
mount /dev/sda1 /min/boot
mkdir /min/home
mount /dev/sda6 /min/home
apt-get install debootstrap
在執(zhí)行 debootstrap 之前,建議先進行一下源設置。因為這一步需要下載大量軟件,因此選用一個最快的源還是很有必要的。這里我使用的是 cn99 的源:
nano /usr/share/debootstrap/scripts/hardy
找到類似下面的段落(default_mirror),改為您需要的源:
case $ARCH in amd64|i386|sparc)
default_mirror http://ubuntu.cn99.com/ubuntu
然后開始安裝最小系統(tǒng)
debootstrap hardy /min
完成后,我們需要對這個系統(tǒng)進行一番設置使其可用。首先我們可以先將一些設置信息直接復制到目標系統(tǒng)中:
cp /etc/hosts /min/etc/
cp /etc/network/interfaces /min/etc/network/
cp /etc/bash_completion /min/etc/
cp /etc/bash.bashrc /min/etc/
此外,我們還需要為光驅(qū)進行一些設置:
mkdir -p /min/media/cdrom0
ln -s cdrom0 /min/media/cdrom
建立 fstab:
nano /etc/fstab
fstab 文件的內(nèi)容大致如下:
proc /proc proc defaults 0 0 /dev/sda5 / ext3 relatime 0 1 /dev/sda1 /boot ext3 relatime 0 1 /dev/sda6 /home ext3 relatime 0 1 /dev/sda7 none swap sw 0 0 /dev/cdrom /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
做完這一步,我的系統(tǒng)基本上就裝好了,現(xiàn)在我們就可以 chroot 進去,進行進一步的配置:
mount –bind /dev /min/dev
mount -t proc proc /min/proc
mount -t sysfs sysfs /min/sys
chroot /min
設定時區(qū):
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
安裝一個文本編輯器,我個人比較喜歡 nano,當然你也可以裝 vim:
apt-get install nano
建立源列表,還是填入最快的源:
nano /etc/apt/sources.list
內(nèi)容如下,使用的是 cn99 的源(我在教育網(wǎng)能到 1M/s 的速度)
deb http://ubuntu.cn99.com/ubuntu hardy main restricted universe multiverse deb http://ubuntu.cn99.com/ubuntu hardy-updates main restricted universe multiverse deb http://ubuntu.cn99.com/ubuntu hardy-security main restricted universe multiverse
更新源并升級現(xiàn)有軟件:
apt-get update
apt-get dist-upgrade
設置 root 用戶密碼,并新建一個用戶,并使它有 sudo 權(quán)限:
passwd
adduser liuyang
addgroup admin
adduser liuyang admin
echo “%admin ALL=(ALL) ALL”>>/etc/sudoers
安裝 grub,使目標系統(tǒng)可以引導:
apt-get install linux-image-server grub
mkdir /boot/grub
update-grub
update-initramfs -u
目標系統(tǒng)已經(jīng)設置完畢,現(xiàn)在推出 chroot,完成最后的操作 – 將 grub 裝到 /dev/sda 的 MBR 上:
exit
grub-install –root-directory=/min –no-floppy –recheck /dev/sda
重新啟動系統(tǒng),退出 Live CD,如果一切正常的話,你應該可以用一個“干凈的” Ubuntu 引導起你的服務器了。