打造轻巧的 Linux 服务器
Published at Oct 2, 12am / Keywords: linux, server, ubuntu
好久没写 Blog,忙啊什么的就不说了,懒是最大的原因。最近忙着给实验室做个网站,除了我熟悉的 Web Design & Development 之外,这次我还搭建了一台 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 引导起你的服务器了。
分享到:
相关推荐
MobaXterm是一款强大的远程连接工具,专为IT专业人员设计,它集成了多种功能,如SSH、telnet、RDP、VNC等协议,使得用户可以方便地从Windows操作系统访问远程Linux和Windows服务器。这款软件是运维人员的得力助手,...
**MobaXterm远程Linux机器连接工具** MobaXterm是一款高效、轻量级的远程连接软件,专为需要在Windows系统中管理Linux服务器...其轻巧的体积、丰富的功能以及高度的自定义性,使得它成为连接远程Linux机器的理想选择。
### Linux图形界面中客户端、服务器、窗口管理器之间的关系 #### 一、Linux操作系统与图形界面的关系 Linux本身是一个基于命令行的操作系统,并不包含图形用户界面(GUI)的部分。当前在Linux上的图形界面是由各种...
支持Linux的最佳浏览器:轻巧灵活的Opera.pdf
轻巧实用的FTP服务工具,无需安装大型第三方FTP软件,也无需安装微软的IIS,省去许多繁琐的工作,只要开启软件鼠标一点轻松做FTP服务器。 对于经常要共享软件又苦于window共享各种问题的,或者经常在非windows系统...
js 日期控件 轻巧 简化 简单 日期选择 里面只有一个js文件和一个demo页面 没有其他图片等资源,放到项目里面就可以使用 轻巧,简单,无任何其他第三方插件等 极力推荐 js 日期控件 轻巧 简化 简单 日期选择 里面...
屏幕取色值工具,鼠标移动上去就获取对应的颜色值,轻巧方便的完美工具。 屏幕取色值工具,鼠标移动上去就获取对应的颜色值,轻巧方便的完美工具。 屏幕取色值工具,鼠标移动上去就获取对应的颜色值,轻巧方便的完美...
轻巧的流服务器,将DLNA / UPNP和Chromecast支持添加到PulseAudio和Linux。 它可以将当前的PulseAudio播放流式传输到网络中的其他UPNP设备(UPNP媒体渲染器)或Chromecast。 它的主要目标是:易于使用,无配置麻烦...
DockerServer超级轻量级且简单的RESTFul无状态服务器,用于以安全方式在远程计算机上运行Docker容器。 安装npm i -g docker-server或docker run -d -p 1717:1 DockerServer超轻量级且简单的RESTFul无状态服务器...
《绿色轻巧截屏工具详解》 在日常的电脑使用中,截屏功能是我们与他人分享屏幕信息、记录重要画面的重要手段。对于那些不希望安装庞大软件,追求简洁高效的用户来说,一款绿色轻巧的截屏工具是必不可少的。本文将...
总结来说,20CN迷你FTP服务器以轻巧的体积和易用性吸引了用户,提供了一个方便快捷的文件共享平台。虽然篇幅中并未提及具体的功能细节,但根据常见的FTP服务器特性,我们可以推断出以上所述的诸多功能和注意事项。在...
【部分内容】:文章提到了Linux的稳定性、Apache与MySQL的免费及高性能特性,以及PHP在Web开发中的经济、轻巧和安全优势。OA系统采用B/S三层结构,提供高度的可扩展性,并包含了多模块的逻辑结构,如我的办公桌、...
(eSM)是用于监视Linux服务器的脚本。 它在版本和应用程序中可用。eZ Server Monitor`Web eSM在其版本中是一个PHP脚本,可在网页上显示以下信息: 系统:主机名,操作系统,内核版本,正常运行时间,上次启动日期,...
《Gogs for Linux:搭建自己的Git服务器》 在数字化时代,版本控制系统对于软件开发团队而言至关重要,Git作为其中的佼佼者,深受开发者喜爱。然而,对于Linux用户来说,通过在线方式安装Git服务可能遇到速度慢的...
静默服务器静默是一种非常轻巧,高质量,低延迟的语音聊天软件,可用于游戏。 在Windows和Linux上运行。 必须与静默(客户端)应用程序一起使用。 由Qt Framework,Winsock2和Windows Silent Server Silent制成,是...
时空WEB服务器 v2.3是一款专为个人用户设计的小型Web服务器软件,它以其轻巧的体积、中文图形用户界面和详细的中文说明,为个人网页设计和CGI程序的开发提供了极大的便利。这款服务器程序强调易用性,使得即便是没有...
云安服务器卫士自身非常轻巧,同时还具备开机加速、一键检测等多种系统优化功能,可大大加快服务器运行速度,内含的云安服务器卫士软件客服还可帮助用户轻松下载、问题解答,反馈建议等提供帮助。 特点: 1、查杀...
总结起来,MobaXterm凭借其轻巧的体积、全面的功能、易用的界面以及出色的跨平台能力,成功超越了传统的Linux管理工具。无论是在日常开发、系统维护还是教学学习中,MobaXterm都能成为Linux用户得力的助手,大大提高...
【Opera 浏览器在Linux下的优势】 Opera是一款由Opera公司开发的轻量级网络浏览器,尤其在Linux操作系统中表现出色。它以其小巧的体积、快速的运行速度、强大的功能和出色的稳定性,深受Linux用户的喜爱。尽管在...