Linux  配置Apache服务器 上(安装,虚拟目录)




Apache是应用最广泛的Web服务器

        Apache的特点:

                             实现动态共享对象(DSO),允许在运行时动态装载功能模块

                             采用预生成模式的技术提高响应速度

                             跨平台:Unix、Linux、Windows等平台

                             支持HTTP 1.1协议、支持HTTP认证

                             简单而强有力的基于文件的配置

                             支持虚拟主机

                             集成了代理服务器

                             可定制的服务器日志

                             支持SSL

                             用户会话过程的跟踪能力

                             支持CGI、Perl、SSI、PHP、Java Serverlets

                             支持第三方软件开发商提供的大量功能模块   


Apache服务器的配置:

      

场景:

      配置一台基于Apache的Web服务器,运行两个不同域名的网站。


主机名: oa.abc.local

crm.abc.local

IP地址:192.168.188.22192.168.188.22
您实验环境的IP

一.实验环境:


     操作系统的安装根据博文附件中的《RHEL 安装-文本最小化安装.docx》进行的最小化安装,其中安装了core及base两个组。


[root@112 ~]# cat /etc/redhat-release              // 查看版信息
[root@112 ~]# uname -a                             //查看详细信息    

     服务器的基本配置:

        根据你的实验环境进行配置、修改IP

