1 搭建一台测试web服务器

案例:

部门内部搭建一台WEB服务器,采用的IP地址和端口为192.168.10.34:80,首页采用index.html

文件。管理员E-mail地址为 xuegod@xuegod.cn,网页的编码类型采用UTF-8,所有网站资源都存放在/var/www/html目录下,并将Apache的配置文件根目录设置为/etc/httpd目录。

[root@xuegod4 ~]#yum -yinstall httpd

[root@xuegod4 ~]#vim/etc/httpd/conf/httpd.conf

修改配置文件相关参数:

[root@xuegod4 ~]# vim /etc/httpd/conf/httpd.conf #以下参数需要我们掌握

57 ServerRoot "/etc/httpd"#apache配置文件的根目录

70 Timeout 60 #超时时间,接收和发送前超时秒数

136 Listen 80 #监听的端口

262 ServerAdmin root@localhost #设置管理员,e-mail 地址

277 ServerName 192.168.1.163:80 #服务器主机名.

293 DocumentRoot "/var/www/html" #网站页面根目录

Options Indexes FollowSymLinks #当一个目录没有默认首页时,允许显示此目录列表

禁止 Apache 显示目录结构列表,只需将 Option 中的 Indexes 去掉即可

403 DirectoryIndex index.html index.html.var#指定默认首页

编码:

AddDefaultCharset UTF-8 # 设置服务器的默认编码为:UTF-8

2 取消apache默认欢迎页:

[root@xuegod4 ~]# vim/etc/httpd/conf.d/welcome.conf

#

# This configuration fileenables the default "Welcome"

# page if there is nodefault index page present for

# the root URL. To disable the Welcome page, comment

# out all the linesbelow.

#

#<LocationMatch"^/+$"> #把红色内容进行注释

# Options -Indexes

# ErrorDocument 403 /error/noindex.html

#</LocationMatch>

重启:

[root@xuegod4~]# service httpd restart

创建首页文件:

[root@xuegod4 ~]# echo 'welcome to www.xuegod.cn' >/var/www/html/index.html

3 使用rpm搭建lamp 环境

LAMP = linux+apache+mysql数据库+php

[root@xuegod4 ~]# yum install httpd mysql-server php php-mysql

测试数据库:

[root@xuegod4 ~]# service mysqld start

Starting mysqld:                                           [  OK  ]

[root@xuegod4 ~]# chkconfig mysqld on

[root@xuegod4 ~]# mysql

mysql> show databases;

mysql> exit;

Bye

[root@xuegod4 ~]# cd /var/www/html/

[root@xuegod4 html]# vim index.php

<?php

phpinfo();

?>

重启apache服务:

[root@xuegod4 html]# service httpd restart

Stopping httpd:                                            [  OK  ]

Starting httpd:                                            [  OK  ]

MaxClients 256 #设置客户端最大连接数为 256

4 修改网站根目录及对应参数,设置访问权限

设置文档目录为/var/www/html/bbs

目录与访问控制:

<Directory "/var/www/html/bbs"> #子目录会继承这个目录的属性

Options FollowSymLinks #Options:Indexes:目录浏览 #Followsymlinks:可以用连接

AllowOverrideNone #不允许任何Override

Orderallow,deny

Allow from192.168.1.0/24 #从哪里来的允许

Deny from 192.168.1.0/24 #从哪里来的拒绝

Allow from .baidu.com

#Allow,Deny都会读取,如果有冲突和未说明的时候按照Order选项逗号后面的那个为准。

谁写到后面,谁的优先级高。

</Directory>

配置完重启apache服务

如果报错检查目录是否已创建?

测试:

service httpd restart #拒绝

5 使用别名功能,引用网站根目录以外的路径

将/usr/local/phpmyadmin 目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.1.63/phpmyadmin/ 时,就可以访问目录/usr/local/phpmyadmin中的内容。

注:apache的别名也叫虚拟目录

语法:

Alias URL路径 PATH物理路径

创建测试目录和数据

[root@xuegod4 ~]# mkdir/usr/local/phpmyadmin

[root@xuegod4 ~]# cp -r/boot/grub/ /usr/local/phpmyadmin/

[root@xuegod4 ~]# echo"test1" >/usr/local/phpmyadmin/a.html

修改配置文件

[root@xuegod4 ~]# vim/etc/httpd/conf/httpd.conf

Alias /phpmyadmin"/usr/local/phpmyadmin/"

<Directory"/usr/local/phpmyadmin/">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

</Directory>

注:Alias/phpmyadmin/ "/usr/local/phpmyadmin/" #/phpmyadmin/ 可以随意起。比如改/phpmyadmin/ 为/php/ 则访问链接: http://192.168.1.63/php/

当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表

修改配置文件:

