linux服务器web页面无法打开linux服务器web
如何关闭linux主机的web服务器?
Web服务器是一种应用程序,不同的Web服务器应用程序的关闭方法不尽相同,在Linux平台使用最多的Web服务器是apche和ngnix。关闭方法如下:关闭apche:/usr/local/apache2/bin/apachectlstop关闭nginx:nginx-sstop:快速停止nginx
web的工作架构是什么?
web的工作架构:
1、浏览器的作用:用户提交请求给服务器,将服务器返回的响应解析出来
2、web服务器:接受用户请求,并给用户做出响应,Windows下有IIS,Linux下有Apache、Nginx
3、web应用:用php、jsp、asp、aspx等开发语言开发一个web应用程序(博客、购物网站等)。运行在服务器上
4、数据库:存储数据,数据库有一个接口,在应用程序中指定连接数据库的账户密码
5、中间件:举个例子,在Linux环境下,用Apache作为服务器想要运行一个Java程序,还需要Tomcat环境的支持,Tomcat就是一个中间件。目前Apache等服务器和中间件的区分越来越少,可以广泛理解为中间件是Apache、IIS、Nginx、Tomcat、Jboss的统称。
linux怎样为web设定ip地址?
web服务器有专用的软件,如tomcat,nginx,找到对应的serverconf设置port为80即可
weblogic和linux服务器的区别?
weblogic是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
而Linux服务器是采用Linux系统的网络服务器,同时也有采用windows的服务器,作用是类似的。而Linux并不是一个特定的系统,而是使用Linux内核的系统。
课题名称:基于Linux系统的Web服务器的安装与配置
姓 名: 班 级:
完成时间: 指导老师:
内容安排:
首先对WEB服务器的可行性进行研究,然后对主机的硬件和软件进行需求分析,在此基础上进行概要设计和详细设计。接下来对软件框架的各组成部分的实现分章进行详细的描述,最后总结实现一些关键的解决方法和改进的几个思路。
1、 绪论
简单介绍了一下架设WEB网站的意义, WEB服务器的工作原理, 企业背景介绍,并简要介绍了论文的内容要求。
2、 Web服务器的基础知识
对什么是WEB服务、服务器软件Apache、脚本语言PHP、HTTP协议作了详细的介绍。
3、 Web服务器的设计过程
根据可行性的研究,对整个系统的软件和硬件需求进行分析。对软硬件进行架构设计,描述如何实现,包括基础理论分析,设计思路和设计方法,并对具体的设计步骤进行了重点理论解析。
4、 WEB服务器的建立
对系统的运行进行安装,了解Apache的体系结构及性能、PHP脚本配置环境,用Apache进行设置虚拟主机,实现基于IP地址虚拟主机服务,先规划IP地址:为虚拟主机申请新的IP地址,让ISP做好相应的域名解析工作,为网卡设置IP别名,重新设置“/etc/httpd/conf/httpdconf”文件,建立相应的目录,将主页的内容放到相应的目录中去就行了,再配置一下PHP语言脚本环境。测试一下能否实现的可行性。
5、问题和改进
实现中可能遇到的问题及解决方法,服务器改进的方向。
6、作简要的总结。
论文的技术路线及预期目标:
技术路线:在Linux平台下配置一个WEB服务器环境,使网站正常运行,首先需要在一台PC机上创建一个Linux平台,由于我们绝大部分PC用的是Windows的操作系统,对此,我们可采用虚拟机VMware Workstation在Windows系统下虚拟一个Linux平台,然后运用与Linux兼容性良好的Apache服务软件、PHP语言脚本配置环境,基于Linux操作系统,架设一个稳定、安全、高效的WEB服务器环境,可支持运行以PHP或者HTML为基础的网页,要求正确安装好操作系统Linux WEB服务器软件Apache、脚本语言PHP,了解有关参数,同时合理设置,使得服务器环境简易高效。
预期目标:在Linux环境下运用兼容性良好的Apache服务软件实现一个Web服务器,在局域网内,将此服务器程序在一台计算机上运行,使网内其它计算机访问这台服务器时,实现HTTP协议的传输,并能解析以PHP或者HTML为基础的网页。
课题进度计划:
完成课题所需条件及落实措施:
所需条件:计算机一台、CentOS 52版本的Linux操作系统、虚拟机软件VMware Workstation及各种相关软件,有关Linux操作系统方面的资料(书籍、网络资料)。
落实措施:在计算机上先安装虚拟机软件VMware Workstation,采用虚拟机VMware在Windows系统下虚拟一个Linux平台,然后运用与Linux兼容性良好的Apache服务软件,PHP语言脚本配置环境。
参考文献、资料:
[1] Red Hat Linux大全,David Pitls编著,姚彦忠 译,机械工业出版社,1999年1月出版
[2] Linux服务器性能调整,(美)约翰逊,(美)威曾格,(美)普拉瓦提 著,韩智文 译,清华大学出版社,2009年9月出版
[3] Linux服务器架设,杨鹏编著,清华大学出版社,2008年出版
[4] Linux网络服务器应用教程,王兴主编,中国铁道出版社,2009年9月出版
首先需要将你的web服务器搭建好,然后需要做NAT,我这里有我的一个做NAT的笔记,分享给你
NAT
拓扑结构图:
要求:
1内网能够ping通外网地址,并且成功访问外网中的web服务;
2外网能够访问内网的ftp服务。
步骤:
一:内网服务器配置
1在内网中设置好ip地址,网关和DNS均为NAT服务器内网口地址,并搭建好ftp服务,此处略
二:NAT服务器配置
1在NAT只能中添加一块网卡作为 外网卡,并设置好ip地址
2开启NAT服务器的路由功能
[root@c2 ~]# vi /etc/sysctlconf
netipv4ip_forward = 1 //将0改为1
[root@c2 ~]# sysctl -p //永久生效
3配置防火墙(必须按照以下循序配置,否则配置完成后不能拼通外网,需配置第二次)
#iptables-X
#iptables-t nat -X
#iptables --flush
#iptables -t nat --flush
//以上为重置链表的命令
#iptables-t nat -A POSTROUTING -s 19216810/24 -o eth1 -j SNAT --to 202101012
//这条命令是将内网19216810/24的源地址映射为NAT服务器的外网口地址,eth1为外网卡
# iptables -t nat -A PREROUTING -p tcp--dport 21 -j DNAT --to 192168111
# iptables -t nat -A PREROUTING -p tcp--dport 20 -j DNAT --to 192168111
//这两条命令是发布内务的ftp服务
或者:
# iptables -t nat -A PREROUTING -p tcp -d 202101012--dport 21 -j DNAT --to 192168111
# iptables -t nat -A PREROUTING -p tcp -d 202101012--dport 20 -j DNAT --to 192168111
#/etc/initd/iptablessave
#/etc/initd/iptablesrestart
验证:
内网访问外网的web服务:
[root@c1 ~]# curl 202101013
web
外网访问内网的ftp服务(外网的防火墙一定要关闭,否则ls查看目录时会出错,或者打开外网的20号端口新建链接的也可以)#
[root@c3 ~]# ftp 202101012
Connected to 202101012 (202101012)
220 (vsFTPd 222)
Name (202101012:root): ftp01
331 Please specify the password
Password:
230 Login successful
Remote system type is UNIX
Using binary mode to transfer files
ftp> ls
227 Entering Passive Mode(192,168,1,11,93,1)
ftp: connect: Network isunreachable //列不出内容是因为进入了passive模式
ftp>passive //用passive命令切换passive模式和active模式
Passivemode off
ftp> ls
200 PORT command successful Consider usingPASV
150 Here comes the directory listing
226 Directory send OK
ftp>
补充:
删除防火墙中配置的记录
[root@c2 ~]# iptables -t nat -L POSTROUTING -n --line-number //列出记录和记录序号
[root@c2 ~]# iptables -t nat -D POSTROUTING1 //根据序号删除记录
你将内网的ftp服务换成web服务就可以了,主要是弄懂NAT的原理,将内部服务通过DNAT发布到外网
准备好连接linux服务器的工具,推荐用xshell和xftp。 xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。 下载地址:/softs/56322/view/28283/view/926025htm 引用 在高并发连接的情况下,Nginx是Apache服务器不错的替代品。Nginx同时也可以作为7层负载均衡服务器来使用。根据我的测试结果,Nginx 0846 + PHP 5214 (FastCGI) 可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。 这里我们选择nginx,输入n,回车 到这里,我们就正式进入环境安装环节了。你可以泡杯茶休息下。一般这个过程会持续半个小时的样子。 为了防止断掉和服务器的连接,可以新开一个shell窗口,将鼠标挪到窗口标签栏,右击,如下图所示: 可以看到,新开了一个窗口 输入top命令 可以看到一直在跳动的系统资源统计 好了。做完了这一些就让我们静静的等待吧!程序正在自动编译安装服务! 到这个界面说明安装已经结束了。 大家有疑问了。那我怎么登录ftp和mysql呢 在命令行里输入: cat accountlog 看到了没 ftp的用户名是:www mysql的用户名是:root 密码就在屏幕上了! 好了。所有配置都已经完成了。是不是很简单! ---------------------------------------------------------------------- 网站目录:/alidata/www 服务器软件目录:/alidata/server Mysql 目录 /alidata/server/mysql Php目录/alidata/server/php 选择了nginx 那么会有一个nginx 目录在 /alidata/server/nginx/ Nginx 配置文件在/alidata/server/nginx/conf Nginx虚拟主机添加 你可以修改/alidata/server/nginx/conf/vhosts/phpwindconf 选择了apache那么会有一个httpd 目录在 /alidata/server/httpd apache 配置文件在/alidata/server/httpd/conf apache虚拟主机添加 你可以修改/alidata/server/httpd/conf/vhosts/phpwindconf
1,Linux下架FTP!!
Linux下一般最常用的工具wu-ftpd
wu-ftpd的安装非常容易,大多数版本的Linux中都包含了wu-ftpd的rpm软件包,你可以在安装Linux时指定装入。如果你想自行编译源代码,也可以到ftp://ftpwu-ftpdorg下载最新版本的源代码包。
安装好以后,可以用ckconfig命令来检查是否已经正确安装。在/etc/passwd中可以指定ftp用户的登入目录。
wu-ftpd主要有以下6个配置文件:
ftpaccess(主要配置文件,控制存取权限)
ftpconvertions(配置文件压缩/解压缩转换)
ftpgroups(设定ftp自己定义的群组)
ftphosts(设定个别的用户权限)
ftpservers(设定不同IP/Domain Name以对应到不同的虚拟主机)
ftpusers(设定哪些帐号不能用ftp连线)
下面我们来一一介绍。
⒈/etc/ftpaccess(wu-ftpd的主要配置文件)
class--定义群组,用法如下:
class<种类>;<用户地址>;[<用户地址>;……]
由class定义的群组用户才可以连线进来,可以使用多层式的class来规范哪些群组的用户能够从哪些地方上来。这里有三个重要的种类,real、anonymous个guest。real如果没有列在定义中,那么这台机器中任何真实的一般用户都无法用自己的帐号连上来。anonymous如果没有在定义,就表示不让没有帐号的的人连上来。如果有定义guest,那么guest群组的人就可以上来。另外<用户地址>;是指ftp上来的用户会用到的IP地址,则可自行设定。以下是一些例子:
class all real,guest,anonymous
定义了一个名为all的class,包含三种人,所有IP的连线用户(也就是所有人都包括了)
class local real localhost loopback
local这个class说,只有real的用户可以从本机机器连上来
class remote guest,anonymous
remote这个class包含了从任何地方上来的guest和anonymous用户,但是real用户不算
class rmtuser real !examplecom
rmtuser这个class包含了从外面来的(除了examplecom)真实用户
autogroup--自动对应群组,用法如下:
autogroup[……]
当你定义好的那些同属于一个class的用户,一旦连线上来就会被对应到一个相应的群组下面,这样你就可以用Unix的文件权限对某一群人做限制。
deny--拒绝某些地址连线,用法如下:
deny<拒绝连线的地址>;<信息文件>;
禁止某些机器连线,并显示<信息文件>;。例如:
deny 21062146:255255255254 /etc/rejectmsg
guestgroup--设定访客群
guestuser--设定访客帐号
realgroup--设定真实群组
realuser--设定真实帐号
nice--设定给某些class多少优先权,用法如下:
nice
在Linux中,nice的值是-20(最优先)到19(最后处理),这里你可以指定负的值来提高某class的优先顺序。
defumask--设定某class的umask,用法如下:
defumask[]
umask是建立文件时该文件的的权限掩码
tcpwindow--设定tcpwindow的大小
keepalive--设定是否使用TCP SO_KEEPALIVE来控制断线情形
timeout--设定连线超时,用法如下:
timeout accept<秒>;
接受连线超时,预设120秒
timeout connect<秒>;
连线建立超时,预设120秒
timeout data<秒>;
数据传送超时,预设1200秒
timeout idle<秒>;
用户发呆超时,预设900秒
file-limit--限制某class只能传几个文件,用法如下:
file-limit[][]
对某个class限制存取文件的数目,包含了in(上传)、out(下载),total raw代表整个传输的结果,不光是数据文件。例如:
file-limit out 20 lvfour
限制lvfour这个class的用户最多只能下载20个文件
byte-limit--限制某class只能传几个字节,用法跟file-limit相似
limit-time--限制一个连线只能持续多久,用法如下:
limit-time{|anonymous|guest}<分钟>;
为了避免有人挂在站上不下来,可以用这个方法限制用户的上线时间,例如:
limit-time guest 5
让guest帐号的用户只能用5分钟
limit--限制某class能同时几人上线,用法如下:
limit<连线数目>;<时间区段>;<额满信息文件>;
设定某个class在某一时间区段内最多能够几人同时上线,后面是当超过连线数目时要显示的信息。例如:
limit all 32 Any /home/ftp/etc/toomanyusermsg
限制所有连线在任何时间只能有32个用户,超过则拒绝连线并显示信息
limit levellone 5 Any2300-0600 /home/ftp/etc/toomanyusermsg
限制levellone这个class的用户在23:00到6:00这段时间内只能有5人连线
noretrieve--设定哪些文件不可下载
noretrieve[absolute/relative][class=]…[-][<文件名>;…]
absolute或relative指文件是用绝对路径还是相对路径
allow=retrieve--设定哪些文件可以下载
allow[absolute/relative][class=]…[-][<文件名>;…]
loginfails--设置登入错误可尝试的次数
当用户连线时可能打错ID或密码,这个设定可以让他打错几次以后就断线,避免有人用穷举法猜测密码。
private--设定线上是否可以执行SITE GROUP/SITE GPASS
当开放SITE GROUP与SITE GPASS指令时,可以用这两个指令切换到/etc/ftpgroup的群组。一般而言我们不会用到这个功能,以避免安全漏洞。
greeting--显示Server的版本信息,用法如下:
greeting
当用户登入画面显示的server信息,full是预设值,包含版本号以及hostname,brief只有hostname,而terse只有“FTP server ready”的信息。
barnner--设定未进入Login画面之前用户看到的信息,用法如下:
banner<文件路径>;
这里叙述了在用户登入时,在还没打ID/Password之前要出现的信息。文件路径指的是相对于真实的路径,而不是相对于ftp的根目录。
host--设定ftp主机名
email--指定ftp管理者的email地址
message--信息文件的设定,用法如下:
message<文件>;{<何时>;{……}}
这里的文件的路径是相对于ftp的根目录的,“何时”是指当你做了什么动作之后的反应,有几个选择:
login(登入时)
cwd=<目录>;(进入某目录时)
class 名称是前面已经定义过的,允许你的信息只对哪些人发出。
而信息文件的内容除了文字以外,还可以使用以下一些事先定义好的代号:
%T(本机时间)
%F(目前分区所剩余的空间)
%C(目前所在的目录)
%E(管理者的E-mail)
%R(客户端主机名称)
%L(本机主机名称)
%U(用户名称)
%M(与我相同class用户允许多少人连线)
%N(与我相同class用户目前有多少人连线)
%B(绝对磁盘限制大小,目前分区(单位blocks))
%b(preferred磁盘限制大小,目前分区(单位blocks))
%Q(目前已使用的blocks)
%I(最大可使用的inodes(+1))
%i(Preferred inodes限制)
%q(目前使用的indoes)
%H(超量使用磁盘空间的时间限制)
%h(超量使用文件数目的时间限制)
readme--通知用户哪些README文件已经更新
log commands--记录用户所使用过的命令,用法如下:
log commands<用户种类>;
log transfers--记录用户所传输的文件,用法如下:
log transfers<用户种类>;<传输方向>;
设定有哪些类型的用户传输文件需要记录,包含了inbound(用户上传)和outbound(用户下载),例如:
log transfers anonymous,guest inbound,outbound
log security--记录安全性,用法如下:
log security<用户种类>;
特别用于记录某类用户关于noretrive、notar等有关安全性的记录
log syslog--记录到系统的syslog文件
alias--设定目录别名,用法如下:
alias<别名字符串>;<目录>;
cdpath--设定cd更换目录搜索顺序
compress,tar--设定是否自动压缩,用法如下:
compress[……]
tar[……]
定义哪些人可以执行压缩以及tar
shutdown--通知用户要关站了
shutdown<信息文件>;
如果信息文件存在的话,当这个文件指定的某时间以后,就会拒绝连线并切断已有的连线,等时间一到就关机。这个信息文件的格式如下:
<年>;<月>;<日>;<时>;<分>;<拒绝倒数>;<断线倒数>;<文字>;
daemon address--指定只监听某个IP地址,用法如下:
daemon address
当你有许多IP的时候,使用这个选项将会取消其它任何虚拟FTP主机的设定。不设定的话,监听所有IP。
virtual--设定虚拟FTP站台
wu-ftpd提供了虚拟主机的功能,也就是说,在同一台机器上提供了不同FTP站台,以主机名称或IP来区分;当然你要用名称的话,还需要跟DNS配合才行。virtual有很多个设定:
virtual
<路径>;
可以是主机名或IP地址
root指的是ftp的根目录,banner是欢迎信息,logfile指的是这个虚拟站台的log文件
以下是一些例子:
virtual virtualcombj root /home/ftp2
virtual virtualcombj banner /etc/vftpbanner2
virtual virtualcombj logfile /etc/viftplog2
virtual
<字母>;
用户可以查到hostname跟管理者email,以下是一些例子:
virtual 2106214650 hostname virtualsitecombj
virtual vritualsitecombj email ftpown@virtualsitecombj
virtual
allow<用户>;[<用户>;……]
virtual
deny<用户>;[<用户>;……]
很明显,以上两个选项是设定是否允许连线的,以下是一些例子:
virtual virtualsitecombj allow
virtual virtualsitecombj deny badman
virtual
private
本虚拟站台拒绝anonymous用户
defaultserver deny <用户>;[<用户>;……]
defaultserver allow <用户>;[<用户>;……]
当我们使用了虚拟主机,原先的deny,allow设定不知道要设哪个server,所以会无效,用defaultserver代表原来的主机
defaultserver private
主站台拒绝anonymous用户
passive address--转换IP数值
passive address<外部IP>;/cidr
passive ports--passive的ports范围
passive ports
pasv-allow--允许使用pasv
pasv-allow[<地址>;……]
port-allow--允许使用port
port-allow[<地址>;……]
mailserver--指定Upload通知的mail服务器
incmail--指定anonymous upload的email通知地址
virtual incmail--指定虚拟主机anonymous upload的email通知地址
defaultserver incmail--指定预设主机anonymous upload的email通知地址
mailfrom--通知的寄信人upload
virtual mailfrom--虚拟主机upload通知的寄信人
defaultserver mailfrom--预设主机upload通知的寄信人
chmod--设定是否可以改变文件权限
delete--设定是否可以删除文件
overwrite--覆盖文件
rename--重命名文件
umask--允许设定umask
passwd-check--设定anonymous FTP的密码检查程度,用法如下:
passwd-check()
设定对anonymous ftp用户的密码是否检查,none表示不检查,trivial为包含@的任意密码,rfc822则表示密码要遵循RFC822格式,enforce表示密码检查不过不允许进入,warn表示密码检查不过只出现警告信息。
deny=email--拒绝特定的email当密码
path-filer--摄定哪些文件名不可使用
path-filer<错误信息文件>;<允许字符>;<不允许字符>;
upload--设定upload权限
upload[absloute/relative][class=]…[-]<设定的目录>; >;[dirs/nodirs][d_mode]
用来对我们要设定的目录做权限设定:
absoulte/relative使用绝对路径或是相对路径
class=指定某个class
root-dir指的是对哪些root-dir的人,也就是chroot后的登入目录,应用这个规则
设定的目录指的就是我们要限制的目录
yes/no指得是能否在此目录下开新文件
owner,group指出是开出来的文件拥有者及群组
Mode指的是文件权限
dirs/nodirs指的是能否开新目录
d_mode设定建立新目录时目录的权限,如果不设定会根据mode来设定
thoughput--控制下载速度
thoughput<子目录列表>;<文件>;<远端地址列表>;
对远端的地址,控制他抓某个子目录下的某些文件时的速度,例如:
thoughput /e/ftp oo -
thoughput /e/ftp /sw 1024 05
thoughput /e/ftp sw readme oo -
thoughput /e/ftp sw oo - foocom
以上的设定你是否能够看出来呢?“oo”表示不限制bytes/sec,“-”或是“10”都是代表一倍。第一行的意思是说,在/e/ftp下面的文件不限制下载速度;第二行说,在/sw下面的任何文件限速为1024bytes/sec
05=512bytes/sec;第三行又把readme文件的限速取消;最后一行则对foocom开放全速。
anonymous-root--对某class设定匿名用户的根目录
anonymous-root[]
guest-root--预设一个guest用户根目录
guest-root[]
其中用于指定uid的范围
deny-uid,deny-gid--拒绝某段UID(GID)范围
allow-uid,allow-gid--允许某段UID(GID)范围
restricted-uid,restricted-gid--限制用户不能离开他的登录目录
unrestricted-uid,unrestricted-gid--用户可以离开他的登录目录
dns refuse_mismatch--设定DNS查到名称与用户设定不符的动作
dns refuse_mismatch<信息文件>;[override]
当用户使用未注册IP时,拒绝他的连线,override则是不理会错误而让他连线,信息文件则是我们要给用户看的。
dns refuse_no_reverse--设定无反查记录拒绝连线
dns refuse_no_reverse<信息文件>;[override]
当用户的IP反查无记录时,拒绝他的连线
dns resolveoptions--设定DNS解析选项
dns resolveoptions[options]
这里可以设定DNS解析选项
⒉/etc/ftphosts
ftphosts文件其实跟ftpaccess里面的access,deny很像,它是特别用来设定某些ID的连线,它没有class定义,所以必须是真实用户。
allow|deny<用户>;<地址>;[<地址>;……]
以下是一些例子:
allow rose 14000/8
deny jack 14012300:25525500
允许rose从140进来,拒绝jack从140123上来
⒊/etc/ftpservers
这个文件控制了当你有不同的IP/hostname的时候,进来的连线使用哪一个配置文件。例如:
1019614510 /etc/ftpd/ftpaccesssomedomain/
10196145200 /etc/ftpd/ftpaccesssomeotherdomain/
somedomain internal
1019614520 /etc/ftpd/config/faqsorg/
ftpsomedomain /etc/ftpd/config/faqsorg/
⒋/etc/ftpusers
在这个文件里记录的用户禁止使用FTP
⒌/etc/ftpgroups
给SITE GROUP指令使用,线上切换group。SITE EXEC容易造成安全漏洞,一般我们都不开放。
⒍/etc/ftpconversions
用来做tar、compress、gzip等动作指令配置文件,只要用预设即可,如果你不开放即时压缩打包,也可以把内容清除。
2,Linux操作系统近几年有了蓬勃的发展,在整个世界范围内得到了越来越多公司和团体的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服务器如虎添翼,更上一层楼
Linux操作系统近几年有了蓬勃的发展,在整个世界范围内得到了越来越多公司和团体的支持,尤其是最近IBM公司的鼎力支持,更是使Linux服务器如虎添翼,更上一层楼。而在国内,Linux的应用也是方兴未艾,众多公司已经投入到Linux系统的研发和推广工作中。一些优秀的Linux操作系统相继出现,比如红旗Linux等。但是我国的Linux应用水平还很低,熟悉Linux的人员严重缺乏,Linux专业人才的缺乏已成为Linux在国内应用和普及的瓶颈问题。据《开放系统世界》2003年第八期介绍,中国五年内Linux人才需求量将会超过120万。而“1+1+1”工程的实施,也是间接地告诉我们这个问题的严重性。如此大好时机,我们干吗还愣着不动呢!如果你是一位Linux爱好者,你可能已经掌握了基本的Linux的知识与操作,毫无疑问,你并不会去满足这样小小的成就。Linux为何如此的流行?其最大的特点莫过于功能强大,性能稳定的服务器应用了。像WWW,MAIL,FTP,DNS和SMB等。在这篇文章中,我将以Redhat Linux 9为蓝本,从Web服务器的一些最基本的操作入手,从初学者使用的态度,让读者正确充分的认识Apache。好,现在就让我们一起踏上征服Apache的自由之路吧。
Apache的主要特征是:
可以运行上所有计算机平台;
支持最新的HTTP 11协议;
简单而强有力的基于文件的配置;
支持通用网关接口CGI;
支持虚拟主机;
支持HTTP认证;
集成Perl脚本编程语言;
集成的代理服务器;
具有可定制的服务器日志;
支持服务器端包含命令(SSI)
支持安全Socket层(SSL)
用户会话过程的跟踪能力;
支持FastCGI;
支持Java Servlets。
安装Apache
下面我们就开始漫漫征服Apache之旅,通过循序渐进的需求实例,一步步地学习使用Apache,从入门到精通。
系统需求
运行Apache不需要太多的计算资源。它在有6-10MB硬盘空间和8MB RAM的Linux系统上运行得很好。然而,只运行Apache可能不是你想做的事情。更可能的是,你想运行Apache来提供WWW服务、启动CGI进程以及充分利用所有WWW能够提供的令人惊奇的功能。在这种情况下,你需要提供反映负载要求的额外的磁盘空间和内存空间。也就是说,如果仅仅是启动WWW服务并不需要太多的系统资源,但是想要能为大量的客户提供服务就需要更多的系统资源。
获取软件
你可以在http://wwwapacheorg中获得Apache的最新版。而几乎所有的Linux发行版中均包含有Apache软件包,你也可以直接使用它。
需要注意的是,Apache软件包有两种:一种是源代码,下载后需要自己重新编译;另一种是可执行文件,下载后只需解压就可以使用。
安装软件
你可以通过以下三种方法安装Apache服务器。
1.如果你安装的Linux版本中带用Apache的话,就在选择所要安装的服务器的时候,将httpd这个服务选上,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。
2.使用可执行文件软件包,这比较适合那些对编译工作不是太熟悉的初级用户,因为它相对比较简单。
下载软件包apache_124etargz
tar xvzf apache_124etargz
这就完成了安装工作,简单吧!
如果你使用的是RedHat Linux的话,你也可以下载apache_124rpm软件安装包,然后使用rpm -ivh apache_124rpm命令安装。
3.如果你想把Apache服务器充分利用起来的话,就一定要自己编译Apache定制其功能。
下载包含Apache源代码的软件包apache_124targz; 然后用tar命令将它解开; 将当前目录改变为Apache源代码发行版的src目录; 将配置样本文件(Configurationtmpl)复制为Configuration文件;
编辑Configuration文件中的配置选项:
Makefile配置选项:一些编译选项:
"CC="一行指定用什么编译软件编译,一般为"CC=gcc";
如果需要将额外的标志(参数)指定给C编译软件,可以使用:
EXTRA_CFLAGS=
EXTRA_LFLAGS=
如果系统需要特殊的库和包含文件,可以在这里指定它们:
EXTRA_LIBS=
EXTRA_INCLUDES=
如果你要改变代码优化设置的话,你须将下面一句去掉注释,然
后改成你所需要的值:
#OPTIM=-O2
Rule配置选项:用来决定需要什么功能,一般情况下无需改变。
模块配置:模块是Apache的组成部分,它为Apache内核增加新功能。通过使用模块配置,可以自定义在Apache服务器中需要什么功能,这个部分也是Apache灵活性的表现。模块配置行如下所示:
AddModule modules/standard/mod_envo
如果你需要Apache服务器具备什么功能,就将那个模块用AddModule语句加到配置文件Configuration中去。
3,一、 MYSQL的基本概念
1、MYSQL的定义
MYSQL一种多用户、多任务的数据库服务器软件
2、MYSQL的特点
支持多平台,没有内存漏洞,分布式处理
支持JAVA、PHP、PERL、支持数据类型
支持ODBC,支持SQL查询
二、 安装MYSQL的服务器
1、 RPM方式MYSQL
#RPM –ivh MYSQL-3。23-3i386rpm
#RPM –ivh MYSQL-client-323-33i386rpm
#RPM-ivh MYSQL-Shared323-33i386rpm
#Tpm -ivh MYSQL –server323-33i386rpm
2编译安装方式
#tar -xvzf mysql 323targz
# cd mysql-323
#/configure --prdfix=/usr/local
#make
#malke install
# cd/usr/local/bin/
#/mysql-install-db 初始数据库系统。
系统库作用:记录服务器的设置参数,存放用户库信息
安全选项
#safe-mysqld
浅谈基于Linux的Intranet环境建造
在建设传统的Intranet网络环境的时候,我们一般是基于Windows NT Server系统的,在它的基础上实现一系列的服务。 现在的Linux系统中也包含了很多基于网络建设的软件服务,基本上我们是完全可以利用Linux系统建立与Windows NT Server所具有的基本Intranet框架相同的框架。并且还可以在这个基础上发展具有Linux系统自身特点的Intranet环境,在某种程度上其性能还优于Windows NT Server系统。
我们先假设一个基于Linux系统局域网的网络构架。首先,建议使用转换器把Internet接口转换为双绞线,直接连接到一台双网卡Server上。该Server的另外一块网卡和其他的Server及Client连接到一个Hub上面,成为一个局域网。双网卡的服务器作为防火墙和网关,控制内部网和Internet连接的安全。我们在其上面还可以运行其他的服务,例如文件服务器、代理服务器、邮件服务器和Web服务器等。另外一台服务器可以作为数据库服务器,在其上主要运行数据库服务。
双网卡中对外的网卡必须有正式的IP,另外一块网卡和其他计算机的网卡可以使用私有IP,范围从“192.168.1~192.168.254”自由分配,其他计算机的网关地址都指向防火墙网关服务器的内部IP。防火墙网关服务器的网络配置要根据申请的IP地址来具体设置。
一般地,我们要求的Intranet环境应该是提供最基础的WWW服务、FTP服务、DNS服务、网上邻居等服务项,下面我们就一一简单地介绍一下。
1WWW服务
首先我们要实现WWW服务,我们以在RedHat系统的完全安装中为例,这里系统已经为大家安装好了目前在Internet上使用得最多的HTTP服务器Apache, 你只需要使用“setup”命令选择该服务,或者直接运行“httpd”即可。它的安装根目录是在/home/httpd/目录下的,只要使用浏览器按照“IP地址”访问你的Web server,就能够看到Apache的说明文档。如果你要发行自己的主页,只需要将这些文档放在/home/httpd/Html/下即可,或者是将httpdconf中的文档根目录修改为你的Windows系统下的目录,这样既可以享受Linux的效率,也可享受Windows的页面制作工具的便利。但是我们要注意在Linux环境中要区分大小写,所以页面中的文件名最好统一使用大小写。在Windows环境中的页面文件一般是htm后缀,而缺省的Linux系统的浏览器Netscap或lyxn解释的页面文件是以html为后缀的,你只需要在/etc/mimetypes中增加如下一行即可:text/html html htm。同样,你也可以按照注释修改以下配置文件:
/etc/httpd/conf/httpdconf
/etc/httpd/conf/Accessconf
/etc/httpd/conf/srmconf 以建立更加强大而灵活的WEB服务器。
2FTP服务
接着让我们看看FTP服务的实现,我们依然是在RedHat系统的完全安装中,RedHat系统已经为你安装好了目前Internet流行的WU-FTP-242 Server。它的匿名访问目录在/home/ftpd/中,如果是在FTP客户端使用普通帐户登录,那么我们将直接进入该账户的主目录。它的配置文件主要是:
/ect/ftpaccess。
域名服务(DNS服务)的功能是把我们取的名字映射为具体的IP地址。目前Internet流行的域名服务器BIND,它的执行进程是“named”,其配置文件有:
/ect/namedconf
/etc/resolvconf
/var/named/namedca
/var/named/namedlocal
/var/named/namedhosts(自建)
/var/named/namedrev
其中的自建文件需要符合“named”配置文件的格式,我们从已有的文件中cp即可,尤其注意BIND 4的配置文件格式和BIND 8p是完全不同的,如果使用的版本不同的话,请查阅其具体的配置文件。
3RAS服务
RAS服务(PPP)也是传统的服务之一,配置PPP在Linux系统中是比较复杂的一项工作。它的主要配置文件有:
/etc/mgetty+sendfax/mgettyconfig
/etc/mgetty+sendfax/logingconfig
/etc/inittab
/etc/ppp/options
/etc/ppp/ppplogin
/etc/ppp/optionsttyS2
/etc/ppp/pap-secrets
/etc/hosts
提醒大家的是如果使用Win95的拨号适配器的话,它的网关为拨号服务器的IP,DNS为内部网的DNS Server的IP,设置远程自动配置IP,新手可以先不启动该服务。
4DHCP功能
DHCP的功能是动态分配IP地址。注意在启动dhcpd之前,增加一项缺省路由:/sbin/route add -host 255255255255 dev eth0详细的格式可以使用“main dhcpd”得到。它的执行进程是“dhcpd”,它的配置文件有:
/etc/dhcpdconf /etc/dhcpdleases(空文件)
/etc/dhcpdleases~(空文件夹)
5网上邻居
网上邻居(smbd nmbd)也是我们很关心的功能,微软的网上邻居是局域内直接而简便的资源共享方法,但它采用的是Netbeui协议。而Linux系统采用的主要是TCP/IP协议,它提供的Samba可以方便地完成网上邻居的功能,让你的用户通过网上邻居看到你的服务器和共享的资源。其主要配置文件有:
/etc/smbconf
/etc/smbusers
代理服务和防火墙(routed lpmasquerdde ipfwadm)的设置对于一些用户也是必要的。在Windows NT中也有“routed”命令,但要实现共享IP地址却要使用专门的代理软件,如proxy Server、 Wingate、Winproxy等。在这方面,Linux利用核心支持的“ipmasquerad”功能,配合“routet”和“ipfwadm”则可以轻松地实现这一功能,并且在使用浏览器时还不需要指定代理服务器,同时利用“ipfwadm”确定接收和发送数据包的规则,并且还可以提供基于包过滤的防火墙设施。它的主要配置命令有:
/sbin/ipfwadm -F -P deny
/sbin/ipfwadm -F -a m -s 19216800/16 -D 0000/0
/sbin/route add -net 19216800 netmask 2552552550 gw 1300401
6SQL数据库系统
SQL数据库系统(postgresql)在目前的Intranet环境中是越来越重要了,但在Windows NT平台上运行的商品化的SQL数据库价格不菲。Linux系统集成的SQL数据库主要有Postgre和SQLmysql,它们均达到了SQL92的标准,并且提供在 Windows系统的客户端的ODBC驱动程序,是非常理想的后端数据库系统。PostgreSQL是普遍使用的免费SQL数据库系统之一,而且是一些商用SQL数据库的原形。尽管它可能没有现在的某些商品化SQL功能强大,并且能够处理中文,作为一般的Intranet Web数据库系统,使用它已经是绰绰有余了。它还为编制CGI程序提供了方便的接口。要访问postgreSQL可使用命令“psql”,缺省的管理员账号“postgres”是在安装后禁用的,需要给予登录权限。为了让Web客户能够访问数据库,我们需要给“nobody”用户授权。
微软的ASP技术作为IIS的模块,可以简化CGI程序的编制,提高Web服务器的效率,提供灵活的数据库连接方法。Linux系统中的Apache也有相应的PHP模块,由于Linux系统中包含有使用最广泛的CGI编程语言PERL 5,所以我们可以轻松而高效地设计CGI程序。
7其他实现
Linux系统里还有一些对构建Intranet环境比较有用的东西,比如磁盘限额(quota)服务,使用限额机制可以控制用户对资源的拥有量,防止非法上载,是多用户环境下必须具备的功能。我们还是以RedHat为例,RedHat中启动磁盘限额方法很简单,只需要使用Linuxconf中的相应选项即可。但是你需要在实施限额的文件系统的根目录下建立“quotauser”和“quotagroup”两个空文件,并且,应该在安装完系统后立即启动该服务,linuxconf程序不光可以动态配置系统,而且具有多种工作界面,极大地方便了用户配置与管理系统。为了能够运行linuxconf,我们必须以根(root)用户的身份登录Linux系统。如果你不是以根用户的身份登录系统,那么可在系统提示符下执行“su”命令,变成根用户。常见的linuxconf工作界面有:命令行界面、字符单元界面(使用了像RedHat Linux安装时的用户界面形式)、基于XWindow的界面(提供易于使用的“点击”树状菜单)。
我们以RedHat Linux 60系统为例,想要linuxconf在Web浏览器环境工作,必须进行以下设置:
在gnome-linuxconf对话框中,打开“Config/Networking/Misc/Linuxconf network access”分支,选中“Enable netwoork access”选项。
在对话框中输入任何允许使用Linuxconf的计算机的主机名,包括用户主机名字。
选择“Accept”按钮,并按空格键,单击“Quit”按钮。
启动Netscape浏览器,在URL栏键入:http://〈hostname〉:98/ 〈cr〉。其中,必选项“hostname”应换成用户计算机的主机名。
选择浏览器页面底部的“Start”按钮,在弹出的口令验证框中,分别输入根用户的名字“root”和相应的口令。如果口令正确,则进入基于Web的linuxconf工作界面。该界面主要由Config和Control两部分组成,它们各自均含有5个具有超链接特性的选项,用户单击具体的选项,即可打开对应的页面,完成相应的配置。
Linux系统中包含的“sendmail”是Internet电子邮件系统中主要的SMTP软件,“imapd”软件是POP3邮件服务器,可以让你使用Netscape或IE轻松收发电子邮件。注意,你要在/etc/sendmailcw中添加内部域名,再将/etc/sendmailcf中的F项修改为Fw/etc/sendmailcw远程登录(Telnet)。
现在有很多的关于Linux系统方方面面的文章,所以如果是要建立一个基于Linux系统的Intranet环境,还有很多的参考,而且要是想让你的Intranet环境完美起来,还有很多的服务等你实现。
(出处:http://wwwhackhomecom)
昨天我们写了一篇《linux下配置web+ftp服务器全教程(一) 》说完了Web服务器的安装全过程,今天我们继续说下在apahce服务器上集成vsftp,以及apache和vsftp虚拟账户的权限配置。
三、web服务器下的ftp安装配置
linux下的ftp开源软件很多,我们这里选择的是vsftp,它的信息你可以去问度娘,不解释,直接进入安装配置,同样我们使用yum命令。
yum install vsftpd pam db4 安装vsftpd主程序/pam验证/db4工具
chkconfig vsftpd on 设置vsftpd开机启动
service vsftpd start 启动vsftpd服务
1、配置vsftpd配置文件:
vsftpd的配置文件默认位置在:/etc/vsftpd/vsftpdconf,通常情况下我们选择先备份一份原始的配置文件,然后编辑,具体步骤如下:
mv vsftpdconf vsftpdconf-old 将vsftpdconf文件改名为vsftpdconf-old 备份
vi /etc/vsftpd/vsftpdconf 新建并编辑vsftpdconf文件
我的习惯是直接更名原始配置文件然后新建一个文件写入需要的配置信息,你同样可以复制一份原始文件,然后修改。
接上打开新建vsftpdconf文件,按照如下配置写入:
anonymous_enable=NO
//禁止匿名用户登录,通常我们web服务器上的ftp都不允许匿名登录
local_enable=NO
//禁止(或允许)本地用户登录
write_enable=YES
//赋予可写入权限
chroot_local_user=YES
//锁定用户目录,ftp用户登录ftp只能在自己的目录下操作
anon_upload_enable=NO
anon_mkdir_write_enable=NO
//禁止匿名用户的上传、新建目录权限
dirmessage_enable=YES
//允许ftp用户列出文件目录
xferlog_enable=YES
//写入日志
connect_from_port_20=YES
listen=YES
//使用端口20,通常这几项是默认的
pam_service_name=vsftpdpamconf
userlist_enable=YES
tcp_wrappers=YES
//第一行比较重要,指定了pam验证的配置文件
guest_enable=YES
//开启虚拟用户
guest_username=apache
//指定虚拟用户使用本地用户apache的权限这项特别重要,web服务器上面的ftp虚拟用户一定要设置成apache权限,否则ftp上传的文件不能被正常访问,也无法修改网站生成的文件。
user_config_dir=/etc/vsftpd/vuser_conf
//虚拟用户的配置文件存放位置
virtual_use_local_privs=YES
//虚拟用户使用本地用户权限,这项要有,否则ftp用户无法更改文件权限
然后保存并退出vi编辑器,这一步我们的vsftpconf就配置好了,执行:service vsftpd restart 重启vsftpd服务测试配置文件书写是否正确。
2、添加vsftpd虚拟账户:
上面我们配置了虚拟用户的验证文件类型是pam,文件名是vsftpdpamconf,下面步骤我们要进入目录/etc/vsftpd 中建立虚拟用户db库:
vi vuservsftpdtxt 新建并编辑文件vuservsftpdtxt
写入你要建立的虚拟用户和密码,单行为用户名双行为密码,注意此不能有空格,示例:
vuser1
password1
vuser2
password2
………………
建立完成后保存退出,然后通过db命令来生成vsftpd验证需要使用的虚拟用户库文件:
db -T -t hash -f vuservsftpdtxt vsftpdpamconfdb
//注意db文件名要与vsftpdconf中设置的pam认证名相同
组后我们为了安全可以删掉刚刚新建的vuservsftpdtxt,下次需要添加用户名的时候再新建即可,还可以将vsftpdpamconfdb文件权限设置为644。
3、添加vsftpd虚拟账户配置文件:
只新建了账户验证还是不够的,因为虚拟账户没有对应的配置文件并不会生效,1步里面我们在vsftpdconf文件中确定了虚拟账户的配置文件目录为:/etc/vsftpd/vuser_conf,下面我们进入这个目录工作:
配置文件的命名必须是与虚拟账户名相同,所以我们新建了两个文件:vuser1、vuser2,并根据需要写入如下配置信息:
local_root=/var/www/html/demo
//设定虚拟用户的更目录,因为我们需要实现每一个网站一个ftp帐号管理,所以他的根目录就是我们需要管理的网站虚拟目录。
write_enable=YES
download_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
//赋予虚拟用户写入、下载上传、新建目录等其它权限
anon_world_readable_only=no
//目前不明白这个的意义,但是必须存在
上面是我的配置文件,你可根据需要添加或者注销部分权限,注销只需要在语句前面加上“#”号,当然你也可以直接删掉。
到这里我们的linux下web+ftp就可以配置成功了,你也可以使用ftp软件登录上传程序并安装你的网站。
上面都配置完成网站还是无法访问也无法登录ftp怎么办?
在做了如上配置,并且保证你所做的配置都没有问题的情况下,你就要考虑下防火墙和linux的默认安全机制,有些系统默认是开启SElinux和iptable防火墙的,这时我们需要将其关闭来检验是否配置成功:
setenforce 0
service iptables stop
//临时关闭selinux和iptables防火墙,重启后恢复
上面是临时关闭安全机制selinux和防火墙iptables的方法,通常笔者不建议永久关闭,因为我们的服务需要保护,如果关闭后测试以上web和vsftp都可以正常访问那我们再来慢慢配置防火墙规则,有关88iptables的配置我们下篇文章继续讨论。
本文作者:冯志强,原文出自:http://wwwcrazyerorg 转载注明。
0条评论