10/30/2007

主流远程登录客户端使用难点和比较

主流远程登录客户端使用难点和比较


搞Linux开发维护的,经常用到远程登录客户端。比较著名的产品有SecureCRT,SSH Secure Shell,Xmanager,PuTTY/PieTTY。本文对这些软件进行比较评价,偏重于解决字体和乱码问题。本人比较偏向于Linux带彩色的文本终端,黑底彩字,而且字体要比较肥厚,可以长时间操作。我觉得VC6.0编辑窗口的缺省的字体,就非常舒服。而这些软件缺省的界面,往往是白底黑字,字型黑瘦,有的没有彩色输出,在现在分辨率越来越高的显示器下效果不好,长时间使用眼睛非常疲劳。有的缺省配置不支持中文,所以也是本文关注重点。而对Xmanager,则重点在于如何能够在远程使用XWindows。


1.PieTTY
Putty是英国人开发的非常小巧的终端,PieTTY是台湾人林弘德(Hung-Te Lin, piaip)在PuTTY基础上开发的,增加了对亚洲语言的支持,所以使用PieTTY对中文支持是挺不错的。PieTTY是一款免费软件,非常小巧,才300多K,对中文支持也非常好。其最新版是2005年6月14日发布的0.3.27,可以到http://ntu.csie.org/~piaip/pietty/ 下载。
美化和解决中文乱码问题的配置:在登录时去掉English UI的选项,进去后是繁体中文菜单。在“选项”->字型菜单,设置字体为新宋体,粗体,小四。在汉字繁简转换选中将繁体转为简体。将“字源编码”选为Unicode-UTF8。在服务器端查看一下locale,如果不是zh_CN.UTF8,则在.bashrc中编辑输入export LANG=zh_CN.UTF8。重新登入,就能看见和输入中文。

2.SSH Secure Shell
该软件是共享软件,对个人用户免费。我没有找到很好解决中文乱码问题的方法。没有地方可以设置终端输出的字符编码。自带一个文件传输windows程序,方便使用。在没有中文的环境下还是不错的。
设置:Edit->Settings, Global Settings->Appearance,设置Font为Terminal 12,设置Colors的Foreground为white,Background为black,选中ANSI color复选框。即可看到比较舒服的界面。
文件传输,可以在Windows菜单下选new file transfer或new file transfer in current directory,即可进入文件传输窗口。

3.SecureCRT
SecureCRT 最新版本是5.5, 该软件是商业软件。在5.0以前对中文支持很不好,不能输入中文,拷贝中文也出现乱码。最新版支持Windows Vista,多个Session同时连接,对中文支持也好了很多。尽管输出的配置中文还是只能配UTF8。
美化和中文支持配置:菜单Options->Session options,在Terminal项,Emulation的Terminal选Linux,在Appearance项,Color scheme 选Taditional,Fonts里面选 Terminal 14,黑体,Character选UTF-8. 在服务端,同样修改.bashrc,加入export LANG=zh_CN.UTF8,再进入就能看见和输入中文了。
文件传输:菜单 Transfer里面有文本,Xmodem和Zmodem。文本传输可以传输文本文件。而Xmodem支持单个文件的传输。Zmodem支持多个文件的传输。在Session Options的对话框,可以配置Xmodem和Zmodem在本地的上传和下载的文件夹。
在终端中输入rz,将本地多个文件传入服务器。输入 sz 跟文件名,将文件传入本地。支持通配符。





4.Xmanager
Xmanager是韩国Netsarang公司开发的一款非常优秀的远程登录软件,支持Xwindows,即可以远程使用图形桌面。该软件是商业软件,最新版V2.1。具有相同功能的软件有X-Win32,最新版本V8,还有Exceed等,都是商业或共享软件。




Xmanager 有两个可以远程使用X桌面的程序,一个XBrowser(XDMCP),一个是Xstart。前者在操作系统配置正确的情况下,可以全面控制桌面。后者倾向于运行单个程序。Xbrowser 可以自动发现远程机器,跟Windows网上邻居一样,双击计算机图标即可登录,而且对中文支持非常好,速度也很快,不需要配置。

安全连接通道:由于XDMCP是通过UDP连的,所以不能建立安全连接。如果有这个需要,可以通过XStart建一个SSH的连接,Execution Command 选Xterm(Linux),其命令行为/usr/X11R6/bin/xterm -ls -display $DISPLAY, 选run。连接成功后,对KDE,运行startkde,对gnome,运行gnome-session,即启动Xwindows,注意,不是startX命令。

在私网内部使用远程登录Xwindows:因为使用Xwindows,必须要往本机发送信息。所以不能直接使用Xbrowser。 要想通过XDMCP使用SSH通道连接,就比较繁琐。首先,要启动Xshell,新建一个Session,Protocol选SSH,输入用户名,密码。点Setup按钮,在弹出对话框中选Tunneling页,新建一个TCP/IP forwarding,点Add按钮,在Forwarding Rule中,Type选Incoming,Listen Port输入6020,目标Destination host选localhost,Destination port同样选6020,OK。全部确定,保存。




再进入Xbrowser,Tools菜单,Options,新建地址中输入目标地址,加入到列表中。确定后,看到一个图标在Xbrowser内,将其save as一个新的,在新的图标上点右键,选属性,设置Proxy选项,Host输入0.0.0.0,端口输入6020.再选Xserver页,在Display Number中,去掉复选的自动分配显示号,在输入框中输入20. 输入20是因为上面配置Proxy时的端口是6020,取后面三位作为显示数。如果Proxy端口是6230,则显示数输入230.
确定保存后,双击该图标,即可在私网中通过SSH通道使用Xwindow了。

10/28/2007

RedHat Linux AS4 LAMP配置实例详解

RedHat Linux AS4 LAMP配置实例详解
Apache 是世界排名第一的Web 服务器, 根据Netcraf(www.netsraft.co.uk)所作的调查,世界上百分之五十以上的Web 服务器在使用Apache。
尤其是现在,使用LAMP(Linux + Apache + MySQL + PHP)来搭建中等级别的应用已经是一种流行的方式,因此,掌握Apache 的配置是系统工程师必备的技能之一。
使用LAMP(Linux + Apache + MySQL + PHP)来搭建中等级别的应用(尤其是电子商务)已经是一种流行的方式,因为全部是开源和免费的软件,所以成本非常低廉。本节介绍平台的搭建。在搭建平台时,也可以直接使用RPM 包来安装,但是由于使用RPM 包在一些系统上不支持,因此我们使用更通用的方法:直接从源代码来装。
Apache 的特性:
1) 几乎可以运行在所有的计算机平台上.
2) 支持最新的HTTP/1.1 协议
3) 简单而且强有力的基于文件的配置(HTTPD.CONF)
4) 支持通用网关接口(CGI)
5) 支持虚拟主机.
6) 支持HTTP 认证.
7) 集成PERL.
8) 集成的代理服务器
9) 可以通过WEB 浏览器监视服务器的状态, 可以自定义日志.
10) 支持服务器端包含命令(SSI).
11) 支持安全SOCKET 层(SSL).
12) 具有用户会话过程的跟踪能力.
13) 支持FASTCGI
14) 支持JAVA SERVLETS.

从源代码安装Apache
通常,对于大多数电子商务网站而言,都会有在线支付系统。为安全起见,对
于支付系统需要使用https 协议来进行访问,也就是需要SSL 的支持,因此,在开
始安装apache 软件之前,首先要安装OpenSSL。