[root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf # 修改红色标记内容

Alias /phpmyadmin/ "/usr/local/phpmyadmin/"

<Directory "/usr/local/phpmyadmin/">

Options -Indexes FollowSymLinks #在Indexes 前加-减号,此目录下没有默认首页时,禁止显示目录

AllowOverrideNone

Orderdeny,allow

Allow from all

</Directory>

6 打开软链接功能

通过软链接直接引用网站根目录以外的内容

[root@xuegod4 ~]# mkdir /web2

[root@xuegod4 ~]# echo test1 > /web2/a.html

[root@xuegod4 ~]# ln -s /web2/ /var/www/html/web2

[root@xuegod4 ~]# rm -rf /var/www/html/index.html

[root@xuegod4 ~]# rm -rf /var/www/html/index.php

[root@xuegod4 ~]# vim /etc/httpd/conf/httpd.conf

[root@xuegod4 ~]# service httpd restart

Stopping httpd:                                            [  OK  ]

Starting httpd:                                            [  OK  ]

7 通过用户认证的方式,对网站下/usr/local/phpmyadmin/目录进行保护。 设置/usr/local/phpmyadmin/目录,只能通过用户名密码方式访问。

方法一:

Alias /phpmyadmin/ "/usr/local/phpmyadmin/"

<Directory "/usr/local/phpmyadmin/">

Options IndexesFollowSymLinks

AllowOverrideNone

Orderdeny,allow

Allow from all

authtype basic #基本认证

authname "MySQL admin software"

authuserfile /etc/httpd/conf/passwd.secret #密文配置文件路径

#require usertom

#require usertom bob

require valid-user #有效用户

</Directory>

重启apache 访问http://192.168.1.63/phpmyadmin验证

生成认证账号和密码

[root@xuegod63 ~]#htpasswd -cm /etc/httpd/conf/passwd.secret man

New password:

Re-type new password:

Adding password for user man

验证:

方法二:

[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf

<Directory"/usr/local/phpmyadmin/">

Options Indexes MultiViews FollowSymLinks

AllowOverride None

Order allow,deny

Allow from all

AllowOverride AuthConfig

</Directory>

# AllowOverride AuthConfig一行表示允许对/usr/local/phpmyadmin/目录下的文件进行用户认证。

[root@xuegod63 ~]# 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

8 配置apache虚拟主机,实现在一台服务器上运行多个网站

apache虚拟主机实现有三种方法:

1、通过不同的IP地址

2、通过不同的域名

3、通过不同的端口号

[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf

改:

#NameVirtualHost*:80

为:

NameVirtualHost*:80

8.1 通过不同的IP地址,解析不同的域名

给服务器增加IP(另一个域名解析)

[root@xuegod63 ~]# ifconfigeth0:1 192.168.1.65

[root@xuegod63 ~]# mkdir/var/www/html/bbs

[root@xuegod63 ~]# echo"bbs.xuegod.cn" >/var/www/html/bbs/index.html

[root@xuegod63 ~]# echo"www.xuegod.cn" > /var/www/html/index.html

修改httpd.conf

[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf

<VirtualHost192.168.10.63:80>

ServerAdmin root@xuegod.cn

DocumentRoot /var/www/html/

ServerName www.xuegod.cn

ErrorLog logs/www.xuegod.cn-error_log

CustomLog logs/www.xuegod.cn-access_logcommon

</VirtualHost>

<VirtualHost 192.168.10.65:80>

ServerAdmin root@xuegod.cn

DocumentRoot /var/www/html/bbs/

ServerName bbs.xuegod.cn

ErrorLog logs/bbs.xuegod.cn-error_log

CustomLog logs/bbs.xuegod.cn-access_logcommon

</VirtualHost>

重启服务

service httpd restart

测试:

8.2 通过不同的域名配置虚拟主机

#vim httpd.conf

NameVirtualHost *:80

<VirtualHostwww.xuegod63.cn>

ServerAdmin root@xuegod.cn

DocumentRoot /var/www/html/

ServerName www.xuegod.cn

ErrorLog logs/www.xuegod.cn-error_log

CustomLog logs/www.xuegod.cn-access_logcommon

</VirtualHost>

<VirtualHostbbs.xuegod63.cn>

ServerAdmin root@xuegod.cn

DocumentRoot /var/www/html/bbs/

ServerName bbs.xuegod.cn

ErrorLog logs/bbs.xuegod.cn-error_log

CustomLog logs/bbs.xuegod.cn-access_logcommon

</VirtualHost>

重启服务

service httpd restart

修改电脑hosts文件C:\Windows\System32\drivers\etc\hosts作解析:

192.168.10.34  www.xuegod63.cn

192.168.10.34  bbs.xuegod63.cn

测试:

8.3 通过不同的端口配置虚拟主机

[root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf

改:

Listen 80

为:

Listen 80

Listen 81

#更改为你要添加的端口

再创建2个虚拟主机

<VirtualHost *:80>

ServerAdmin root@xuegod.cn

DocumentRoot /var/www/html/

ServerName www.xuegod.cn

ErrorLog logs/www.xuegod.cn-error_log

CustomLog logs/www.xuegod.cn-access_logcommon

</VirtualHost>

<VirtualHost *:81>

ServerAdmin root@xuegod.cn

DocumentRoot /var/www/html/bbs/

ServerName bbs.xuegod.cn

ErrorLog logs/bbs.xuegod.cn-error_log

CustomLog logs/bbs.xuegod.cn-access_logcommon

</VirtualHost>

重启服务

service httpd restart

验证:

http://192.168.10.34:80

http://192.168.10.34:81

2-19-使用apache搭建web网站的更多相关文章

  1. Apache搭建http网站服务器入门教程

    Apache搭建http网站服务器入门教程 准备工具 一台带有Linux系统的主机,这里使用CentOS 7.1 64位系统 一个备案过的域名,这里使用www.hellopage.cn 一台可以访问网 ...

  2. 从零搭建Web网站

    前言 工作也有几多年了,无论是身边遇到的还是耳间闻到的,多多少少也积攒了自己的一些经验和思考,当然,博主并没有太多接触高大上的分布式架构实践,相对比较零碎,随时补充.俗话说得好,冰冻三尺非一日之寒,滴 ...

  3. 使用LXD搭建Web网站

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由独木桥先生 发表于云+社区专栏 介绍 Linux的容器是Linux的一组进程,通过使用Linux内核功能与系统隔离.它是一个类似于虚拟 ...

  4. Virtual Box + CentOS Minimal + Apache搭建Web服务器

    本文并不介绍关于Virtual Box, CentOS, Apache的安装, 主要针对安装后相关的配置, 使宿主机(Host)可以访问客户机(Guest: CentOS in Virtual Box ...

  5. 搭建 Web 网站常用技能

    为软件创建专用数据库及其账号 create database if not exists gitea default charset = utf8mb4; grant ALL PRIVILEGES o ...

  6. 【LAMP】搭建Web网站过程中的记录【Ubuntu18.04+Apache2.4+PHP7.2+MySQL5.7】

    全文使用的环境如题,主机使用的是腾讯云主机. 内容应该会是linux和apache这些所有部分都有一点,因为是遇见一个问题就记录一个. 配置LAMP环境 这部分可以参考这篇文章:https://www ...

  7. Apache搭建多个站点

    如何用Apache搭建的网站系统上运行多个站点呢?最平常的大概有3种方法. 第一种:单IP不同端口 第二种:多IP同端口(独立IP的虚拟空间) 第三种:域名绑定根目录的方式(共享IP的虚拟空间) 下面 ...

  8. 使用CGIHTTPServer搭建简单网站

    目录 一.前提准备 二.搭建web网站 如何快速搭建web网站?这个问题对于我这样的小白来说简直就是一脸懵逼毫无头绪.在学习python的过程接触到了 CGI 编程,至于CGI是什么?怎么运行的?这我 ...

  9. 搭建开发框架Express,实现Web网站登录验证

    NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证   JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需 ...

随机推荐

  1. 小强的HTML5移动开发之路(46)——汇率计算器【2】

    在上一篇中我们完成了汇率计算页面,下面来完成汇率设置页面的显示. <div class="setRates"> <div class="header&q ...

  2. 【u020】Couple number

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 任何一个整数N都能表示成另外两个整数a和b的平方差吗?如果能,那么这个数N就叫做Couple numb ...

  3. Java 之 assert (断言)

    我们知道C/C++语言中有断言的功能(assert).在Java SE 1.4版本以后也增加了断言的特性. 断言是为了方便调试程序,并不是发布程序的组成部分.理解这一点是很关键的. 默认情况下,JVM ...

  4. 【hdu 3863】No Gambling

    Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65568/32768 K (Java/Others) Total Submission(s) ...

  5. jQuery+ localStorage 实现一个简易的计时器

    原型 图片发自简书App 需求1.关闭浏览器时时间继续运行2.刷新时保持当前状态3.结束时间保存在客户端 <div class="wrapper"> <div c ...

  6. erlang---启动参数学习/研究

    erlang启动参数有3种:emulator flags, flags 和plain arguments. emulator flags 是以“+”开头的,用来控制模拟器的行为,附送一个非常实用的例子 ...

  7. Erlang 学习笔记

    http://wenku.baidu.com/link?url=AUQR8Hn-e-fEB_lqjXsd8XfapWj1qAK7J05JoBXFib_LlSk5qSOTia8HIxNV1XkeZi-k ...

  8. Asp.net压缩网站中的文件

    为了说明自定义虚拟路径,这里弄个示例,仅仅用一个压缩包存放一个网站的多个文件. 这个东西是要需要通过实现3个抽象类来实现: System.Web.Hosting.VirtualPathProvider ...

  9. 【22.70%】【codeforces 591C】 Median Smoothing

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  10. myeclipse codelive插件关闭

    开启这个插件时,当你运行web工程,打开页面会造成一些显示的问题,原因是codelive插件向你的页面代码中注入了一些js代码大概是如下这些 <script>"undefined ...