下面我们来记录安装ubuntu server+gnome+Telnet+vsftp+XDCMP 的过程。
1、分区表的建立:
以前装RedHat,强调合理的建立分区,现在装ubuntu,手上有80G的空间,下面我来说一下我的分区是怎么建立的:
swap:2G,此分区的大小是由你的物理内存的大小决定,我的内存是1G,按照惯例,应是两倍的关系。
var:15G,单独建立该分区的目的是,Ubuntu系统存放deb文件的目录是/var/cache/apt/archive,之所以要留这么大的分区就是为了避免以后空间不够放,单独分出来也是为了每次安装的时候不用再去网络上下载下来,同时也可以格式化根分区。
Home:35G,用来存放各用户的文件,分区比较大。
/:23G,根文件系统。
2、执行ubuntu server的install to harddisk安装。(注意:此时一定要有输入用户名和密码的,此时输入的用户名和密码会被作为管理员的权限的,如果倒霉的话,可能会出现跳过输用户名和密码的情况)
3、修改/etc/apt/source.list文件,添加合适的的源来获得deb文件包。Dhclient eht0,来动态的获得ip.
4、apt-get update,获得当前server上面的最新的应用软件的列表。
5、apt-get upgrade
该命令会按照apt-get update获得软件列表,搜索/var/cache/apt/archives目录,如果发现服务器上的软件的版本和该目录下的版本一致的话,就会直接安装该目录下的deb文件包,否则会到你设定的源上去下载最新的版本。所以这就是我为什么将var目录单独分区的原因。注意这个命令的目的是将系统中已经安装的软件更新到最新的版本!
6、locales设置:语言设置选项
在这里你可以体会到linux真的是一个非常强大的系统,windows如果要更改语言系统,必须要重新安装软件,这就是windows存在多国语言版的原因。而linux非常方便,我们可以通过locales设置,将linux从英文版更改为中文版,下面我们来看看如何更改语言设置。
配置locales:
Locale –a:查看当前的locale环境,也就是当前的语言环境。
Locale –m:列出linux所支持的所有的locale语言环境。
我们要注意下面几个目录:
/var/lib/locales/supported.d/*:该目录下一般存在locale,zh,en三个文件,存放linux系统所支持locale设置,其格式与SUPPORTED一致,其文件的格式为:
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
前面代表字符的文件名,后面代表采用的编码格式是UTF-8。
/usr/share/i18n/SUPPORTED:该文件里面写入的是LINUX内核支持的语言环境。这一班是我们模仿的目标。
/usr/lib/locale/<locale_name>/LC_*:其中locale_name为指定的环境的名称,例如像上面的就是zh_CN.UTF-8。
/etc/environment:编辑这个文件可以手动的配置locales环境,例如设置LANG,LANGUAGE,LC_CTYPE等,这些变量的定义在/usr/lib/locale/<locale_name>这个目录下也可以看到!
所以我们为了配置中文的环境需要按照如下的来进行:
A、 在/var/lib/locales/supported.d/zh文件中添加中文支持:zh_CN.UTF-8 UTF-8
B、 修改环境变量文件/etc/enviorment文件,添加
LANG=”zh_CN.UTF-8”
LANGUAGE=”zh_CN:zh:en_US:en”
LC_CTYPE=”zh_CN.UTF-8”
C、 使用dpkg-reconfigure locales,产生你所需要支持的locales文件,这些文件会保存在
/usr/lib/locale/zh_CN.utf-8文件夹下面。也可以使用locale-gen来产生文件。
7、安装中文的字体支持:apt-get install xfonts-wqy
如果没有执行这一步的话,你在图形界面的方式下见到的所有的中文字都将是方块。非常重要的一步!
8、安装图形工作界面:
apt-get install x-window-system-core
apt-get install gdm
apt-get install xdm
apt-get install ubuntu-desktop
选择桌面管理器为gdm。这里你就会发现保存/var/cache/apt/archives目录是多么的重要!不然的话,你就会感到很痛苦的!
9、中文输入法支持:
这样完成安装过程之后,重启,系统正常,在图形界面之下:
系统---〉系统管理---〉语言支持---〉support language选chinese,再选ok,则系统自动安装scim输入法支持。
10、系统启动之后,网卡自动获得IP
目的是为了不进机房,远程可以自动的重启系统。方法是:将图形界面的网口设置为dhcp。
10、OpenOffice的几个问题:
A、菜单上中文显示不正常,显示的字符都是方框:
解决的办法有两个,一是打开一个终端,运行export LANG=”en_US oowriter”,然后运行soffice命令,该操作可以打开openoffice以英文菜单的方式。这样之后,在ToolsàOptions->language settint->language->user interface->选English(USA),这样就可以将菜单变成英文的,解决菜单乱码的问题。还有一种办法我们在后面再说,那种办法可以将整个菜单变成中文的。
B、更改了truetype目录之后,系统桌面上的任何字体都显示为方块,系统接近崩溃。
为了解决openoffice的中文正常输入的问题,我将我的系统中/usr/share/fonts/truetype/目录下的所有文件拷贝到服务器上,就造成所有的桌面框体的中英文字符都显示为方框。
/usr/share/fonts/目录下的字体文件是整个linux系统的核心,如果该目录存在问题的话,整个linux中文界面的中英文显示都将不正常。
其实造成这个问题的原因我也检查了很久,最后查到,问题很简单,就是因为我在拷贝目录的时候,/usr/share/fonts/truetype文件夹没有赋予其它用户访问的权限,即使是读,这就造成了出了管理员访问系统是显示正常,其它用户访问系统时,中英文字符显示为方框。
给整个目录下的所有文件添加相同属性的执行命令是:
Chmod –R 755 *
重新登陆系统,一切字符显示正常,但是word的中文输入还是没有解决问题。
D、 OpenOffice的所有的中文输入全部是方框!
这个问题我检查了将近一天的时间,OpenOffice自身是不会自带字库的,它使用的是linux系统中管
理的字库,即使用linux自带的字库,而linux自带的字库保存在/usr/share/fonts目录下面,包括中文字体,而在ubuntu系统中,使用的是defoma来管理这个字库,而该工具管理的目录在于:/var/lib/defoma/fontconfig.d/,该目录是按照音序来排列的,我们在这里需要使用ln -s 建立一个软连接连接到/usr/share/fonts的目录下的ttf文件上。这样做了之后,我们再在图形界面上打开OpenOffice-〉选项-〉OpenOffice Writer->标准字体(中日韩)->下面就可以选择你刚才添加的中文字库文件。同时,这样进行了修改之后,菜单和中文输入都能正常地显示中文。
11、telnet,linux的中文字符不能正常地显示,显示为乱码
Ubuntu安装telnet进程
2)more /etc/inetd.conf
## netbios-ssn stream tcp nowait root /usr/sbin/tcpd /usr/sbin/smbd
telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd
确保配置文件里有以上内容!
3)sudo /etc/init.d/openbsd-inetd restart
4)登录测试:
admin@ubuntu:~$ telnet 127.0.0.1
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
Ubuntu 7.04
ubuntu login: admin
使用xinetd配置telnetd服务没有成功:
由于我们系统采用xinetd来替换系统中本来存在的inetd服务器来管理所有的internet连接,这种服务方法是使用xinetd监听所有已经配置的服务的端口,只有当监听到相应到端口有连接的请求时,才调用相应的应用程序,例如telnetd调用的就是in.telnet程序,这种做法首先可以简化系统,当没有连接请求的时候,没有必要调用那么多程序到内存中来,所以可以节省系统资源。
注意看/etc/init.d/xinetd脚本,该脚本只检查/etc/xinetd.conf文件和/etc/xinetd.d/目录下的文件,并不检查/etc/inetd.conf文件,所以我们在/etc/xinetd.d目录下一定要按照格式创建telnet文件。
这样之后,系统可以正常地启动telnetd服务。但是中文字符不能正常的显示。
由于windows xp系统使用的是GB18030中文字符编码,而我们的中文linux环境是zh_CN.UTF-8,即linux使用的是UTF-8中文字符编码。两者的不匹配导致中文乱码,解决的办法在网上查了一下,只能更改linux的环境变量或者更换登陆工具,使用ssh,呵呵,在网上一查,可以很简单解决,办法就是使用putty,将终端字符集改成UTF-8,即中文显示正常。
12、XDCMP服务打开
将telnet命令行服务打开了之后,我们为了方便操作,必须要可以使用远程桌面的形式登陆到服务器上,给我们提供这种方便的就是X server,该server提供了一种协议来进行远程通信,这协议就是XDCMP,我们可以通过配置将该协议的支持打开。
/etc/gdm/gdm.conf文件:将XDCMP的Enable改为 Enable=true
端口打开 Port=177取消注释
/etc/X11/Xdm/Xaccess:该行改为
*# any host can get a login window
/etc/X11/Xdm/Xdm-config:该行改为
!displayManager.requestPort:0
/etc/inittab:默认运行级别改为
Id:5:initdefault
下面我们来介绍一下xdm/gdm/kdm之间的关系,xdm为x org系统的管理器,gdm为gnome桌面系统的管理器,kdm为kde桌面系统的管理器,而不论是gnome还是kde,他们都是基于x系统的。
最后我们要注意,在使用xManager作为客户端与server连接时最后关闭掉客户端的防火墙,因为client连接服务器的177端口来建立xdcmp连接,而X server会连接client的6000端口,如果防火墙存在的话,可能会出现能够登陆,但是显示不了桌面图标的情况。
添加用户,使用adduser交互命令的方式来完成。
12、vsftpd服务器
为了完成客户端和服务器端的文件交换,需要建立一个ftp服务器,故采用vsftpd,该种ftp服务器最大的特点就是安全。
Apt-get install vsftpd
安装完之后,修改/etc/vsftpd.conf,由于vsftpd支持两种方式启动,一种方式是单独启动,还有一种方式是通过inetd服务器启动,注意!由于我们的系统中安装的是xinetd服务器,所以不能正常地启动vsftpd服务器,所以必须要以单独的方式来启动vsftpd程序。完全修改/etc/vsftpd.conf文件。
客户端注意一定要采用filezilla工具,不然的话,依然会出现字符集不匹配的造成的乱码的问题!
13
Ubuntu下Ftp的软件有好多种:google一下:各种的一些大致特点:
wu-Ftp:比较老牌,但针对它的攻击比较多,设置比较麻烦,但功能比较强大。
proFtpd:能实现wu-Ftp以及server-U的所有功能。安全性也较高,但比起vsFtpd配置稍显复杂。
vsFtpd:功能强大,配置也比较简单
选vsftod是因为它安全、速度快
选proFtpd偶尔看到webmin支持他,所以就用了,因为方便。
选Serv-U理由windows普遍,Serv-U方便,但最大问题是盗版,所以现在不大用了
vsFtpd是大多是linux系统下自带的Ftp软件,而且像FREEBSD等网站都是采用,而且配置起来简单很多,所以我们也采用了vsFtpd
安装:
sudo apt-get install vsFtpd
配置:
备份一下源文件:
sudo cp /etc/vsFtpd.conf /etc/vsFtpd.conf.old
然后修改
sudo vi /etc/vsFtpd.conf
anonymous_enable=yes (允许匿名登陆)
dirmessage_enable=yes (切换目录时,显示目录下.message的内容)
local_umask=022 (Ftp上本地的文件权限,默认是077)
connect_form_port_20=yes (启用Ftp数据端口的数据连接)*
xferlog_enable=yes (激活上传和下传的日志)
xferlog_std_format=yes (使用标准的日志格式)
Ftpd_banner=XXXXX (欢迎信息)
pam_service_name=vsFtpd (验证方式)*
listen=yes (独立的VSFtpD服务器)*
功能:只能连接Ftp服务器,不能上传和下传
注:其中所有和日志欢迎信息相关连的都是可选项,打了星号的无论什么帐户都要添加,是属于Ftp的基本选项
开启匿名Ftp服务器上传权限
在配置文件中添加以下的信息即可:
Anon_upload_enable=yes (开放上传权限)
Anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)
Write_enable=yes (开放本地用户写的权限)
Anon_other_write_enable=yes (匿名帐号可以有删除的权限)
开启匿名服务器下传的权限
Anon_world_readable_only=no
注:要注意文件夹的属性,匿名帐户是其它(other)用户要开启它的读写执行的权限
(R)读-----下传 (W)写----上传 (X)执行----如果不开Ftp的目录都进不去
Local_enble=yes (本地帐户能够登陆)
Write_enable=no (本地帐户登陆后无权删除和修改文件)
功能:可以用本地帐户登陆vsFtpd服务器,有下载上传的权限
注:在禁止匿名登陆的信息后匿名服务器照样可以登陆但不可以上传下传
用户登陆限制进其它的目录,只能进它的主目录
设置所有的本地用户都执行chroot
Chroot_local_user=yes (本地所有帐户都只能在自家目录)
设置指定用户执行chroot
Chroot_list_enable=yes (文件中的名单可以调用)
Chroot_list_file=/任意指定的路径/vsFtpd.chroot_list
注意:vsFtpd.chroot_list 是没有创建的需要自己添加,要想控制帐号就直接在文件中加帐号即可
限制本地用户访问Ftp
Userlist_enable=yes (用userlistlai 来限制用户访问)
Userlist_deny=no (名单中的人不允许访问)
Userlist_file=/指定文件存放的路径/ (文件放置的路径)
注:开启userlist_enable=yes匿名帐号不能登陆
安全选项
Idle_session_timeout=600(秒) (用户会话空闲后10分钟)
Data_connection_timeout=120(秒) (将数据连接空闲2分钟断)
Accept_timeout=60(秒) (将客户端空闲1分钟后断)
Connect_timeout=60(秒) (中断1分钟后又重新连接)
Local_max_rate=50000(bite) (本地用户传输率50K)
Anon_max_rate=30000(bite) (匿名用户传输率30K)
Pasv_min_port=50000 (将客户端的数据连接端口改在
Pasv_max_port=60000 50000—60000之间)
Max_clients=200 (Ftp的最大连接数)
Max_per_ip=4 (每IP的最大连接数)
Listen_port=5555 (从5555端口进行数据连接)
查看谁登陆了Ftp,并杀死它的进程
ps –xf |grep Ftp
kill 进程号
配置的时候注意文件权限的问题,开启匿名和本地后,关键是文件权限的设置,为了给不同的用户分配不同的权限,可以生成一个组,例如Ftpuser,然后赋 予它何时的权限例如755,chroot()设置可以使得本地用户限制在登录时的目录,这对于安全很重要,可以这是local_root指定本地用户登录 时的目录,负责为/home下相应目录。
原文地址 http://blog.chinaunix.net/space.php?uid=20560620&do=blog&id=1924392