安装OpenSSL 的步骤如下:
(1)获取源代码:
创建存放软件的目录:
mkdir /root/software (可以存放在任何自己想存放的目录)
到http://www.openssl.org/source/ 下载源代码包, 放到/root/software/。
本案例中下载的是openssl-0.9.8.tar.gz
(2)解压软件
tar -zxvf openssl-0.9.8.tar.gz
(3)进入源代码目录:
cd openssl-0.9.8
(4)配置编译选项:
./config --prefix=/usr/local/openssl --shared
--shared 的含义是创建共享库文件,如果不加,在编译时只生成静态库文件。
(5)编译:
make
make test #测试
(6)安装
make install
执行后将把相关的文件拷贝到/usr/local/openssl 的对应目录下。
*************************************************************
如果系统在安装的时候已经安装了openssl的话,可以用rpm –qf openssl查找rpm包安装目录以备apache安装的时候调用
如果想升级原有rpm包安装的openssl的话,按照以下几步操作:
A、 rpm –e –nodeps openssl(强制删除rpm包的openssl,尽量不要用远程登录方式作)
B、 将/usr/include/openssl 备份,并把/lib下两个指向libcrypto.so.0.9.7x和libssl.so.0.9.7x的软连接删除
C、安装 openssl-0.9.8.tar.gz (步骤如上面所说) 安装目录为 /usr/local/openssl
D、 手动修改lib库得软连接以备ssh和其他程序调用
ln –s /usr/local/openssl/lib/libcrypto.so.0.9.8 /lib/libcrypto.so.4
ln –s /usr/local/openssl/lib/libcrypto.so.0.9.8 /lib/libcrypto.so
ln –s /usr/local/openssl/lib/libssl.so.0.9.8 /lib/libssl.so
ln –s /usr/local/openssl/lib/libssl.so.0.9.8 /lib/libssl.so.4
E、 echo /usr/local/openssl/lib >> /etc/ld.so.conf
F、 ldconfig –v
G、 /etc/init.d/sshd restart
H、 Ssh –V 检查版本信息

*************************************************************************

在安装完OpenSSL 后,接下来就可以安装Apache 了,安装Apache 的步骤如下:
(1)获取源代码
创建存放软件的目录:
mkdir /root/software
到http://www.apache.org/下载最新稳定版的源代码,放到/root/software。
本案例中下载的是httpd-2.0.59.tar.bz2
(2)解压软件包
tar –jxvf httpd-2.0.59.tar.bz2
cd httpd-2.0.59
(3)配置编译选项
Apache 是模块化的服务器,核心服务器中只包含了功能最常用的模块,而扩展功能由其他模块提供。设置过程中,你必须指定需要包含的模块。Apache 文档中有模块清单备查,其中状态为"Base"的模块会被默认地包含进核心服务器,如果不需要包含某个模块(比如mod_userdir),则必须明确地禁用它;其他状态的模块(比如mod_expires),也必须明确启用以使之包含进核心服务器。
Apache 有两种使用模块的方法,其一是永久性包含进核心;如果操作系统支持动态共享对象(DSO),而且能为autoconf 所检测,则模块还可以被动态编译。DSO模块的存储是独立于核心的,可以被核心使用由mod_so 模块提供的运行时刻配置指令包含或排除。如果编译中包含有任何动态模块,则mod_so 模块会被自动包含进核心。如果希望核心能够装载DSO,而不实际编译任何动态模块,需要明确指定--enable-so。
在我们的电子商务网站中,一般情况下,核心模块功能我们全部启用;除此之外,我们还要启用SSL 加密(mod_ssl);为了使搜索引擎更容易收录我们的网页,需要将动态页面的URL 重写为静态页面的URL,需要mod_rewrite;为了今后动态添加模块而不重新编译apache(例如添加PHP 的支持),需要启用mod_so。基于上面的分析,我在配置编译选项时,推荐使用以下选项:
./configure --prefix=/usr/local/apache2 --with-ssl=/usr/local/openssl
--enable-ssl --enable-so --enable-rewrite --enable-mime-magic --enable-mem-cache
每个项目及网站的情况不同,如果还需要支持其它的模块,请在编译时使用相
应的选项。在工作或学习中,如有问题请及时到http://www.vfast.com/进行答疑。
(4)编译并安装
make
make install
从源代码安装PHP
PHP 是一种嵌入在 HTML 并由服务器解释的脚本语言。它可以用于管理动态
内容、支持数据库、处理会话跟踪,甚至构建整个电子商务站点。它支持许多流行
的数据库,包括 MySQL、PostgreSQL、Oracle、Sybase、Informix 和 Microsoft SQL
Server。
要使PHP 支持相关的功能那么在安装前需要安装相应的软件,例如要使PHP
支持MySQL 数据库,在编译PHP 之前,必须首先安装MySQL 数据库,关于MySQL
数据库的安装,查阅第9 章MySQL 数据库的安装。

