存档

2008年7月 的存档

Ubuntu安装软件 转

2008年7月20日 没有评论

在Ubuntu里,安装软件其实很简单:

1)如果你已知道要安装的软件包的名,只需在终端里输入命令:
apt-get install ***(软件包名)

2)如果已下载了软件的deb包,那么,双击就行.

另外,在linux系统的软件中,有很多是rpm的,这种软件包在Ubuntu不能直接使用,若真的要使用,那要把rpm包转换成deb包

(1)装个将rpm包转换为deb包的小工具alien

apt-get install alien

(2)进入rpm所在的目录,输入命令

alien xxx.rpm(转换为deb包的rpm文件)

即可在本目录下生成一个xxx.deb
然后你双击就行了。

来自http://forum.ubuntu.org.cn

分类: 收集 标签:

扫盲行动之:轻松安装、卸载Linux软件

2008年7月20日 没有评论

以下三篇文单大部分内容是雷同的,懒得整理,所以全放上来了!!
  第一篇:
  
  
  Linux下软件的安装与卸载
  
  在Windows下安装软件时,只需运行软件的安装(setup、install等)或者用zip等解压缩软件解开即可安装,运行反安装(uninstall、unware、“卸载”等)就能将软件清除干净,完全图形化的操作界面,简单到只要用鼠标一直点击“下一步”就可以了。而Linux好象就不一样了,很多的初学者都抱怨在Linux下安装和卸载软件非常地困难,没有像使用Windows时那么直观。其实在Linux下安装和卸载软件也非常简单,同样也有安装向导或解压安装的方式,不相同的只不过是除了二进制形式的软件分发外,还有许许多多以源代码形式分发的软件包,下面就来详细地讲一讲这些软件的安装与卸载:
  
  一、二进制分发软件包的安装与卸载
  Linux软件的二进制分发是指事先已经编译好二进制形式的软件包的发布形式,其优点是安装使用容易,缺点则是缺乏灵活性,如果该软件包是为特定的硬件/操作系统平台编译的,那它就不能在另外的平台或环境下正确执行。
  1、*.rpm形式的二进制软件包
  安装:rpm -ivh *.rpm
  卸载:rpm -e packgename
  说明:RPM(RedHat Packge Manager)是RedHat公司出的软件包管理器,使用它可以很容易地对rpm形式的软件包进行安装、升级、卸载、验证、查询等操作,安装简单,而卸载时也可以将软件安装在多处目录中的删除干净,因此推荐初学者尽可能使用rpm形式的软件包。rpm的参数中-i是安装,-v是校验,-h是用散列符显示安装进度,*.rpm是软件包的名(这里的*.rpm特指*.src.rpm以外的以rpm为后缀的);参数-e是删除软件包,packgename是软件包名,与软件包的名有所区别,它往往是名中位于版本号前面的串,例如apache-3.1.12-i386.rpm和apache-devel-3.1.12-i386.rpm是软件包名,它们的软件包名称分别是apache和apache-devel。更多的rpm参数请自行参看手册页:man rpm。
  如果你不喜欢在界面下安装或卸载这些软件包,完全可以在X-Window下使用图形界面的软件包管理,如glint、xrpm这样的图形接口,或者是KDE的kpackge等,这样对软件包的安装、升级、卸载、验证和查询就可以通过点击鼠标来轻松完成。
  2、*.tar.gz/*.tgz、*.bz2形式的二进制软件包
  安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2
  卸载:手动删除
  说明:*.tar.gz/*.bz2形式的二进制软件包是用tar工具来打包、用gzip/bzip2压缩的,安装时直接解包即可。对于解压后只有单一目录的软件,卸载时用命令“rm -rf 软件目录名”;如果解压后分散在多处目录中,则必须一一手动删除(稍麻烦),想知道解压时向系统中安装了哪些,可以用命令“tar ztvf *.tar.gz”/“tar ytvf *.bz2”获取清单。tar的参数z是调用gzip解压,x是解包,v是校验,f是显示结果,y是调用bzip2解压,t是列出包的清单。更多的参数请参看手册页:man tar。
  如果你更喜欢图形界面的操作,可以在X-Window下使用KDE的ArK压缩档案管理工具。
  3、提供安装的软件包
  这类软件包已经提供了安装脚本或二进制的安装向导(setup、install、install.sh等),只需运行它就可以完成软件的安装;而卸载时也相应地提供了反安装的脚本或。例如SUN公司的StarOffice办公软件套件就使用名为setup的安装,而且在软件安装后提供反安装的功能,目前这种类型的软件包还比较少,因其安装与卸载的方式与Windows软件一样,所以就无需多讲了。
  
  二、源代码分发软件包的安装与卸载
  Linux软件的源代码分发是指提供了该软件所有源代码的发布形式,需要用户自己编译成可执行的二进制代码并进行安装,其优点是配置灵活,可以随意去掉或保留某些功能/模块,适应多种硬件/操作系统平台及编译环境,缺点是难度较大,一般不适合初学者使用。
  1、*.src.rpm形式的源代码软件包
  安装:rpm -rebuild *.src.rpm
  cd /usr/src/dist/RPMS
  rpm -ivh *.rpm
  卸载:rpm -e packgename
  说明:rpm –rebuild *.src.rpm命令将源代码编译并在/usr/src/dist/RPMS下生成二进制的rpm包,然后再安装该二进制包即可。packgename如前所述。
  2、*.tar.gz/*.tgz、*.bz2形式的源代码软件包
  安装:tar zxvf *.tar.gz 或 tar yxvf *.bz2 先解压
  然后进入解压后的目录:
  ./configure 配置
  make 编译
  make install 安装
  卸载:make uninstall 或 手动删除
  说明:建议解压后先阅读说明,可以了解安装有哪些需求,有必要时还需改动编译配置。有些软件包的源代码在编译安装后可以用make install命令来进行卸载,如果不提供此功能,则软件的卸载必须手动删除。由于软件可能将分散地安装在系统的多个目录中,往往很难把它删除干净,那你应该在编译前进行配置,指定软件将要安装到目标路径:./configure –prefix=目录名,这样可以使用“rm -rf 软件目录名”命令来进行干净彻底的卸载。与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。
  
  关于Linux下软件的安装与卸载lanche已经讲了这么多,但可能还会有人问怎么知道一个tar.gz/bz2包是二进制包呢还是源代码包?如果你用过压缩工具就会明白,压缩包未必就是软件,它也可能是备份的许多图片,也可能是打包在一起的普通资料,要分辨它到底是什么最好的办法就是查看包里的清单,使用命令tar ztvf *.tar.gz / tar ytvf *.bz2或者在X-Window下使用图形化的ArK压缩档案管理工具都可以,源代码包里的往往会含有种种源代码,头*.h、c代码源*.c、C++代码源*.cc/*.cpp等;而二进制包里的则会有可执行(与软件同名的往往是主执行),标志是其所在路径含有名为bin的目录(仅有少数例外)。原来这么简单呀,还不快点自己试试!
  
  
  第二篇:
  
  如何安装Linux的软件
  
  在windows下安装软件大家都觉得很容易,只要双击setup或是install的图标,然后跟着向导一步一步的按提示做就可以了,但是在linux下安装软件就不像windows下那样容易了,有时你找到的是没有编译过的软件源码,那就更加的麻烦了,这里就介绍一下如何安装linux的软件啦!
  linux下的软件一般都是经过压缩的,主要的格式有这几种:rpm、tar、tar.gz、tgz等。所以首先拿到软件后第一件事就是解压缩。
  一、在xwindow下以rpm格式的软件安装比较容易,只要在把鼠标移到上单击右键,在弹出的菜单里会有专门的三项(只有在右键单击rpm才会出现)show info,upgrade和install,这三项的意思大家都很清楚了,我就不多说了。rpm格式说了,接着就是tar,tar.gz,tgz等,在xwindow下双击这些格式的就会自动解压缩的,是解压缩而不是像rpm那样有install选项的,install会在你解压缩后才出现,不过这里我要先说一下,在你双击install前建议先好好看一下readme,因为你所要安装这些软件可能是没有编译的,所以看一下会比较好。
  二、说完了xwindow下的安装和解压缩,接着说在文本模式下如何解压缩和安装,还有编译源码了。首先说rpm的,以root身份登陆后(用其他的身份登陆也可以但有些软件就不能被安装)键入rpm -i你所要解压缩的+扩展名(当然是rpm)也不是很难吧,这里我要说的是“-i”意思是install,如果你想要卸载或是要执行其他的指令就打rpm --help,看电脑给你的提示吧,为了照顾那些E文不太好的人我这里就写几个常用的参数:-e:卸载相关的应用,-U(注意是大写):升级软件包, -pql:列出rpm软件包的相关信息,-qf:查找指定属于哪个软件包。至于那些其他格式的软件则可以用gunzip,gzip,tar和unzip等指令来解压缩,然后再运行install。通过解包后会得到一些,然后进入刚才解压缩后目录用“ls -F -color”指令看一下所得到的,一般有两种情况:第一种是为已经编译好的(无须再编译了)用上面的察看命令会以带“*”标记的亮绿色显示;第二种则是需要由你自己编译的源代码。得到的是源代码的话,就需要我们自己编译来得到可运行的。编译源代码听到编译是不是就吓到你了呢,其实说穿了也就加上几句话而已,对初学者是有些困难想用好的操作系统就需要学习嘛,等你学会了在MM前露一手的时候想想吧……,在编译之前先要认真的阅读一下readme文档,老鸟们就不需要了吧,等你阅读完了以后就执行
  ./configure
  make
  make install(只有Root身份才能执行此命令),编译完成之后便会在当前目录或src子目录下得到软件的可执行。
  介绍完了,大家是不是觉的RPM的软件安装比较容易一点呢,但我个人意见初学者还是多选择RPM格式以外的软件,因为通过编译软件的源码可以为你以后编译内核打下一定的基础。(上海 张国荣)
  
  
  第三篇:
  
  轻松安装、卸载Linux软件
  
  Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载或在控制面板中的“添加/删除”来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工具是在命令行下使用的。在Shell的提示符后输入rpm,就可获得该命令的帮助信息。
  
  软件的安装
  Linux下软件的安装主要有两种不同的形式。第一种安装名为xxx.tar.gz;另一种安装名为xxx.i386.rpm。以第一种方式发行的软件多为以源码形式发送的;第二种方式则是直接以二进制形式发送的。
  
  对于第一种,安装方法如下:
  
  1.首先,将安装拷贝至你的目录中。例如,如果你是以root身份登录上的,就将软件拷贝至/root中。
  
  #cp xxx.tar.gz /root
  
  2.由于该是被压缩并打包的,应对其解压缩。命令为:
  
  #tar xvzf filename.tar.gz
  
  3.执行该命令后,安装按路径,解压缩在当前目录下。用ls命令可以看到解压缩后的。通常在解压缩后产生的中,有“Install”的。该为纯文本,详细讲述了该软件包的安装方法。
  
  4.执行解压缩后产生的一个名为configure的可执行脚本。它是用于检查系统是否有编译时所需的库,以及库的版本是否满足编译的需要等安装所需要的系统信息。为随后的编译工作做准备。命令为:#./configure。
  
  5.检查通过后,将生成用于编译的MakeFile。此时,可以开始进行编译了。编译的过程视软件的规模和计算机性能的不同,所耗费的时间也不同。命令为:#make。
  
  6.成功编译后,键入如下的命令开始安装:
  
  #make install
  
  7.安装完毕,应清除编译过程中产生的临时和配置过程中产生的。键入如下命令:
  
  #make clean
  #make distclean
  
  至此,软件的安装结束。
  
  对于第二种,其安装方法要简单得多。
  
  同第一种方式一样,将安装拷贝至你的目录中。然后使用rpm来安装该。命令如下:
  
  #rpm -i filename.i386.rpm
  
  rpm将自动将安装解包,并将软件安装到缺省的目录下。并将软件的安装信息注册到rpm的中。参数i的作用是使rpm进入安装模式。
  
  软件的卸载
  1.软件的卸载主要是使用rpm来进行的。卸载软件首先要知道软件包在系统中注册的名称。键入命令:
  
  #rpm -q -a
  
  即可查询到当前系统中安装的所有的软件包。
  
  2.确定了要卸载的软件的名称,就可以开始实际卸载该软件了。键入如下命令即可卸载软件:
  
  #rpm -e [package name]
  
  参数e的作用是使rpm进入卸载模式。对名为[package name]的软件包进行卸载。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。你可以使用如下的命令来忽略依赖关系,直接开始卸载:
  
  #rpm -e [package name] -nodeps
  
  忽略依赖关系的卸载可能会导致系统中其它的一些软件无法使用。
  
  补充:
  
  如果是以.bin结尾的二进制软件,可以用以下方法安装(以so-6_0-beta-bin-linux-zh-Tw1.bin为例):
  
  在so-6_0-beta-bin-linux-zh-Tw1.bin所在夹下运行模拟终端
  输入:
  ./so-6_0-beta-bin-linux-zh-Tw1.bin
  并按回车!
  
  当然也可以输入:
  ./so 再用[Tab]键补全
  
  (./表示当前目录,如果终端不在该软件所在目录下打开,则在软件名前尚需输入相应的路径。)
  
  如果在图形界面,也可直接单击(或双击,视具体的鼠标设置而定)进行安装!

来源:http://www.xhit.cn/html/computer/Linux/20070513/4845.html

分类: 收集 标签:

新手入门:Linux软件安装常用方法

2008年7月20日 没有评论

软件安装常用方法

1、软件安装卸载,分几种情况:

A:RPM包,这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装非常方便,在图形界面里你只需要双击就能自动安装。
==如何卸载:
1、打开一个SHELL终端
2、因为LINUX下的软件名都包括版本号,所以卸载前最好先确定这个软件的完整名称。
查找RPM包软件:rpm -qa ×××*
注意:×××指软件名称开头的几个字母,不要求写全,但别错,*就是通配符号“*”,即星号,如你想查找机子里安装的REALPLAYER软件,可以输入:rpm -qa realplay*
3、找到软件后,显示出来的是软件完整名称,如firefox-1.0.1-1.3.2
执行卸载命令:rpm -e firefox-1.0.1-1.3.2
===安装目录,执行命令查找:rpm -ql firefox-1.0.1-1.3.2
===参考文章:http://blog.chinaunix.net/article.p…178&blogId=1438

B:tar.gz(bz或bz2等)结尾的源代码包,这种软件包里面都是源程序,没有编译过,需要编译后才能安装,安装方法为:
1、打开一个SHELL,即终端
2、用CD 命令进入源代码压缩包所在的目录
3、根据压缩包类型解压缩文件(*代表压缩包名称)
tar -zxvf ****.tar.gz
tar -jxvf ****.tar.bz(或bz2)
4、用CD命令进入解压缩后的目录
5、输入编译文件命令:./configure(有的压缩包已经编译过,这一步可以省去)
6、然后是命令:make
7、再是安装文件命令:make install
8、安装完毕
===如何卸载:
1、打开一个SHELL,即终端
2、用CD 命令进入编译后的软件目录,即安装时的目录
3、执行反安装命令:make uninstall
====安装目录:注意make install命令过程中的安装目录,或者阅读安装目录里面的readme文件,当然最好的办法是在安装的过程中指定安装目录,即在./configure命令后面加参数–prefix=/**,
如:./configure –prefix=/usr/local/aaaa,即把软件装在/usr/local/路径的aaaa这个目录里。一般的软件的默认安装目录在/usr/local或者/opt里,可以到那里去找找

C:以bin结尾的安装包,这种包类似于RPM包,安装也比较简单
1、打开一个SHELL,即终端
2、用CD 命令进入源代码压缩包所在的目录
3、给文件加上可执行属性:chmod +x ******.bin(中间是字母x,小写)
3、执行命令:./******.bin(realplayer for linux就是这样的安装包)
===如何卸载:把安装时中选择的安装目录删除就OK
===执行安装过程中可以指定,类似于windows下安装。

2、安装完软件后如何执行。 安装完软件后可以有好多种方法执行软件:
A、有些软件安装后会自动在应用程序列表里加上快捷键,和windows一样,到那里找就行了。
B、如果在应用程序列表里找不到的话,可以直接在/开始/运行命令里输入命令:启动命令一般就是软件名,如firefox,realplay,xmms等
C、也可以打开一个shell终端,输入软件名,和在“运行命令”里一样。如果不知道命令全程的话,可以输入开头的字母,然后按tab键查找,系统会自动显示以输入字母开头的所有命令/
D、你也可以直接到安装目录下运行启动文件,linux下的可执行图标和shell终端图标很像
E、到/usr/bin目录里找安装的软件启动文件执行命令。linux系统把所有可执行的文件命令在/usr/bin目录里都作了启动连接,你可以去那个目录寻找你安装的文件的启动命令,双击启动

来源:http://linux.chinaitlab.com/set/42258.html

分类: 收集 标签:

WHM的帮助文档

2008年7月18日 没有评论
分类: 收集 标签:

人来疯技术文档之vsftp配置大全

2008年7月17日 没有评论
分类: 收集 标签:

Apache定义虚拟主机

2008年7月15日 没有评论

NameVirtualHost字段

 需要使用基于域名的虚拟主机,必须定义NameVirtualHost,这样会把这个NameVirtualHost看成一组

分类: 收集 标签:

Apache基本配置指南(给新手看)

2008年7月15日 没有评论
当初学的时候做的笔记,不是很全,别笑俺。欢迎老手们修正和补充

1、如果找不到文件的具体位置,在Linux下可以用类似locate httpd.conf的指令来搜索文件的位置。如果搜索不到,可以先用updatedb指令更新索引数据库再用locate搜索。

2、apachectl configtest或apachectl –t检查配置文件是否合法。apachectl一般位于安装目录的bin目录下(如:/usr/local/apache2/bin)。不要直接调用httpd。

3、配置文件是httpd.conf;在Linux系统中,它可能存在于系统配置目录(如:/etc/httpd/conf/),也可能存在于Apache的安装目录(如:/usr/local/apache2/conf)。

4、配置文件中,一行包含一个指令,但行尾可以用\表示续行。\与下一行之间不能有其它任何字符,包括空白字符。
#表示这一行是注释。

5、指令对大小写不敏感,但是参数对大小定敏感,在Linux系统下,路径也要注意大小写。路径后不必加/。

6、类似于<Directory></Directory>表示一个配置段。大多数配置段中的指令仅针对配置段所匹配的请求有效。但诸如        <IfDefine>、<IfModule>、<IfVersion>之类,是在Apache启动时,如果条件成立才有效,并且对所有请求都有效。

httpd.conf的基本配置选项

7、ServerName服务器名称。它用来创建URL的重导向。ServerName是apache服务器自身识别访问请求的标记之一,他不必与实际IP或DNS名称一致。也可以不设置,如果这样,那apache会试图用IP来作为请求的标记。端口也可以不设置。
例:ServerName www.example.com:80

8、ServerAdmin管理员的电子邮件地址。服务器的错误提示页会用到。如果ServerSignature定义为Email的话,将在错误页的页尾增加ServerAdmin的链接。

9、Listen服务器监听的地址和端口。端口一定要指定。默认情况下,服务器会监听本机的所有地址。可以同时使用多个Listen指令。
例一:同时所有接受来自端口80和8000的请求
    Listen 80
    Listen 8080
例二:指定地址+端口,配置虚拟主机时,会需要这样设置。详细看虚拟主机的设置。这并不是必要的。
    Listen 192.168.0.2:80
    Listen 192.168.0.1:8080
    注意地址是本机的地址,是指客户端对本机某个地址的请求。地址可以是域名,但最好是IP地址。
例三:IPv6地址必须用方括号括起来。
    Listen [2001:db8::a00:20ff:fea7:ccea]:80
例四:要使Apache只处理IPv4的请求,只需如此:
    Listen 0.0.0.0:80

10、ServerRoot 服务器基础目录,一般就是Apache的安装目录,不必更改。

11、DocumentRoot 指定主目录。不指定的话,默认目录一般是ServerRoot目录下的htdocs目录(如/usr/local/apache2/htdocs),视版本而定;但是可能会有例外,所以最好指定。如果指定相对路径,则认为是相对于ServerRoot目录的。目录后不要加/。

12、DirectoryIndex 默认首页名称。多个默认页名称用空格隔开。

13、ErrorDocument 处理请求出错时的处理方式。未配置时只返回错误代码。
例:
    ErrorDocument 500 “The server made a boo boo.”
    # 指定本地URL时,该URL是相对于DocumentRoot目录的。
    ErrorDocument 404 /missing.html
    ErrorDocument 404 “/cgi-bin/missing_handler.pl”
    # 使用绝对URL时,客户机将无法收到错误码。
    ErrorDocument 402 http://www.example.com/subscription_info.html

14、ErrorLog,CustomLog 指定错误日志和访问日志。如果指定路径是相对路径,则认为是相对ServerRoot目录的。日志文件可能会很大,以至影响到其它文件的储存空间,所以有必要把日志文件放到一个单独的分区。
例一:
    ErrorLog /var/log/error_log
    # commom是日记文件的格式,由LogFormat定义。不可用于ErrorLog。
    Customlog /var/log/access_log common
例二:管道日志,可以用Apache提供的rotatelogs来实现。rotatelogs程序一般位于安装目录的bin目录。
    # 这将每24小时建立日志文件/var/log/logfile.nnnn,nnnn是日记建立时的系统时间。
    CustomLog “|bin/rotatelogs /var/log/logfile 86400”common
    # 日志文件达到5M时建立新日记,文件名类似于logfile.2006-12-30-24_33_12。
    ErrorLog “|bin/rotatelogs /var/log/logfile.%Y-%m-%d-%H_%M_%S 5M”

15、User, Group 指定运行服务子进程的用户和组。Rpm包安装apache时会自动设置一个用户和组,但有时会设成nobody或者不设置。为了安全和方便管理,设置为用户和组为apache是很重要的。
例:User apache
    Group apache
注意在Linux系统中手动添加apache用户和组时,必须把他们的shell指定为nologin

虚拟主机

16、虚拟主机通过<VirtualHost>配置段来配置,配置段里的指令对虚拟主机有效,配置段没有配置的,将采用全局的配置。检查虚拟主机的配置可用apachectl –S(可能某些版本这个参数无效)。

17、基于域名的虚拟主机在DNS把多个域名都映射到同一IP的情况下有用。典型的配置如下:
NameVirtualHost *:80
<VirtualHost *:80>
    ServerAdmin webmaster@test.com
    DocumentRoot /www/docs/test.com
    ServerName test.com
    ErrorLog logs/dummy-host.example.com-error_log
    CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /www/docs/test2.com
    ServerName test2.com
</VirtualHost>

NameVirtualHost *:81
<VirtualHost *:81>
    DocumentRoot /www/docs/test3.com
    ServerName test3.com
</VirtualHost>
    注意一:NameVirtualHost 指定虚拟主机所使用的IP地址或域名,但是最好是IP地址。使用基于域名的虚拟主机时,NameVirtualHost是必要的指令。NameVirtualHost可以定义多个。
    注意二:所有符合NameVirtualHost或<VirtualHost>标签定义的请求,都会被作为虚拟主机处理,而主服务器将不理会。NameVirtualHost定义了而<VirtualHost>标签没有定义的的请求,服务器会找不到相应的虚拟主机而将无法处理。所以每个NameVirtualHost定义的参数至少要有一个<VirtualHost>相匹配。
    注意三:如果设置NameVirtualHost 或<VirtualHost>为*:80的话,所有针对80端口的请求,都会被虚拟主机处理,请求会根据域名指向某个虚拟主机。如果有来自80端口的请求,而所请求的域名没有被配置为虚拟主机,那将指向第一个虚拟主机。这样主服务器将无法收到来自80端口的任何请求。为此也要为主服务器配置一个虚拟主机。

18、ServerAlias 虚拟主机的别名
例:
    NameVirtualHost *:80
    <VirtualHost *:80>
        ServerName www.domain.tld
        ServerAlias domain.tld *.domain.tld
        DocumentRoot /www/domain
    </VirtualHost>
    这表示对 domain.tld和*.domain.tld的请求也由虚拟主机www.domain.tld处理。

19、ServerPath指令是用于让某些老式浏览器也访问基于域名的虚拟主机的,一般不必设置。

20、基于IP地址的虚拟主机。例:
Listen 80
<VirtualHost 172.20.30.40>
    DocumentRoot /www/example1
    ServerName www.example.com
</VirtualHost>
<VirtualHost 172.20.30.50 192.168.0.10:80>
    DocumentRoot /www/example2
    ServerName www.example.org
</VirtualHost>
每个虚拟主机可定义多个IP,之间用空格隔开。

21、各种虚拟主机的混用。例:
Listen 80
Listen 81

NameVirtualHost 172.20.30.40
<VirtualHost 172.20.30.40>
DocumentRoot /www/example1
ServerName www.example.com
</VirtualHost>
<VirtualHost 172.20.30.40>
DocumentRoot /www/example2
ServerName www.example.org
</VirtualHost>

NameVirtualHost 172.20.30.40:81
<VirtualHost 172.20.30.40:81>
DocumentRoot /www/example3
ServerName www.example3.net
</VirtualHost>

# IP-based
<VirtualHost 172.20.30.50>
DocumentRoot /www/example4
ServerName www.example4.edu
</VirtualHost>
<VirtualHost 172.20.30.60:81 172.20.30.40:81>
DocumentRoot /www/example5
ServerName www.example5.gov
</VirtualHost>

22、虚拟主机混用时的问题:
一、虚拟主机混用可以这样理解:一行NameVirtualHost指令定义的所有虚拟主机为一组;该组与一个基于IP的虚拟主机平级。即把一行NameVirtualHost定义的整个组看作是一个基于IP的虚拟主机。
二、虚拟主机指定的端口必须是Listen定义的。如果虚拟主机没有指定端口,则认为是80端口。如果NameVirtualHost * 这样定义,是指所有地址的所有已定义端口。
三、更具体的地址定义优先。比如NameVirtualHost指令定义了*:80,而某个基于IP的虚拟主机定义为192.168.0.1:80,那么此时如有对192.168.0.1:80的请求,那请求会被优先指向192.168.0.1:80定义的虚拟主机。所以为了避免混乱,不要定义相互有交叉或包含的地址区间。
四、一个虚拟主机,可以同时为基于域名和基于IP的。如上一例中最后一个虚拟主机。这样符合两种定义的请求都会被指同一个虚拟主机。有时要区别内外网对虚拟主机的访问时可以这样,因为来自内网的请求可能和来自外网的请求可能不一样,但是它们需要指向同一个虚拟主机。

23、使用”_default_”虚拟主机,这个虚拟主机可以理解成基于IP的虚拟主机。例:
<VirtualHost _default_:*>
    DocumentRoot /www/default
</VirtualHost>
这个虚拟主机将接管与其它虚拟主机IP和端口不匹配的请求。不过如此一来,主服务器将不会处理任何请求。因此把主服务器配置成一个虚拟主机是必要的。

24、本地机器代理在其它机器上运行的虚拟主机。例:
<VirtualHost 158.29.33.248>
    ProxyPreserveHost On
    ProxyPass /foo/no !
    ProxyPass /foo http://192.168.111.2
    ProxyPassReverse /foo http://192.168.111.2
    ServerName hostname.example.com
</VirtualHost>
    一、首先这是一个基于IP的虚拟主机,它接收并处理对IP地址158.29.33.248的请求。
    二、ProxyPass /foo http://192.168.111.2 将把对http://158.29.33.248/foo的请求转换为一个代理请求,该请求指向http://192.168.111.2
    三、ProxyPass /foo/no ! 不代理针对/foo/no的请求。这个必须放在正常代理指令之前。
    四、ProxyPreserveHost On 意思是传送原始请求的Host信息给被代理的机器。
    五、ProxyPassReverse /foo http://192.168.111.2 可以保证请求URL在其它机器上被重定向后,本机处理时也可以保持一致。具体看手册关于反向代理的部分。
    六、基于域名的虚拟主机也是同样的道理。不管是什么类型的虚拟主机,它只是处理归它处理的请求而已。

配置段

25、<IfDefine> 只有在用httpd命令行启动服务器时(最好不要直接使用httpd,用apachectl代替),使用了-D参数定义了相应参数时才生效。如服务器用apachectl –D test启动时,<IfDefine test>配置段生效。

26、<IfVersion> 例如:<IfVersion >= 2.0.55> 当Apache版本不低于2.0.55时生效。

27、<IfModule> 服务器启用了指定的模块后才生效。这是最常用的。例如<IfModule mod_mine_magic.c>。

28、<Directory> 用于封装一组指令,使之对某个目录和下属的子目录有效。
例:
    <Directory />
        Options FollowSymLinks Indexes
        AllowOverride None
        Order Deny,Allow
        Deny from All
        Allow from example.com
    </Directory>
    该配置段对整个根目录树有效。
    一、Options 常用选项:FollowSymlinks允许在此目录中使用符号链接;Indexes允许目录列表,即在该目录没有默认页时服务器返回该目录的列表给客户机;SymLinksIfOwnerMatch只有符号链接与其目的目录或文件属于同一用户时才有效。
    注意:对同一目录,只有一行Options有效,如果定义某个目录的Options同时要继承上级目录的定义,可以这样:Options +Indexes。如果这样:Options +Indexes –FollowSymLinks,这将为本级目录增加Indexes,取消FollowSymLinks。
    二、AllowOverride 常用选项:None 不允许使用.htaccess;All允许在.htaccess中使用所有的指令。一般不必使用.htaccess,而且为了安全和效率起见,设置为None比较好。
    三、Order 访问控制,控制条件由Deny行和Allow行定义。Order指令常用选项:Deny,Allow 除了符合条件的外,其它的也允许访问;Allow,Deny 除了符合条件的外,其它的不允许访问。
    Deny from All是拒绝所有的访问,Allow from example.com是允许example.com域访问该目录(意思是如果该服务器上有多个虚拟主机的话,只有example.com可以访问该目录)。三行合起来的意思就是只允许example.com域访问根目录。当然这只是个例子,应该禁止所有域对根目录的访问。注意:Deny,Allow指令生效的顺序取决于Order中Deny和Allow的顺序。
    注意<Directory>不能嵌套。
    这样为了安全起见常常需要设置:
    #拒绝对所有目录的访问,注意这里的/是指操作系统的根目录,而非DocumentRoot目录。
    <Directory />
        Options –Indexes -FollowSymLinks
        AllowOverride None
        Order Allow,Deny
    </Directory>
    #允许所有对/var/htdocs的访问,允许对/var/htdocs的文件列表。
    <Directory /var/htdocs>
        Options +Indexes
        Order Deny,Allow
    </Directory>

29、<Files>和<Directory>类似,不过它定义的是对文件的访问控制。它们都可以接受正则表达式为参数,格式如<Files ~ “\.(gif|jpe?g|png)$”>或者<FilesMatch “\.(gif|jpe?g|png)$”>。

30、<Location>与<Files>和<Directory>同,不过它定义的是对URL的访问控制。

PHP配置

31、加载php模块:LoadModule php5_module modules/libphp5.so

32、AddModule mod_php5.c (不是必须的)

33、哪种后缀的文件作为php脚本来解析:AddType application/x-httpd-php .php (这是必须的,但是可以用下面的配置代替):
<Files *.php>
    SetOutputFilter PHP
    SetInputFilter PHP
</Files>
这种方法还可以为.php文件专门设置更多的配置。

34、哪种后缀的文件是php源文件:Addtype application/x-httpd-php-source .phps (不是必须的)

35、添加index.php为目录首页:DirectoryIndex index.php(视情况而定)

36、ScriptAlias /php/ /usr/local/php/ 对类似http://example/php/abc.php的请求将引导执行/usr/local/php/abc.php脚本。 (一些所谓配置指南里有,事实上完全没有这个必要。并且ScriptAlias这个指令是针对CGI脚本的。他会把php脚本也当作已定义的cgi脚本处理)。

37、Action application/x-httpd-php “C:/PHP/php.exe” 所有application/x-httpd-php类型的文件都由C:/PHP/php.exe来处理,注意application/x-httpd-php必须是已经定义的文件类型。 (只有在windows中以CGI模式安装PHP时才有用)。

38、事实上,必要的配置只有这么两条:
    LoadModule php5_module modules/libphp5.so
    AddType application/x-httpd-php .php
可以把相关php的配置语句都放在一起便于管理。简单至此,不要被一些配置指南吓住了。

环境变量、URL重写和防盗链

来源:http://www.phpchina.com/bbs/viewthread.php?tid=38848

分类: 收集 标签:

ispCP取代VHCS

2008年7月15日 没有评论

有名的虚拟主机管理软件VHCS已经停止开发了,大部分核心成员已经转移到ispCP。

ispCP是一个基于VHCS的新的控制软件,对进行主机管理,遵循GPL(V2)和MPL。

截止到我写文章时(7月8日) ,版本发展到了1.0.0RC2c了。

ispCP官方地址:http://www.isp-control.net/

来源:http://goto8848.net/2007/07/ispcp%E5%8F%96%E4%BB%A3vhcs/

分类: 收集 标签:

开源的主机管理系统/虚拟主机控制面板

2008年7月15日 没有评论

open source hosting control panel(开源主机控制面板)ISPConfig/RavenCore
Control Panel Software for shared, reseller, virtual and dedicated server managemen(共享主机独立服务器管理控制面板软件)VHCS
System Control Panel is a server administration tool(服务器管理工具:系统控制面板)SysCP
open source web hosting control panel(开源web主机管理控制面板)Web-CP
maintaining commercial (PayPal) or free (with header, footer and pop-up) webhosting serve(维护商业或者免费web主机服务器)WHT
ISPMan is a distributed system to manage components of ISP from a central management interface.(ISPMan)
a web hosting management package(GNU Hosting Helper GPL)
A GPL web control panel for admin and accounting hosting services
OpenSource ISP management and Hosting Control Panel
总体评价
用户群最多的 VHCS. 而 Web-CP,DTC和SysCp也都有许多用户

功能最强大的 GNU Hosting Helper 支持机群,文档,订单

单机版本功能最强大的是ISPConfig

结构最好的 SysCP, 采用类似结构的有Web-Cp,DTC,VHCS
结论:大型IDC,推荐GNU Hosting Helper,备选ISPMan
            单台主机,推荐 VHCS2,备选 Web-CP,DTC,ISPConfig,WHT,RavenCore(推荐程度依次降低,其实这几个系统都不错,看个人的喜好了)
           DTC是一个即适合单机使用,也适合集群使用的主机管理系统,Apple欧洲公司就是选用这套系统在Mac OS X上使用

共性(所有主机管理系统实现的功能)
1.资源限制:磁盘限额,网络带宽(对并发数限制都做得不好)
2.建立一个a domain时, apache 和mta 会自动配置

3.用户可以增加子域名

4.用户可以设置邮件别名和转发

5.用户可以建立和管理ftp用户

6.所有的东西都会放到MySQL数据库里面,然后有些信息会从数据库 生成到 配置文件.conf

7.支持用户界面的本地化,尽管很多都没有相应的语言包

8.一个GUI的前端写数据到数据库中,一个后台守护进程从数据库读取配置信息写道配置文件,或者建立相关的目录/文件

缺点
文档不完善
控制不够详细
没有订单系统,或者不够完善和CMS系统新闻发布等一个IDC所需要的东西(有部分系统实现了这两个个功能)
有些不支持域名注册API借口
有些不支持Paypal等电子支付借口
有些不支持多服务器(部分系统实现多机管理,如ISPMan,GHH)

只有GNU Hosting Helper用Perl实现了所有功能,是目前最强大的 虚拟主机集群管理系统

 
虚拟主机控制面板介绍
ISPConfig
包很大,因为要自己编译一个Apache和PHP(18MB),安装程序编译一个带PHP5支持的Apache运行在81端口,不会影响到已经安装的Apache
特色功能:反垃圾邮件 IPTable防火墙 Shell 服务管理(重启,关闭)
5级管理体系 系统管理员—>销售代理—->客户—>站点—>站点用户(包括Shell,FTP,Mail用户,相互独立)
Shell-访问
回收站(可以删除代理,客户,站点,站点用户)
邮件扫描 (反病毒)
服务管理,防火墙管理

用两个Apache,资源消耗得比较厉害,PHP的变量,数组下标用德文,MySQL字段名也是德文
http://www.ispconfig.com/
ISPConfig安装方法 http://www.upsdn.net/html/2005-11/601.html
VHCS
 用Perl和C实现核心功能,PHP实现界面,也使用cron

 较慢,修改设置和开设新空间时很明显,可能因为与使用cron调度人物有关
http://www.vhcs.net/
VHCS2安装方法 http://www.upsdn.net/html/2005-11/602.html

SysCP
自定义 服务配置,完全用PHP实现(需要PHP CLI支持,一个Cron 会从数据库中查看任务队列的人物,调用exec来执行)

 多语言支持的方式不好,客户管理功能较弱
http://www.syscp.de/

Web-CP
用PHP-CLI写的一个Web服务器
支持多种脚本Scripting PHP,sun asp,cf,perl…
支持shell access
支持 SSI
支持.htacess
支持多种DNS服务 bind,powerdns,mydns,tinydns 
完全使用PHP开发,支持Shell Access
 要安装PHP CLI(Command-LIne ) 控制面板的后端服务器 server/webcp.php 和 httpd服务器 server/webcp-httpd.php 都需要 PHP CLI二进制支持,以便能够操作系统进程

个人:个人信息,密码,邮件,ftp

域:允许域的所有者在该域下增删用户,设定别名,子域名,数据库

销售商:增加domain

服务器: 监视服务,管理服务

http://www.web-cp.net/

DTC
支持MacOS 支持Tucows gTLD registrar API 支持服务管理 Daemon Configuration 支持PayPal Payment gateway
为所有支持的服务生成配置文件。所有要作的是就是控制配置文件如何生成。 一个cron脚本很将没隔10分钟启动一次,来验证 些配置文件是否合法,已经重新装载指定的服务

DTC分3个主要的目录. 管理控制台 (一般在 /usr/share/dtc/admin,但也有一些系统, 例如bsd,在 /usr/local/share…)是你的主服务器web界面。在这里,你可以可控制所有托管在你服务器上的站点.

客户目录 (一般在 /usr/share/dtc/client) 是所有的虚拟主机管理员自己自己配置他们站点的地方.如果你不想给虚拟主机管理员以删除站点的权限,你可以不要它。因为所有的用户模块都显示在 管理控制台里

在标准的发行中, dtc安装 root 控制台到 http[s]://dtc.yourdomain-name.com/dtcadmin/, 客户控制台和客户控制面板http[s]://dtc.yourdomain-name.com/dtc/.

Don’t bare to customise the generation scripts under /usr/shared/dtc/admin/inc/gen_*.php, add SSL, remove or add aliases, etc…

当所有的安装完成之后,你可增加一个虚拟主机管理员到你的机器。然后你可以增加一个域名给虚拟主机管理员。

可以从 root控制台调用PHP脚本来生成配置文件,然后手动重新载入服务(named, qmail-send, and apache) . 当然你还可以 rely on /usr/share/dtc/admin/cron.php 脚本, 所有的事情都会帮你自动做好

DTC和Webmin最大的不同是,webmin有一个服务(一个服务器,一个模块配置这个服务器)。DTC没有相应的东西,他在一个通用的借口上控制所有的任务。举个例子来说,当一个管理原增加一个域名到DTC,apache bind和qmail的所有配置都会被更新

DTC写入所有的主机信息到一个MySQL数据库。然后重新用数据库里的这些信息来生成apache qmail和bind的配置文件。

http://www.gplhost.com/
DTC安装方法 http://www.upsdn.net/html/2005-11/604.html

PHPMyWebHosting
有许多商业的虚拟主机管理程序 (如 Confixx (http://www.sw-soft.com/de/products/confixx/), HSPcomplete (http://www.sw-soft.com/de/products/hspcomplete/), Plesk (http://www.sw-soft.com/de/products/plesk/) 以及 PD-Admin (http://www.pd-admin.de/))

但是他们需要花费大量的钱,并且你必须做许多修改才能让他们运行。有时候他们需要root权限来运行
同Sarge的apache2集成,不需要root权限
 主要用PHP(也用perl写一些小工具),用SH控制apache重新启动 不需要root权限

 内容与执行逻辑没有分离,怀疑建立的虚拟主机目录权限有问题(mkdir chmod 777)
http://pmwh.ckvsoft.at/index.php/Main_Page

Multihoster
一个14岁的帅小伙子开发的虚拟主机系统,允许每个用户的目录有多个层次:yousite.com/usrname
支持 IP黑名单,在header和footer插入广告的功能,适合免费虚拟主机,但部分系统依赖于Cpanel和其他系统,整个系统不是很成熟
http://www.multihoster.com/

WHT
http://wht.sourceforge.net/
WHT 带paypal接口,可以为免费空间发广告
支持商业主机(Paypal接口) 免费主机(header, footer 和 pop-up广告)可以为 ftp访问 建立系统用户帐号, 可以为一个用户建立多个虚拟主机和子域名,为每个域建立多个邮件帐号

RavenCore(推荐RMP包管理系统使用,如Fedora COre,Red Hat,TurboLinux)

对RPM包管理的Linux发行版支持得很好,但结构个人觉得不死很好,如果用RMP包管理系统的,推荐用这个
功能之强大,和ISPConfig有得比

管理面板地址http://your_ip:8000
管理功能:用户,主机,邮件,数据库,DNS
系统服务:状态查看,重启,关闭
服务器:重启,关闭
 文件管理  自定义错误文档  站点统计 磁盘限额
http://www.ravencore.com/
VirtualMin
http://www.swelltech.com/virtualmin/ WebMin相当强大,但作为其一个模块的Virtualmin相对其他虚拟主机管理程序来讲就比较简陋了

 

ZPanel
支持Windows下的Apache,我不喜欢Windows,也就不作介绍了,其实它是非常流行的
http://www.thezpanel.com/
VHost
这个也太简单了,前台一个文件vhost.php,后台一个文件vhost.pl
帮助你开2个站点没有问题,用于常规使用就不行了
http://chaogic.com/vhost/

AlternC
基于Debian GNU/Linux系统 (‘Sarge’版本) 法国人开发的,不算太成熟

deb http://debian.alternc.org

 

 

下面这两个系统 可以管理多台主机,适合大型IDC

ISPMan
一个分布式ISP实现方案,实施该系统大概需要5个工作日,包括在3~5台机器上的软件安装
http://www.ispman.net/

邮件功能很强大

1.邮件过滤器管理

2.每个域,每个用户进行反垃圾邮件控制

3.每个域,每个用户进行病毒扫描

4.基于邮件地址或主题的黑名单和白名单

5.邮件转寄和自动回复

用户结构完善
1.每个域的终端用户: 收寄邮件,设置转寄/过滤/自动回复

2.域管理员 管理域用户,DNS,虚拟主机,邮件列表,访问控制

3.ISP客户 一个ISP的客户可以是一个或者多个域名的拥有者。 可以管理属于他的多个域

4.销售商 是一个小型的ISP,他可以把你的服务卖给他的客户

5.ISP 管理员

GNU Hosting Helper(做IDC隆重推荐此系统)
支持分布式管理,也就是在 多个服务器都只需要一个管理员控制面板和一个客户控制面板

http://www.hostingsoftware.net/
用Perl编写,功能非常之强大:
管理服务器的进程

安全管理

服务器监视

帮助中心

知识库

新闻管理

Fraudscreen

域管理

用户管理

订单客户管理

软件包管理

管理主机的服务

邮件服务器管理

域名服务器管理

注册服务器管理

服务器池管理

系统配置管理(管理IP别名)

几乎可以支持目前开源世界所有的服务器软件

 
还有一个基于Linux-Virutal-Server项目的虚拟服务器,也是多服务器,但跟一般IDC所理解的不一样,有兴趣也可去看看
http://www.linux-vserver.org/
http://www.openhosting.com/(OpenVPS)
作者:Johnny   更新日期:2005-11-14
来源: http://www.upsdn.net/html/2005-11/600.html

 

分类: 收集 标签:

世界各地的ping

2008年7月15日 没有评论
分类: 收集 标签: