打造轻巧的 Linux 服务器的步骤

一方面用来放置我们的站点,另一方面实验室放一台服务器,也为实验室的成员们提供一些额外的服务,方便科研和学习。

虽然做 Web 我是轻车熟路了,但倒腾 Linux 服务器我绝对还是个新手。虽然平时为了开发也没少倒腾过,但基本上都是调一下 Apache 或 PHP 之类的事情。所以下面写的东西只是个记录,不敢班门弄斧,方法也都是 Google 来的,如果您有什么意见建议,欢迎您提出来。

本文只写一下搭建基本服务器的部分。发行版我选择的是 Ubuntu,虽然我知道 CentOS 或是 RHEL 可能性能会更好点,但毕竟 Ubuntu 比较熟悉也比较简单。Ubuntu 本身有 Server 版,而且可以几乎无需干预的安装好一台 LAMP Server,但 Linux 本身的乐趣就在于折腾,而且对于服务器我更希望知道到底都有什么东西在跑,所以我决定从搭建一个干净的基本系统开始。经过一番 Google,我找到了一个近乎“完美”的教程:Minimal Ubuntu 8.04 Server Install,下面的安装过程也基本就是按着这个教程来的,稍微改进满足了一下实际需要。

言归正传,开始进入安装。首先,用 Ubuntu 8.04 Desktop Live CD 引导服务器,开一个 Terminal 就可以开工了。

第一步,启动分区工具对硬盘分区。这里我使用的也是 cfdisk (不用 GPart 的原因是因为这台服务器压根就没鼠标 -_-b),对 500G 的硬盘进行了分区。命令如下:

sudo su
cfdisk /dev/sda

首先分出 60MB 主分区用作 /boot,然后分 50GB 逻辑分区作为根分区,4GB 逻辑分区作为交换分区,剩下的分一个分区作为 /home 使用。分好后不要忘了写入分区表。

完成分区之后开始对各个分区进行格式化,为了方便,我只使用了 ext3 这一种格式:

mkfs.ext3 /dev/sda1
mkfs.ext3 /dev/sda5
mkfs.ext3 /dev/sda6
mkswap /dev/sda7

完成分区后可以装基本系统了,这里需要使用 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

在执行 debootstrap 之前,建议先进行一下源设置。因为这一步需要下载大量软件,因此选用一个最快的源还是很有必要的。这里我使用的是 cn99 的源:

nano /usr/share/debootstrap/scripts/hardy

找到类似下面的段落(default_mirror),改为您需要的源:

case $ARCH in amd64|i386|sparc)
default_mirror http://ubuntu.cn99.com/ubuntu

然后开始安装最小系统

debootstrap hardy /min

完成后,我们需要对这个系统进行一番设置使其可用。首先我们可以先将一些设置信息直接复制到目标系统中:

cp /etc/hosts /min/etc/
cp /etc/network/interfaces /min/etc/network/
cp /etc/bash_completion /min/etc/
cp /etc/bash.bashrc /min/etc/

此外,我们还需要为光驱进行一些设置:

mkdir -p /min/media/cdrom0
ln -s cdrom0 /min/media/cdrom

建立 fstab:

nano /etc/fstab

fstab 文件的内容大致如下:

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

做完这一步,我的系统基本上就装好了,现在我们就可以 chroot 进去,进行进一步的配置:

mount –bind /dev /min/dev
mount -t proc proc /min/proc
mount -t sysfs sysfs /min/sys
chroot /min

设定时区:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

安装一个文本编辑器,我个人比较喜欢 nano,当然你也可以装 vim:

apt-get install nano

建立源列表,还是填入最快的源:

nano /etc/apt/sources.list

内容如下,使用的是 cn99 的源(我在教育网能到 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

更新源并升级现有软件:

apt-get update
apt-get dist-upgrade

设置 root 用户密码,并新建一个用户,并使它有 sudo 权限:

passwd
adduser liuyang
addgroup admin
adduser liuyang admin
echo “%admin ALL=(ALL) ALL”>>/etc/sudoers

安装 grub,使目标系统可以引导:

apt-get install linux-image-server grub
mkdir /boot/grub
update-grub
update-initramfs -u

目标系统已经设置完毕,现在推出 chroot,完成最后的操作 – 将 grub 装到 /dev/sda 的 MBR 上:

exit
grub-install –root-directory=/min –no-floppy –recheck /dev/sda

重新启动系统,退出 Live CD,如果一切正常的话,你应该可以用一个“干净的” Ubuntu 引导起你的服务器了。

(0)

相关推荐

  • 如何在Windows系统上利用Telnet协议连接Linux服务器?

    Telnet协议是Internet远程登录服务的标准协议,它为用户提供了在本地计算机上完成远程主机工作的能力.很多终端使用者都习惯在计算机上利用Telnet会话来远程控制服务器.这里小编就分两步为大家 ...

  • 如何利用Telnet连接Linux服务器

    Telnet协议是Internet远程登录服务的标准协议,它为用户提供了在本地计算机上完成远程主机工作的能力.很多终端使用者都习惯在计算机上利用Telnet会话来远程控制服务器.这里小编就分两步为大家 ...

  • Linux服务器被黑以后处理步骤详解

    首先,要冷静,喝口水压压惊.安全总是相对的,再安全的服务器也有可能遭受到攻击. 随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己 ...

  • 盘点十大最流行的Linux服务器发行版

    随着Linux不断发展,Linux所支持的文件系统类型也在迅速扩充。很多的数据中心服务器上都运行着Linux,可以节省大量的许可证费用及维护费用。但伴随着Linux新版本的发行,其中每一个不同版本的L ...

  • Linux服务器被rootkit恶意软件攻击后的处理方法

    rootkit是一种恶意软件,通常和木马等其他恶意程序一起结合使用,而Linux是其重要的攻击对象,那么Linux被rootkit攻击后该怎么办呢?下面小编就给大家介绍下Linux服务器被rootki ...

  • 企业级Linux服务器安全防护要点

    随着开源系统Linux的盛行,其在大中型企业的应用也在逐渐普及,很多企业的应用服务都是构筑在其之上,例如Web服务、数据库服务、集群服务等等。因此,Linux的安全性就成为了企业构筑安全应用的一个基础 ...

  • 十大最流行的Linux服务器

    随着Linux不断发展,Linux所支持的文件系统类型也在迅速扩充。很多的数据中心服务器上都运行着Linux,可以节省大量的许可证费用及维护费用。但伴随着Linux新版本的发行,其中每一个不同版本的L ...

  • 防范4种级别攻击来确保Linux服务器

    以下的文章主要描述的是防范四种级别攻击确保Linux服务器安全,如果你对防范四种级别攻击确保Linux服务器安全心存好奇的话,以下的文章将会揭开它的神秘面纱.随着Linux企业应用的不断扩展. 有大量 ...

  • Linux服务器上的网站关闭的方法

    很多人想知道Linux服务器上的网站如何关闭,因为网站是在WDCP服务器上的,而停止WDCP服务器的方法和停止WINDOWS服务器的方法又不一样的.这个要具体问题具体分析.下面就来看看Linux服务器 ...