[root@112 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0     //配置修改IP

按“i”进行修改

DEVICE="eth1"

BOOTPROTO=static

NM_CONTROLLED="yes"

ONBOOT="yes"

TYPE="Ethernet"

IPADDR=192.168.188.22

NETMASK=255.255.255.0

GATEWAY=192.168.188.2

修改后按下“ESC”后输入“:x”回车(保存并退出)

[root@112 ~]# vi /etc/sysconfig/network                    //修改主机名

NETWORKING=yes

HOSTNAME=li.abc.local

[root@112 ~]# service network restart                         //重启服务

Shutting down interface eth0:                              [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface eth0:                                [  OK  ]

[root@112 ~]# service iptables stop                         //关闭防火墙
[root@112 ~]# chkconfig iptables off                        //开机自动关闭防火墙
[root@112 ~]# vi /etc/sysconfig/selinux                     //关闭安全策略管理

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#       enforcing - SELinux security policy is enforced.

#       permissive - SELinux prints warnings instead of enforcing.

#       disabled - SELinux is fully disabled.

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

#       targeted - Only targeted network daemons are protected.

#       strict - Full SELinux protection.

SELINUXTYPE=targeted

重新启动以便生效

[root@112 ~]# reboot                      //重启

二.Apache服务器的安装于基本配置

   安装Apache服务组件,安装的方法有两种:一种是RPM安装 ,一种是YUM安装。在这里我选择RPM安装。

[root@li ~]# mkdir /mnt/cdrom                         //在mnt中创建目录cdrom
[root@li ~]# mount /dev/cdrom /mnt/cdrom/                     //挂载到新建的目录

mount: block device /dev/sr0 is write-protected, mounting read-only

[root@li ~]# cd /mnt/cdrom/Packages/                         //进入目录
[root@li Packages]# ls http*                              // 查看http开头的文件

httpd-2.2.15-26.el6.x86_64.rpm     

httpd-devel-2.2.15-26.el6.x86_64.rpm  

httpd-tools-2.2.15-26.el6.x86_64.rpm

httpd-devel-2.2.15-26.el6.i686.rpm 

httpd-manual-2.2.15-26.el6.noarch.rpm

[root@li Packages]# rpm -Uvh httpd-2.2.15-26.el6.x86_64.rpm     //安装RPM包

error: Failed dependencies:

        /etc/mime.types is needed by httpd-2.2.15-26.el6.x86_64

        apr-util-ldap is needed by httpd-2.2.15-26.el6.x86_64

        httpd-tools = 2.2.15-26.el6 is needed by httpd-2.2.15-26.el6.x86_64

        libapr-1.so.0()(64bit) is needed by httpd-2.2.15-26.el6.x86_64

        libaprutil-1.so.0()(64bit) is needed by httpd-2.2.15-26.el6.x86_64

解决包的依赖性

[root@li Packages]#rpm -Uvh httpd-2.2.15-26.el6.x86_64.rpm \

httpd-tools-2.2.15-26.el6.x86_64.rpm \

apr-util-ldap-1.3.9-3.el6_0.1.x86_64.rpm \

apr-util-1.3.9-3.el6_0.1.x86_64.rpm \

apr-1.3.9-5.el6_2.x86_64.rpm \

mailcap-2.1.31-2.el6.noarch.rpm

Preparing...                ########################################### [100%]

   1:apr                    ########################################### [ 17%]

   2:apr-util               ########################################### [ 33%]

   3:apr-util-ldap          ########################################### [ 50%]

   4:httpd-tools            ########################################### [ 67%]

   5:mailcap                ########################################### [ 83%]

   6:httpd                  ########################################### [100%]



启动HTTP服务:

[root@li Packages]# vi /etc/httpd/conf/httpd.conf         //修改配置文件

# redirections will not work.  See also the UseCanonicalName directive.

#

# If your host doesn't have a registered DNS name, enter its IP address here.

# You will have to access it by its address anyway, and this will make

# redirections work in a sensible way.

#

#ServerName www.example.com:80

ServerName localhost:80        ←把默认端口设置成80

#

[root@li Packages]# chkconfig httpd on                 //开机自动开启
[root@li Packages]# service httpd start                           //启动服务

Starting httpd:                                            [  OK  ]

[root@li Packages]# ps aux |grep httpd            //查看当前HTTPD的进程

root      1766  0.0  0.7 173484  3676 ?        Ss   16:21   0:00 /usr/sbin/httpd

apache    1768  0.0  0.4 173484  2424 ?        S    16:21   0:00 /usr/sbin/httpd

apache    1769  0.0  0.4 173484  2424 ?        S    16:21   0:00 /usr/sbin/httpd

apache    1770  0.0  0.4 173484  2424 ?        S    16:21   0:00 /usr/sbin/httpd

apache    1771  0.0  0.4 173484  2424 ?        S    16:21   0:00 /usr/sbin/httpd

apache    1772  0.0  0.4 173484  2424 ?        S    16:21   0:00 /usr/sbin/httpd

apache    1773  0.0  0.4 173484  2424 ?        S    16:21   0:00 /usr/sbin/httpd

apache    1774  0.0  0.4 173484  2424 ?        S    16:21   0:00 /usr/sbin/httpd

apache    1775  0.0  0.4 173484  2424 ?        S    16:21   0:00 /usr/sbin/httpd

root      1824  0.0  0.1 103244   828 pts/0    S+   18:26   0:00 grep httpd


用浏览器访问,能看到测试页面

wKioL1P0P6KjPcEcAABzysM-c_o238.gif


配置HTTPD服务器:

    安装Apache时,会自动创建一个新的账户

[root@li Packages]# tail /etc/passwd            //查看passwd的后十行

nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin

user1:x:500:500::/home/user1:/bin/bash

user2:x:501:501::/home/user2:/bin/bash

user3:x:502:502::/home/user3:/bin/bash

user4:x:503:503::/home/user4:/bin/bash

staff:x:504:504::/home/staff:/bin/bash

yunhe:x:505:505::/home/yunhe:/bin/bash

apache:x:48:48:Apache:/var/www:/sbin/nologin

[root@li Packages]# rpm -qc httpd                   //查看已个httpd包的配置文件

[root@li Packages]# rpm -qc httpd

/etc/httpd/conf.d/welcome.conf

/etc/httpd/conf/httpd.conf

/etc/httpd/conf/magic

/etc/logrotate.d/httpd

/etc/sysconfig/htcacheclean

/etc/sysconfig/httpd

/var/www/error/HTTP_BAD_GATEWAY.html.var

/var/www/error/HTTP_BAD_REQUEST.html.var

/var/www/error/HTTP_FORBIDDEN.html.var

/var/www/error/HTTP_GONE.html.var

/var/www/error/HTTP_INTERNAL_SERVER_ERROR.html.var

/var/www/error/HTTP_LENGTH_REQUIRED.html.var

/var/www/error/HTTP_METHOD_NOT_ALLOWED.html.var

/var/www/error/HTTP_NOT_FOUND.html.var

/var/www/error/HTTP_NOT_IMPLEMENTED.html.var

/var/www/error/HTTP_PRECONDITION_FAILED.html.var

/var/www/error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var

/var/www/error/HTTP_REQUEST_TIME_OUT.html.var

/var/www/error/HTTP_REQUEST_URI_TOO_LARGE.html.var

/var/www/error/HTTP_SERVICE_UNAVAILABLE.html.var

/var/www/error/HTTP_UNAUTHORIZED.html.var

/var/www/error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var

/var/www/error/HTTP_VARIANT_ALSO_VARIES.html.var

/var/www/error/contact.html.var

/var/www/error/include/bottom.html

/var/www/error/include/spacer.html

/var/www/error/include/top.html


配置每个用户的Web站点:

    配置每个用户的Web站点目的是使在安装了Apache计算机上,拥有用户账号的每个用户都能够架设自己的单独的Web站点

   

[root@li Packages]# cd /etc/httpd/conf
[root@li conf]# cp httpd.conf httpd.conf.origin               //备份
[root@li conf]# vi /etc/httpd/conf/httpd.conf            //进入编辑模式对其修改

可以通过vi的搜索功能快速找到要编辑的内容。在命令模式下输入

/UserDir (注意大小写)


Apache的默认的配置是通注释符号#来禁用用户个人Web站点的,可以将相应的注释// 符号删除

<IfModule mod_userdir.c>

// 用于安全的考虑,禁用root用户使用自己的个人站点

UserDir disable root

// 配置第个用户的Web站点的目录名

UserDir public_html

</IfModule>

// 设置每个用户的Web站点目录的访问权限,将下面的配置行前#去掉

<Directory /home/*/public_html>

AllowOverride FileInfo AuthConfig Limit

Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

<Limit GET POST OPTIONS>

Order allow,deny

Allow from all

</Limit>

<LimitExcept GET POST OPTIONS>

Order deny,allow

Deny from all

</LimitExcept>

</Directory>

修改后保存退出

[root@li conf]# service httpd restart             //重启httpd服务

Stopping httpd:                                            [  OK  ]

Starting httpd:                                            [  OK  ]


[root@li conf]# useradd li               //创建一个新的用户li
[root@li conf]# su - li                  //切换到新用户
[li@li ~]$ mkdir public_html                     //创建目录pudlic_html
[li@li ~]$ ll -d /home/li/                             //查看文件信息

drwx------ 3 li li 4096 Aug 16 19:08 /home/li/

[li@li ~]$ chmod 711 /home/li/                               //修改文件的权限
[li@li ~]$ ll -d /home/li/                        

drwx--x--x 3 li li 4096 Aug 16 19:08 /home/li

[li@li ~]$ cd ~/public_html/
[li@li public_html]$ vi index.html                 //创建页面编辑文字

LI

[li@li public_html]$ cat index.html                           //查看内容

LI

用浏览器进行访问

wKioL1P0UGji0lCNAAA5-xk9Qb4719.gif

创建虚拟目录:


虚拟目录是一个目录的显示名或别名,它可以在在本地或远程的计算机。用户可以通过虚拟目录来访问Web页面。

使用虚拟目录确保用户不需要知道Web服务中文件的真实位置,因此能够使Web站点更安全

在Apache中,创建虚拟目录有两种方法

场景:我们安装一套BBS系统,安装目录为/opt/bbs。需要使用虚拟目录将其融入到我们的Web站点中。

模拟安装一套BBS系统


root@li ~]# mkdir /opt/bbs                                //创建bbs目录
[root@li ~]# ls -ld /opt/bbs/                            //查看bbs文件的详细信息

drwxr-xr-x 2 root root 4096 Aug 16 19:56 /opt/bbs/

[root@li ~]# echo 'li`123'> /opt/bbs/index.html        //创建一个测试网页
[root@li ~]# ln -s /opt/bbs/ /var/www/html/bbs                //创建软连接
[root@li ~]# ls -l /var/www/html/bbs                        //进行查看

lrwxrwxrwx 1 root root 9 Aug 16 20:03 /var/www/html/bbs -> /opt/bbs/


打开浏览器输入:HTTP://192.168.188.22/bbs

wKiom1P0VKrgDpX-AABAwSocXSo357.gif

测试结束后,删除符号链接以下进入一步实验

[root@li ~]# rm /var/www/html/bbs                        //删除bbs目录

rm: remove symbolic link `/var/www/html/bbs'? y


由于文字超过上限,分成上下两篇,下篇主要是虚拟主机的创建.

               

                                      谢谢您的光临!