林海谐缘

 找回密码
 审核注册
搜索
查看: 1495|回复: 1

打造轻巧的 Linux 服务器

[复制链接]
发表于 2008-10-2 14:07:21 | 显示全部楼层 |阅读模式
本文只写一下搭建基本服务器的部分。发行版我选择的是 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 multiversedeb http://ubuntu.cn99.com/ubuntu hardy-updates main restricted universe multiversedeb 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 引导起你的服务器了。

http://blog.istef.info/2008/10/02/build-a-linux-light-server/
发表于 2008-10-3 12:13:37 | 显示全部楼层

Ubuntu 服务器上 SSH Server 的安装和设置

服务器最终会被“抛弃”在实验室的某个角落,无论是后期设置还是维护的需要,都必须安装一个远程管理的工具。在 Linux 系统中,不二的选择就是 openssh 了。在 Ubuntu 中安装 openssh 实在是再简单不过的一件事情了,下面的内容也只是纯记录,给我这个菜鸟备个份。如果是高手直接绕过就好。

安装前的准备
Ubuntu 之所以好用,就是因为它继承了 debian 的 apt 系统,这一点相信您在昨天装系统的教程中已经感受到了。但是 apt 需要依赖网络,昨天我们装好的系统是暂时上不了网的,我们需要先设置一下。

首先,激活服务器的网卡,命令如下:

sudo nano /etc/network/interfaces

在 interfaces 中添加以下内容:

auto eth0
iface eth0 inet static
address 202.113.235.181
netmask 255.255.255.0
gateway 202.113.235.1这其中,斜体部分标注的 IP 地址是我服务器的设置,您需要根据您的具体情况修改。当然,如果您的服务器使用的是 DHCP 来分配 IP 地址,只需要写上 iface eth0 inet dhcp 就可以了,无需设置 address/netmask/gateway。

然后,修改 resolv.conf 配置 DNS 服务器:

sudo nano /etc/resolv.conf

添加您的 DNS 服务器地址:

nameserver 202.113.16.10
nameserver 202.113.16.11完成后,重新启动 networking 服务:

sudo /etc/init.d/networking restart

这样应该就可以连通网络了。如果您使用的是 ADSL,可能还需要装上 pppoe 之类的东西,考虑到服务器很少用这样的配置,这里就不讨论了,需要的话可以在网上查找。

安装和设置 OpenSSH Server
Ubuntu 下安装 OpenSSH Server 是无比轻松的一件事情,需要的命令只有一条:

sudo apt-get install openssh-server

随后,Ubuntu 会自动下载并安装 openssh server,并一并解决所有的依赖关系。当您完成这一操作后,您可以找另一台计算机,然后使用一个 SSH 客户端软件(强烈推荐 PuTTy),输入您服务器的 IP 地址。如果一切正常的话,等一会儿就可以连接上了。并且使用现有的用户名和密码应该就可以登录了。

事实上如果没什么特别需求,到这里 OpenSSH Server 就算安装好了。但是进一步设置一下,可以让 OpenSSH 登录时间更短,并且更加安全。这一切都是通过修改 openssh 的配置文件 sshd_config 实现的。

首先,您刚才实验远程登录的时候可能会发现,在输入完用户名后需要等很长一段时间才会提示输入密码。其实这是由于 sshd 需要反查客户端的 dns 信息导致的。我们可以通过禁用这个特性来大幅提高登录的速度。首先,打开 sshd_config 文件:

sudo nano /etc/ssh/sshd_config

找到 GSSAPI options 这一节,将下面两行注释掉:

#GSSAPIAuthentication yes
#GSSAPIDelegateCredentials no然后重新启动 ssh 服务即可:

sudo /etc/init.d/ssh restart

再登录试试,应该非常快了吧  

利用 PuTTy 通过证书认证登录服务器
SSH 服务中,所有的内容都是加密传输的,安全性基本有保证。但是如果能使用证书认证的话,安全性将会更上一层楼,而且经过一定的设置,还能实现证书认证自动登录的效果。

首先修改 sshd_config 文件,开启证书认证选项:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys修改完成后重新启动 ssh 服务。

下一步我们需要为 SSH 用户建立私钥和公钥。首先要登录到需要建立密钥的账户下,这里注意退出 root 用户,需要的话用 su 命令切换到其它用户下。然后运行:

ssh-keygen

这里,我们将生成的 key 存放在默认目录下即可。建立的过程中会提示输入 passphrase,这相当于给证书加个密码,也是提高安全性的措施,这样即使证书不小心被人拷走也不怕了。当然如果这个留空的话,后面即可实现 PuTTy 通过证书认证的自动登录。

ssh-keygen 命令会生成两个密钥,首先我们需要将公钥改名留在服务器上:

cd ~/.ssh
mv id_rsa.pub authorized_keys然后将私钥 id_rsa 从服务器上复制出来,并删除掉服务器上的 id_rsa 文件。

服务器上的设置就做完了,下面的步骤需要在客户端电脑上来做。首先,我们需要将 id_rsa 文件转化为 PuTTy 支持的格式。这里我们需要利用 PuTTyGEN 这个工具:

点击 PuTTyGen 界面中的 Load 按钮,选择 id_rsa 文件,输入 passphrase(如果有的话),然后再点击 Save PrivateKey 按钮,这样 PuTTy 接受的私钥就做好了。

打开 PuTTy,在 Session 中输入服务器的 IP 地址,在 Connection->SSH->Auth 下点击 Browse 按钮,选择刚才生成好的私钥。然后回到 Connection 选项,在 Auto-login username 中输入证书所属的用户名。回到 Session 选项卡,输入个名字点 Save 保存下这个 Session。点击底部的 Open 应该就可以通过证书认证登录到服务器了。如果有 passphrase 的话,登录过程中会要求输入 passphrase,否则将会直接登录到服务器上,非常的方便。

源:http://blog.istef.info/2008/10/0 ... r-on-ubuntu-server/
您需要登录后才可以回帖 登录 | 审核注册

本版积分规则

QQ|手机版|小黑屋|林海谐缘论坛 ( 豫ICP备07015145号 ) |
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论 | 管理员:linker(QQ:80555546) 群:3067918

GMT+8, 2024-11-21 19:16 , Processed in 0.039985 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表