在安装完Apache 和MySQL 后,可以开始安装PHP 了。安装PHP 的步骤如下:
(1)获取源代码
创建存放软件的目录:
mkdir /root/software (可以存放在任何自己想存放的目录)
到http://www.php.net/下载最新稳定版的源代码,放到/root/software。
本案例中下载的是php-5.1.4.tar.bz2
(2)解压
tar –jxvf php-5.1.4.tar.bz2
cd php-5.1.4
(3)配置编译选项
刚才已经提到,打算使用MySQL 来存储数据,因此必须要指名支持MySQL 数据(--with-mysql),并指名MySQL 数据的安装位置;如果需要处理XML 数据,需要 --wiht-xml 和 –with-dom; 如果需要使用PHP 脚本来生成图片, 需要使用--with-gd。
总之如果需要使用的功能的库文件不在系统路径内,必须要明确支持,如果不明确支持,那么配置脚本自动进行处理。集体需要使用什么功能,这取决于站点的PHP 脚本使用的函数大多数情况下,需要这样来配置编译选项:
./configure --prefix=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql
--with-mysql-sock=/usr/local/mysql/tmp/mysql.sock --with-xml --with-dom
--with-mcrypt --with-iconv --with-gd --with-mime-magic
--with-openssl=/usr/local/openssl --enable-ftp
其中--with-apxs2=/usr/local/apache2/bin/apxs 选项的作用是:在安装时会修
改APACHE 的配置文件,加入PHP 模块,同时将模块复制到apache 的模块目录下。
(4)编译并安装
make
make install
(5)拷贝php 的配置文件
cp php.ini-dist /usr/local/php/php/php.ini
在编译php 时使用--with-config-file-path=[dir]来明确指明配置文件的存储位置,那么就拷贝到指定位置,否则就拷贝到:安装目录/usr/local/php/

测试安装是否成功
要进行测试,vi /usr/local/apache2/conf/httpd.conf:
(1)修改DocumentRoot,的值,指定web 页面的存储位置
DocumentRoot "/ web"
(2)确保文件中已经存在并且启用下面的行
LoadModule php5_module modules/libphp5.so
(3)在文件中添加下面的行:
AddType application/x-httpd-php .php
目的是使以php 为扩展名的文件会使用PHP 程序来解析 。
(4)创建一个测试文件/web/vfast.php,其内容如下:
phpinfo();
?>
(5)启动apache 服务:
/usr/local/apache2/bin/apachectl start
(6)在浏览器中访问刚才的页面,例如:http://localhost/vfast.php
如果成功返回php 的相关信息,说明安装成功。

Linux 设置系统语言

linux 设置系统语言
修改 /etc/sysconfig/i18n 文件,如
LANG="en_US.UTF-8",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
还有一种方法 cp /etc/sysconfig/i18n $HOME/.i18n
修改 $HOME/.i18n 文件,如
LANG="en_US.UTF-8",xwindow会显示英文界面,
LANG="zh_CN.GB18030",xwindow会显示中文界面。
这样就可以改变个人的界面语言,而不影响别的用户

修改后的/etc/sysconfig/i18n 文件为:
LANG="en_US.UTF-8"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
LC_ALL="en_US.UTF-8"
export LC_ALL

设置完毕后重启或者用rc.local使生效


或修改登录用户的.bash_profile文件加入
export LANG=zh_CN.GB18030
export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN