上面没人 發表於 2023-11-16 00:00:00

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

<p>
        <span style='font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>一方面用来放置我们的站点,另一方面实验室放一台服务器,也为实验室的成员们提供一些额外的服务,方便科研和学习。</span></p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        虽然做 Web 我是轻车熟路了,但倒腾 Linux 服务器我绝对还是个新手。虽然平时为了开发也没少倒腾过,但基本上都是调一下 Apache 或 PHP 之类的事情。所以下面写的东西只是个记录,不敢班门弄斧,方法也都是 Google 来的,如果您有什么意见建议,欢迎您提出来。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        本文只写一下搭建基本服务器的部分。发行版我选择的是 Ubuntu,虽然我知道 CentOS 或是 RHEL 可能性能会更好点,但毕竟 Ubuntu 比较熟悉也比较简单。Ubuntu 本身有 Server 版,而且可以几乎无需干预的安装好一台 LAMP Server,但 Linux 本身的乐趣就在于折腾,而且对于服务器我更希望知道到底都有什么东西在跑,所以我决定从搭建一个干净的基本系统开始。经过一番 Google,我找到了一个近乎“完美”的教程:<font color="#006699">Minimal Ubuntu 8.04 Server Install</font>,下面的安装过程也基本就是按着这个教程来的,稍微改进满足了一下实际需要。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        言归正传,开始进入安装。首先,用 Ubuntu 8.04 Desktop Live CD 引导服务器,开一个 Terminal 就可以开工了。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        第一步,启动分区工具对硬盘分区。这里我使用的也是 cfdisk (不用 GPart 的原因是因为这台服务器压根就没鼠标 -_-b),对 500G 的硬盘进行了分区。命令如下:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                sudo su<br>
                cfdisk /dev/sda</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        首先分出 60MB 主分区用作 /boot,然后分 50GB 逻辑分区作为根分区,4GB 逻辑分区作为交换分区,剩下的分一个分区作为 /home 使用。分好后不要忘了写入分区表。</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        完成分区之后开始对各个分区进行格式化,为了方便,我只使用了 ext3 这一种格式:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                mkfs.ext3 /dev/sda1<br>
                mkfs.ext3 /dev/sda5<br>
                mkfs.ext3 /dev/sda6<br>
                mkswap /dev/sda7</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        完成分区后可以装基本系统了,这里需要使用 debootstrap,具体命令是:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                mkdir /min<br>
                mount /dev/sda5 /min<br>
                mkdir /min/boot<br>
                mount /dev/sda1 /min/boot<br>
                mkdir /min/home<br>
                mount /dev/sda6 /min/home<br>
                apt-get install debootstrap</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        在执行 debootstrap 之前,建议先进行一下源设置。因为这一步需要下载大量软件,因此选用一个最快的源还是很有必要的。这里我使用的是 cn99 的源:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                nano /usr/share/debootstrap/scripts/hardy</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        找到类似下面的段落(default_mirror),改为您需要的源:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                case $ARCH in amd64|i386|sparc)<br>
                default_mirror http://ubuntu.cn99.com/ubuntu</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        然后开始安装最小系统</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                debootstrap hardy /min</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        完成后,我们需要对这个系统进行一番设置使其可用。首先我们可以先将一些设置信息直接复制到目标系统中:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                cp /etc/hosts /min/etc/<br>
                cp /etc/network/interfaces /min/etc/network/<br>
                cp /etc/bash_completion /min/etc/<br>
                cp /etc/bash.bashrc /min/etc/</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        此外,我们还需要为光驱进行一些设置:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                mkdir -p /min/media/cdrom0<br>
                ln -s cdrom0 /min/media/cdrom</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        建立 fstab:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                nano /etc/fstab</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        fstab 文件的内容大致如下:</p>
<p style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        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</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        做完这一步,我的系统基本上就装好了,现在我们就可以 chroot 进去,进行进一步的配置:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                mount –bind /dev /min/dev<br>
                mount -t proc proc /min/proc<br>
                mount -t sysfs sysfs /min/sys<br>
                chroot /min</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        设定时区:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        安装一个文本编辑器,我个人比较喜欢 nano,当然你也可以装 vim:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                apt-get install nano</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        建立源列表,还是填入最快的源:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                nano /etc/apt/sources.list</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        内容如下,使用的是 cn99 的源(我在教育网能到 1M/s 的速度)</p>
<p style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        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</p>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        更新源并升级现有软件:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                apt-get update<br>
                apt-get dist-upgrade</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        设置 root 用户密码,并新建一个用户,并使它有 sudo 权限:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                passwd<br>
                adduser liuyang<br>
                addgroup admin<br>
                adduser liuyang admin<br>
                echo “%admin ALL=(ALL) ALL”&gt;&gt;/etc/sudoers</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        安装 grub,使目标系统可以引导:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                apt-get install linux-image-server grub<br>
                mkdir /boot/grub<br>
                update-grub<br>
                update-initramfs -u</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        目标系统已经设置完毕,现在推出 chroot,完成最后的操作 – 将 grub 装到 /dev/sda 的 MBR 上:</p>
<blockquote style='margin: 0px auto 10px; padding: 4px 4px 4px 10px; outline: none; background: rgb(244, 249, 251); border-left: 4px solid rgb(116, 205, 230); width: 779px; font-family: tahoma, arial, "Microsoft YaHei"; font-size: 14px;'>
        <p>
                exit<br>
                grub-install –root-directory=/min –no-floppy –recheck /dev/sda</p>
</blockquote>
<p style='margin: 0px; padding: 5px 0px; outline: none; font-size: 14px; line-height: 30px; font-family: tahoma, arial, "Microsoft YaHei";'>
        重新启动系统,退出 Live CD,如果一切正常的话,你应该可以用一个“干净的” Ubuntu 引导起你的服务器了。</p>
頁: [1]
查看完整版本: 打造轻巧的 Linux 服务器的步骤