<span id='w9ijm'></span>

      <dl id='w9ijm'></dl>

      <fieldset id='w9ijm'></fieldset>

        <code id='w9ijm'><strong id='w9ijm'></strong></code>
        <acronym id='w9ijm'><em id='w9ijm'></em><td id='w9ijm'><div id='w9ijm'></div></td></acronym><address id='w9ijm'><big id='w9ijm'><big id='w9ijm'></big><legend id='w9ijm'></legend></big></address>

      1. <i id='w9ijm'></i>
        <i id='w9ijm'><div id='w9ijm'><ins id='w9ijm'></ins></div></i>

      2. <ins id='w9ijm'></ins>

      3. <tr id='w9ijm'><strong id='w9ijm'></strong><small id='w9ijm'></small><button id='w9ijm'></button><li id='w9ijm'><noscript id='w9ijm'><big id='w9ijm'></big><dt id='w9ijm'></dt></noscript></li></tr><ol id='w9ijm'><table id='w9ijm'><blockquote id='w9ijm'><tbody id='w9ijm'></tbody></blockquote></table></ol><u id='w9ijm'></u><kbd id='w9ijm'><kbd id='w9ijm'></kbd></kbd>
        1. CentOS(Linux)下的apache服务器配置与管理方法分享

          • 时间:
          • 浏览:20
          • 来源:124软件资讯网
            一、WEB服务器与Apache
            1、web服务器与网址
            2、Apache的历史
            3、增补
            http://www.netcraft.com/可以检察apache服务器的市场占有率
            同时必须注重的是ngnix  ,正处于强势增加的上升时期  ,大有和apache一争天下的感受  ,真是少年老成~~~
            二、Apache服务器的治理下令
            1、下令启动:service httpd start/stop/restart/reload/condrestart/status/configtest/graceful/help
            2、剧本启动:/etc/init.d/httpd start/stop/.....
            3、设为开机自动启动:ntsysv+空格键
            三、Apache服务器的目录和文件
            1、WEB站点目录
            /var/www Apache站点文件的目录
            /var/www/html 存放WEB站点的WEB文件
            /var/www/cgi-bin CGI法式文件
            /var/www/html/manual Apache WEB服务器手册

            2、设置文件
            .htaccess 基于目录的设置文件 ,.htaccess文件包罗对它所在目录中文件的会见控制指令
            /etc/httpd/conf/httpd.conf Apache WEB服务器设置文件目录

            3、启动剧本
            /etc/rc.d/init.d/httpd WEB服务器守护历程的启动剧本
            /etc/rc.d/rc3.d/S85httpd 将运行级目录(/etc/rc3.d)毗连到目录/etc/rc.d/init.d中的启动剧本

            4、应用文件
            /usr/sbin 存放Apache WEB服务器法式文件和应用法式的位置
            /usr/doc/ 放置Apache WEB服务器文档
            /var/log/http 放置Apache 日志文件的位置
            四、更多下令
            1、检察Apache安装信息:apachectl -C
            2、对Apache的设置文件举行语法检查:apachectl -t
            3、检察Apache编译设置参数:apachectl -V
            4、检察Apache的编译模块:apachectl -l
            五、httpd.conf设置文件
            (一)基本设置
            httpd.conf文件包罗为下面三个部门:
            1. 全局情况设置:控制整个Apache服务器行为的部门(即全局情况变量
            2. 主服务器设置:界说主要或者默认服务参数的指令  ,也为所有虚拟主机提供默认的设置参数
            3. 虚拟主机设置:虚拟主机的设置参数
            其中  ,一行写不下使用“\”表现换行  ,除了选项的参数值外  ,所有选项指令不区分巨细写  ,“#”表现注释  。
            现在  ,我们来学习httpd.conf中的详细设置项:
            1.设置相对根目录的路径
            相对根目录通常是Apache存放设置文件和日志文件的地方  ,通常情形下相对根目录是"/etc/httpd"  ,它一样平常包罗conf和logs子目录 ,此时可以接纳"ServerRoot"/etc/httpd""花样举行设置  。
            2.设置Apache监听的IP地址和端口号
            Apache默认会在本机所有可用IP地址上的TCP 80端口监听客户端的请求  ,可以使用Listen语句以便在某个指定地址和端口上监听请求  。例如设置服务器只监听192.168.0.94的80端口  ,则可以在httpd.conf中举行响应的设置:Listen 192.168.0.94:80  。若是需要更改端口号为8080  ,也可以接纳"Listen 192.168.0.94:8080"之类的设置  ,可是此时通过网页浏览器会见网站的时间也必须在域名地址后面添加响应的端口号 ,例如输入"http://192.168.0.94:8080"才可以举行会见  。注:我的虚拟机Linux的IP是192.168.0.94 ,windows的IP是192.168.0.225
            3.设置网络治理员的电子邮件地址
            当客户端盘算机会见服务器发生错误的时间 ,服务器通常都市向客户端盘算机返回错误提醒页面  ,为了利便解决错误 ,在这个网页中通常包罗有治理员的电子邮件地址  ,此时可以接纳ServerAdmin语句来设置治理员的电子邮件地址  ,例如"ServerAdmin xinyuan365@sohu.com"  。
            4.设置服务器主机名称
            为了利便Apache识别服务器自身的信息  ,可以使用ServerName语句来设置服务器的主机名称  。在ServerName语句中 ,若是服务器有域名则填写服务器的域名;若是没有域名 ,则填入服务器的IP地址 。例如"ServerName 192.168.0.94:80"  。
            5.设置主目录的路径
            Apache服务器主目录默认路径为"/var/www/html" ,可以将需要公布的网页放置在这个目录中 ,同时也可以把主目录的路径修改为此外目录便于用户治理和使用 。例如需要将Apache服务器主目录路径设置为"/home/lk/www"  ,则可以在httpd.conf文件中举行响应修改:DocumentRoot "/home/www"  。
            6.设置默认文档
            默认文档是指在网页浏览器中输入Web站点的IP地址或者域名显示出来的Web页面 ,也就是通常所说的主页  。在缺省情形下  ,Apache的默认文档名为index.html  ,默认文档由DirectoryIndex语句举行界说 ,例如在httpd.conf中通过"DirectoryIndex index.html index.html.var"举行设置  ,此时可以将DirectoryIndex语句的默认文档名修改为其他文件  。
            若是有多个文件名 ,每个文件名之间必须用空格举行分开 ,Apache会凭据文件名的先后顺序查找在DirectoryIndex语句中指定的文件名  。若是能找到第1个则挪用第1个  ,否则再寻找并挪用第2个  ,依次类推  。例如添加index.htm和index.php文件作为默认文档 ,则可以响应修改httpd.conf文件为"DirectoryIndex index.html index.htm index.php index.html.var"  。
            7.设置日志文件
            日志文件对于用户查找系统故障或者剖析Web服务器运行状态很是主要 ,此时有两项主要设置内容 。
            (1)错误日志  。错误日志记载了Apache在启动和运行时发生的错误  ,以是当Apache堕落的时间  ,应该首先检查这个日志文件  。通常错误日志的文件名为error_log  ,错误日志文件存放的位置和文件名可以通过ErrorLog参数举行设置  。例如"ErrorLog logs/erroe_log"  。若是日志文件存放路径不是以"/"开头 ,则表现该路径是相对于ServerRoot目录的相对路径  。
            (2)会见日志 。会见日志记载了客户端盘算机所有的会见信息  ,通太过析会见日志可以知道客户机何时会见了网站的哪些文件等信息  。通常会见日志的文件名为access_log ,会见日志文件的存放位置和文件名可以通过CustomLog参数举行设置  ,例如"CustomLog logs/access_log combined"  。
            在这个会见日志设置中  ,combined指明日志使用的花样  ,在这个位置可以使用common或者combined  。其中common是指使用 Web服务器普遍接纳的通俗尺度花样  ,这种花样可以被许多日志剖析法式所识别;combined是指使用组合记载花样  ,和common相比  ,combined的花样基底细同 ,只是多了引用页和浏览器识别信息而已 。
            8.设置默认字符
            AddDefaultCharset选项设置了服务器返回给客户端盘算机的默认字符集 ,由于Apache服务器默认字符集为西欧(UTF-8) ,因此当客户端会见服务器的中文网页时会泛起乱码征象 。解决的措施是将语句"AddDefaultCharset UTF-8"改为"AddDefaultCharset GB2312"  ,然后重新启动Apache服务器 ,中文网页就可以正常显示了  。
            (二)设置目录权限
            1、界说目录特征
            Apache会见的每个目录可设置相关的服务和特征是允许或(和)不允许  。(同样影响其子目录)
            首先  ,设置"default"地址只有最基本的权限:
            . 代码如下:

            Options FollowSymLinks
            AllowOverride None


            注重从现在最先必须制订开启特殊的权限,这样就不会发生意想不到的效果  。请仔细确认 。
            例如:
            . 代码如下:

            #
            # 此值可是: "None", "All", 或下列的组合: "Indexes",
            # "Includes", "FollowSymLinks", "ExecCGI", 或 "MultiViews".
            # 注重"MultiViews"必须明确指定--- "Options All"不包罗此特征 。
            #
            Options Indexes FollowSymLinks MultiViews
            #
            # 此项控制目录中哪些.htaccess文件可笼罩  。
            # 允许值: "All"或者以下项的组合:"Options", "FileInfo",
            # "AuthConfig", "Limit"
            #
            AllowOverride None
            #
            # 控制哪些用户可今后服务器获得资料  。
            #
            Order allow,deny
            Allow from all


            说明:
            allow和deny可以用于apache的conf文件或者.htaccess文件中(配合Directory, Location, Files等)  ,用来控制目录和文件的会见授权  。
            以是  ,最常用的是:
            Order Deny,Allow Allow from All注重“Deny,Allow”中心只有一个逗号  ,也只能有一个逗号  ,有空格都市堕落;单词的巨细写不限  。上面设定的寄义是先设定“先检查克制设定  ,没有克制的所有允许” ,而第二句没有Deny ,也就是没有克制会见的设定 ,直接就是允许所有会见了  。这个主要是用来确保或者笼罩上级目录的设置 ,开放所有内容的会见权  。
            根据上面的诠释 ,下面的设定是无条件克制会见:
            Order Allow,Deny Deny from All若是要克制部门内容的会见  ,其他的所有开放:
            Order Deny,Allow Deny from ip1 ip2或者
            Order Allow,Deny Allow from all Deny from ip1 ip2apache会根据order决议最后使用哪一条规则  ,好比上面的第二种方式  ,虽然第二句allow允许了会见  ,但由于在order中allow不是最后规则  ,因此还需要看有没有deny规则  ,于是到了第三句  ,切合ip1和ip2的会见就被克制了 。注重 ,order决议的“最后”规则很是主要  ,下面是两个错误的例子和纠正方式:
            Order Deny,Allow Allow from all Deny from domain.org错误:想克制来自domain.org的会见  ,可是deny不是最后规则  ,apache在处置惩罚到第二句allow的时间就已经匹配乐成 ,基础就不会去看第三句  。
            解决要领:Order Allow,Deny  ,后面两句不动  ,即可 。
            Order Allow,Deny Allow from ip1 Deny from all错误:想只允许来自ip1的会见  ,可是 ,虽然第二句中设定了allow规则 ,由于order中deny在后  ,以是会以第三句deny为准  ,而第三句的规模中又显着包罗了ip1(all include ip1) ,以是所有的会见都被克制了  。
            解决要领一:直接去掉第三句  。
            解决要领二:
            Order Deny,Allow Deny from all Allow from ip1小结:纪律就是order deny,allow表现deny优先级低而allow优先级高,order allow,deny表现allow优先级低而deny优先级高 。
            (三)建立虚拟目录 若是我们的网站建在了此外目录 ,好比/opt/www/lk下 ,是不是不在主目录/var/www/html下就不能会见了呢  ?固然不是 。 可以使用虚拟目录 ,让用户会见到此外目录下的文件  。虚拟目录是位于Apache主目录外的其他目录 ,一样平常我们通过为虚拟目录建立别名的方式来让web会见 。这样做一是宁静;二是会见简朴  ,不用输入那么长的真是目录地址  ,而只用输入一个简朴的别名就行;三是便于站点目录的移动  ,只要虚拟目录名稳定  ,改变现实存放位置  ,不会影响web会见的 。 我们用Alias选项建立虚拟目录  ,如Alias /bbs/ "/opt/www/lk/" Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all
            (四)举行用户认证 用户认证是网络宁静中极为主要的一个部门  ,让想会见指定网站的用户输入用户名和密码才气举行登录 ,起到了自然的宁静屏障作用 。Apache的宁静认证在现实使用中也是很常见的 。现在就通过一个例子演示若是在Apache服务器中实现用户认证的功效 。 我们对上述的虚拟目录举行操作: Alias /bbs/ "/opt/www/lk/" Options Indexes MultiViews AllowOverride None Order allow,deny Allow from all AuthType:Basic AuthName "welcome go home:" AuthUserFile /etc/httpd/authpwd Require user laoda laoer 说明: AuthType:界说了对用户认证的类型  ,常用的是mod_auth提供的Basic; AuthName:Web浏览器显示在输入用户名和密码框时的提醒文字; AuthUserFile:界说口令文件htpasswd的路径; Require user:界说了允许会见的用户名单 ,名字间用空格分开 。 之后 ,建设authpwd文件用来生存密码  ,touch /etc/httpd/authpwd 接着 ,把用户名和密码写入文件(注重:第一次建立用户时使用-c参数  ,第二个用户被建立就不必写了 ,否则会笼罩适才的用户): [root@localhost http]#htpasswd -c /etc/httpd/authpwd laoda New password: Re-type new password: Add password for user laoda[root@localhost http]#htpasswd /etc/httpd/authpwd laoer New password: Re-type new password: Add password for user laoer 现在service httpd restart ,再用浏览器会见这台linux的IP地址即可  。
            (五)设置虚拟主机为了节约用度和提高服务器的使用效率  ,我们可以在一台机械上建设出多台“主机”  。每个主机都能对外提供WEB服务  ,在外界看来是些差别的网站  ,但对服务器而言  ,实在看似差别的网站  ,实在它们都是运行于统一台主机之上的差别的虚拟主机而已 。怎样设置虚拟主机呢  ?Apache的虚拟主机功效是很是强盛的  ,而且设置很简朴  。主要分为基于IP和基于域名的虚拟主机 。我们先设置基于IP的虚拟主机吧  。这其中也有两种选择  ,你现在有几多个可用IP ?若是你购置了不少IP  ,那么你可以给每个虚拟主机分配差别的IP ,让他们使用相同的端口  ,这是其一  。若是在这个IP欠缺的时代  ,你没哟那么多IP ,只买了一个  ,那么你就可以使用一个IP地址加差别端口的方式 ,让差别的端口会见差别的虚拟主机 。1、IP地址相同  ,但端口号差别:现在我的CentOS上  ,只有一个IP:192.168.0.94 ,我想划分使用8080和8081两个端口设置两个网站  ,编辑httpd.conf:Listen 8080Listen 8081DocumentRoot /var/www/web1DirectoryIndex index.html index.htmHostNameLookups offDocumentRoot /var/www/web2DirectoryIndex index.html index.htmHostNameLookups off重启服务  ,即可  。
            2、端口号相同 ,但IP地址差别  ,如果一个是94  ,一个是95:
            . 代码如下:

            ServerName 192.168.0.94:80
            DocumentRoot /var/www/web1
            DirectoryIndex index.html index.htm


            ServerName 192.168.0.95:80
            DocumentRoot /var/www/web2
            DirectoryIndex index.html index.htm


            若是本机只有一个网卡  ,那么就得在这一块网卡上绑定多IP:

            ifconfig eth0:1 192.168.0.95

            3、基于域名的虚拟主机
            NameVirtualHost 192.168.0.94:
            . 代码如下:

            ServerName www.web1.com:80
            DocumentRoot /var/www/web1
            DirectoryIndex index.html index.htm


            ServerName www.web2.com:80
            DocumentRoot /var/www/web2
            DirectoryIndex index.html index.htm


            然后各人在 ,linux下的/etc/hosts文件或者windows下C:\WINNT\system32\drivers\etc\hosts文件中  ,加入
            192.168.0.94 www.web1.com
            192.168.0.94 www.web2.com

            请各人注重  ,虚拟机设置发生改变后  ,一定要restart 。
            (六)加入PHP支持
            这时  ,我们的APACHE只能支持静态的以HTML或者HTM末端的文件  ,想要支持PHP还得举行如下操作:
            #rpm -qa | grep php  ,查询本机是否已经安装了PHP法式  ,若是没有安装  ,则进入光盘中的CENTOS目录 ,在目录的空缺处打开终端:
            #rpm -ivh php-common-5.1.6-20.el5.i386.rpm
            #rpm -ivh php-cli-5.1.6-20.el5.i386.rpm
            #rpm -ivh php-5.1.6-20.el5.i386.rpm
            这时 ,在/var/www/html目录下新建一个ok.php剧本  ,写入以下内容:
            在浏览器中输入“http://web服务器IP/ok.php”检察是否乐成  。
            处于历史缘故原由  ,有些法式是以.php3或.php4为末端的 。我们需要在php的设置文件中举行修改  ,打开/etc/httpd/conf.d/php.conf
            修改“#AddType application/x-httpd-php-source .php”为“AddType application/x-httpd-php-source .php .php3 .php4”  ,要去掉# ,在.php3/4前是有空格的

            训练1:
            自己在CentOS上使用服务器建设Web服务器  ,设置“/opt/自己名字的拼音”为新建立的虚拟目录 ,此虚拟目录别名是“exam”  ,在此虚拟目录下自己新建一个html文档名为“index.htm”  ,中内容是“写入你自己的名字”  。建立apache用户认证  ,添加两个用户user1(密码123456)和user2(密码654321)  ,最后用浏览器会见“ip/exam/:8080”便可以看到显示你名字的网页 ,即可 。
            训练2:
            设置虚拟主机 。思索  ,怎样设置一台虚拟主机 ,其上跑着四个网站  ,划分是192.168.0.101跑web1 ,192.168.0.102跑web2  ,192.168.0.100上跑www.cba.com和www.nba.com两个网站  。