使用Apache搭建Web网站服务器 |
您所在的位置:网站首页 › apache2搭建网站 › 使用Apache搭建Web网站服务器 |
使用Apache搭建Web网站服务器 一:实验目标 apache服务器常见概念 apache服务器安装及相关配置文件 例1:为公司内网搭建一个web服务器 例2:使用rpm搭建lamp 环境 例3:修改网根目录及对应参数,设置访问权限 例4,:使用别名,引用网站根目录以外的路径。 例5:打开软链接功能。 通过软件链接直接引用网站根目录以外的内容 例6:当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表 例7:通过用户认证的方式,对网站下/usr/local/phpmyadmin/目录进行保护。 例8:配置apache虚拟主机,实现在一台服务器上运行多个网站
二:实验环境 服务端:xuegod63.cn IP:192.168.1.63 客户端:xuegod64.cn IP:192.168.1.64 三:实验步骤 一:相关服务概述 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。 WEB服务器也称为WWW(WORLD WIDE WEB,万维网)服务器,主要功能是提供网上信息浏览服务。 模式: B/S 模式,服务的端口为:80: http 443:https 在Apache中,其配置文件目录为“/etc/httpd/conf/httpd.conf”,这里面包括设置网站资源的存放目录及一些相关的配置。
二:服务安装及相关配置详解 1:安装httpd服务器 1.1:安装服务器端:httpd及测试工具 [root@xuegod63 ~]# yum install httpd -y [root@xuegod63 ~]# yum install elinks -y [root@xuegod63 ~]# yum install httpd-devel -y [root@xuegod63 Packages]# yum install elinks -y 1.2启动服务 [root@xuegod63 ~]# service httpd restart [root@xuegod63 ~]# chkconfig httpd on 1.3:查看端口 [root@xuegod63 ~]# netstat -anutp | grep 80 tcp 0 0 :::80 :::* LISTEN 3854/httpd
2:服务相关配置文件 2.1:查看目录下相关文件作用 [root@xuegod63 httpd]# pwd /etc/httpd [root@xuegod63 httpd]# ls conf conf.d logs modules run 注释: Conf 是存放服务的主配置文件 conf.d 是存放apache的主页面信息 2.2:查看配置信息 [root@xuegod63 ~]#vim /etc/httpd/conf/httpd.conf 1)apache服务器的外部相关配置内容 ServerRoot "/etc/httpd" #apache配置文件的根目录 Timeout 60 #超时时间,即连接服务端在60秒内没有任何操作,即自动断开 Listen 80 #监听的端口 ServerAdmin root@localhost #设置管理员,e-mail 地址 ServerName www.example.com:80 #服务器主机名. 2)apache服务器的主配置内容 DocumentRoot "/var/www/html" #网站页面根目录,存放文档的地方
Options Indexes FollowSymLinks #O目录浏览 #Followsymlinks:可以用连接,要是想要禁止显示文件目录,可以直接在‘indexes’前加‘-’。 AllowOverride None Order allow,deny #目录与访问的控制 Allow from all 注释:Allow,Deny都会读取,如果有冲突和未说明的时候按照Order选项逗号后面的那个为准。 谁写到后面,谁的优先级高。 3)别名功能,引用网站根目录以外的路径。 Alias /icons/ "/var/www/icons/" #别名和别名目录 Options Indexes MultiViews FollowSymLinks AllowOverride None Order allow,deny Allow from all 4)网站没有默认首页的时候显示的内容 Options Indexes #当一个目录没有默认首页时,允许显示此目录列表 Options FollowSymLinks AllowOverride None DirectoryIndex index.html index.html.var #指定默认首页 AddDefaultCharset UTF-8 #设置服务器的默认编码为: UTF-8
三:实战 实战1: 1:实验要求 首先取消apache默认欢迎页,改为“welcome to www.xuegod.cn”,使用rpm搭建lamp 环境,修改网根目录及对应参数,设置访问权限,允许1.0网段和百度来访问,不允许2.0网段访问。使用别名功能,引用网站根目录以外的路径。将/usr/local/phpmyadmin 目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.1.63/phpmyadmin/ 时,就可以访问目录/usr/local/phpmyadmin中的内容。 2:实验步骤 例1:为公司内网搭建一个web服务器 (1)apache默认欢迎页如下图所示,其欢迎页的默认目录为“/etc/httpd/conf.d/welcome.conf”
(2)取消apache默认欢迎页:它会显示目录,列表,图标 [root@xuegod63 ~]# vim /etc/httpd/conf.d/welcome.conf # #把红色内容注释 # Options -Indexes # ErrorDocument 403 /error/noindex.html # [root@xuegod63 ~]# service httpd restart
(3)重新创建首页并重启服务 [root@xuegod63 conf.d]# echo 'welcome to www.xuegod.cn!' > /var/www/html/index.html [root@xuegod63 ~]# service httpd restart 测试:
例2:使用rpm搭建lamp 环境 LAMP 环境是由多个数据包共同搭建完成的,LAMP = linux+apache+mysql数据库+php,搭建完成之后,最终会支持php 1:安装相应的软件包 [root@xuegod63 ~]# yum install httpd mysql-server php php-mysql -y [root@xuegod63 ~]# service mysqld start [root@xuegod63 ~]# chkconfig mysqld on 2:编写php首页文档 [root@xuegod63 html]# cd /var/www/html/ [root@xuegod63 html]# vim index.php [root@xuegod63 html]# service httpd restart 3:测试apache是否支持php
例3:修改网页根目录及对应参数,设置访问权限 1):创建根目录并拷贝数据 [root@xuegod63 html]# mkdir bbs [root@xuegod63 html]# cp -r /boot/grub/ bbs/ [root@xuegod63 bbs]# cp /etc/passwd /var/www/html/bbs/
2):修改Apache主配置文件,给其权限 [root@xuegod63 html]# vim /etc/httpd/conf/httpd.conf 改:#DocumentRoot “/var/www/html” 为:DocumentRoot “/var/www/html/bbs”
Options FollowSymLinks Order allow,deny #Allow from all allow from 192.168.1.0/24 deny from 192.168.2.0/24 allow from .baidu.com #Allow,Deny都会读取,如果有冲突和未说明的时候按照Order选项逗号后面的那个为准。 谁写到后面,谁的优先级高。
3)重启测试 [root@xuegod63 conf]# service httpd restart
例4:使用别名功能,引用网站根目录以外的路径 在这里/phpmyadmin/ "/usr/local/phpmyadmin/ 引用别名功能,实现访问别名直接能够充分从网页根目录进行访问。所谓的别名功能指的就是跳板原理,将网站根目录与新创建的目录关联起来。当方位新目的之手,直接从新目录跳转到网站的根目录,从而访问到网站的根目录。 创建别名目录,拷贝数据并创建网页首页面 [root@xuegod63 ~]# mkdir /usr/local/phpmyadmin [root@xuegod63 ~]# cp -r /boot/grub/ /usr/local/phpmyadmin/ [root@xuegod63 ~]# echo "wecome to my test" > /usr/local/phpmyadmin/test.html
修改Apache服务器的主配置文件 [root@xuegod63 ~]# vim /etc/httpd/conf/httpd.conf
注:Alias /phpmyadmin/ "/usr/local/phpmyadmin/" #/phpmyadmin/ 可以随意起。比如改/phpmyadmin/ 为/php/ 则访问链接: http://192.168.1.63/php
测试 [root@xuegod63 ~]# service httpd restart
注释:这里做的时候即使不显示内容,也是正常的。
实战2: 例5:打开软链接功能。 通过软件链接直接引用网站根目录以外的内容 例6,当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表 例7:通过用户认证的方式,对网站下/usr/local/phpmyadmin/目录进行保护。 1:实验要求 当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表 修改配置文件。在打开软链接功能。 通过软件链接直接引用网站根目录以外的内容。通过用户认证的方式,对网站下/usr/local/phpmyadmin/目录进行保护。 设置/usr/local/phpmyadmin/目录,只能通过用户名密码方式访问。
2:实验步骤 1)禁止显示目录列表 [root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf # 修改红色标记内容 Alias /phpmyadmin/ "/usr/local/phpmyadmin/" Options -Indexes FollowSymLinks #在Indexes 前加-减号,此目录下没有默认首页时,禁止显示目录 AllowOverride None Order deny,allow Allow from all 测试 [root@xuegod63 ~]# service httpd restart
3)通过软件链接直接引用网站根目录以外的内容 [root@xuegod63 html]# mkdir /web2 [root@xuegod63 html]# echo "welcome to the test1" > /web2/b.html [root@xuegod63 html]# ln -s /web2 /var/www/html/web2 #ln创建软连接,s指原目标 [root@xuegod63 html]# vim /etc/httpd/conf/httpd.conf Options Indexes FollowSymLinks #默认开启
测试 [root@xuegod63 ~]# service httpd restart
3)通过用户认证的方式 方法一: [root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf #在需要使用用户验证的目录的相关Directory段落添加以下红色标记内容:
Alias /phpmyadmin/ "/usr/local/phpmyadmin/" Options Indexes FollowSymLinks AllowOverride None Order deny,allow Allow from all authtype basic authname "MySQL admin software......." authuserfile /etc/httpd/conf/passwd.secret #require user tom #require user tom bob require valid-user
参数说明: authtype basic # 1)authtype命令:指定认证类型为:basic。 authname "MySQL admin software......." #请不要动我的奶酪 # AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的。如图:
authuserfile /etc/httpd/conf/passwd.secret #AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。 require命令:指定哪些用户才能被授权访问。如: require user user1 user2(只有用户user1和user2可以访问) require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)
利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文 [root@xuegod63 phpmyadmin]# htpasswd -h #查看参数 -c Create a new file. -m Force MD5 encryption of the password. [root@xuegod63 conf]# htpasswd -cm 存放用户名和密码的文件名 用户名 [root@xuegod63 conf]# htpasswd -cm /etc/httpd/conf/passwd.secret tom New password: 123456 Re-type new password: 123456 Adding password for user tom #第一个生成用户名和密码,需要创建文件,因此需要加-c参数 [root@xuegod63 conf]# htpasswd -m /etc/httpd/conf/passwd.secret bob New password: 123456 Re-type new password: 123456 Adding password for user bob
测试: [root@xuegod63 conf]# service httpd restart http://192.168.1.63/phpmyadmin/
注释:这里记得把之前写的“禁止显示目录列表”的‘-’给去掉。
方法二: #vim httpd.conf #在需要使用用户验证的目录的相关Directory段落添加 Alias /phpmyadmin/ "/usr/local/phpmyadmin/" Options Indexes FollowSymLinks AllowOverride None Order deny,allow Allow from all AllowOverride AuthConfig
# AllowOverride AuthConfig一行表示允许对/usr/local/phpmyadmin/目录下的文件进行用户认证。
在要保护的目录下创建一个存放进行用户认证信息的文件: [root@xuegod63 conf]# vim /usr/local/phpmyadmin/.htaccess #写入以下内容 authtype basic authname "MySQL admin software by .htaccess" authuserfile /etc/httpd/conf/passwd.secret #require user tom require valid-user
利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文 [root@xuegod63 conf]# htpasswd -cm /etc/httpd/conf/passwd.secret tom New password: 123456 Re-type new password: 123456 Adding password for user tom
[root@xuegod63 conf]# htpasswd -m /etc/httpd/conf/passwd.secret bob New password: 123456 Re-type new password: 123456 Adding password for user bob [root@xuegod63 conf]# cat /etc/httpd/conf/passwd.secret #查看内容 tom:$apr1$WJicnaIz$ejqYMmcqukEMsAVEjLcKf. bob:$apr1$S8pXfxJh$tletPNMKd33WZXqdkSLFy0 [root@xuegod63 conf]# service httpd restart 测试: http://192.168.1.63/phpmyadmin/
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |