1. 修改httpd.conf文件
# vi /usr/local/apache/conf/httpd.conf
1) 设置根目录的路径
根目录是指Apache存放配置文件和日志文件的目录,配置参数为ServerRoot,默认位于“/usr/local/apache”。命令如下:
ServerRoot /usr/local/apache
2) 设置监听IP地址及端口号
默认侦听本机所有IP地址的TCP80端口,命令如下:
Listen 80
用户也可以按自己的需求,使用多个Listen语句在多个地址和端口上侦听客户端请求。比如:
Listen 192.168.99.9:80
Listen 172.16.0.20:8080
3) 设置系统管理员E-mail
使用ServerAdmin参数设置管理员E-mail,比如管理员的Email地址为root@guoxuemin.cn:
ServerAdmin root@guoxuemin.cn
4) 设置服务器主机的名称
参数ServerName用来设置服务器的主机名称,如果没有域名则填入服务器的IP地址,比如服务器的IP地址为192.168.99.9:80
ServerName 192.168.99.9:80
5) 设置主目录的路径
用户可以使用参数DocumentRoot配置服务器主目录默认路径,比如,主目录路径为:
DocumentRoot /usr/local/apache/htdocs
6) 设置默认文件
Apache的默认文件名为index.html,可以使用Directory Index参数来配置,比如,将index.php设置为默认文件名:
<IfModulf dir_moudle>
Directory Index index.html
</IfModulf>
7)测试:
2. 配置目录权限
使用<Directory 目录路径>和</Directory>设置目录的权限。比如:
<Directory “/var/www/icons”>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
说明:
1)定义目录特性选项Options
可选参数:
Indexes:该特性表明目录允许“目录浏览”;
MultiViews:该特性表明目录允许内容协商的多重试图;
All:包含了除MultiViews外的所有特性;
ExecCGI:该特性表明允许在该目录下执行CGI脚本;
FollowSymLinks:该特性表明允许在该目录下使用符号连接。
2).htaccess文件
可以通过.htaccess文件(访问控制文件)设置目录的权限。
AccessFileName .htaccess
配置参数AllowOverride指定目录的.htaccess文件中指令的类型,包括All、None与Options、FileInfo、AuthConfig、Limit的任意组合。一般将AllowOverride设置为“None”,禁止使用.htaccess文件,当AllowOverride参数为All时,.htaccess文件可以覆盖任何以前的配置。
3)设置访问控制
使用Order选项来定义访问权限。
比如以下语句表明允许所有客户机的访问:
Order allow,deny
Allow from all
以下语句表明只允许网段192.168.99.0/24的客户机访问,但IP地址为192.168.99.254这个客户机除外:
Order allow,deny
Allow from 192.168.99.0/24
Deny from 192.168.99.254
用户可以根据需要,按上述方法配置自己的目录权限。
3. 创建虚拟目录
使用Alias选项创建虚拟目录,比如,建立“/icons/”这个虚拟目录,其对应的物理路径为“/var/www/icons/”:
Alias /icons/ “/var/www/icons/”
4. 用户认证
比如,有一个名为myweb的虚拟目录,其对应的物理路径是“/usr/local/myweb”,现对其启用用户认证功能,只允许用户Tonyguo和Wayne访问。
1)建立虚拟目录并设置用户认证:
2) 建立口令文件并为用户设置口令
-c选项表示无论口令文件是否已经存在,都会重新写入文件并删除原内容。所以第二个用户wayne不需要使用-c选项。
3)测试
输入用户名和密码后就可以访问网站了:
三、配置虚拟主机
1. 配置基于IP的虚拟主机
1)IP地址相同,但端口号不同的虚拟主机配置
比如使用192.168.99.9的两个不同端口80和8080发布两个不同站点, 虚拟主机分别对应的目录为/usr/local/apache/htdocs/web1和/usr/local/apache/htdocs/web2:
Listen 80
Listen 8080
<VirtualHost 192.168.99.9:80>
ServerSignature email
DocumentRoot /usr/local/apache/htdocs/web1
DirectoryIndex index.html index.htm
LogLevel warm
HostNameLookups off
</VirtualHost>
<VirtualHost 192.168.99.9:8080>
ServerSignature email
DocumentRoot /usr/local/apache/htdocs/web2
DirectoryIndex index.html index.htm
LogLevel warm
HostNameLookups off
</VirtualHost>
2)配置基于域名的虚拟主机
比如服务器有两个IP地址192.168.99.9和192.168.99.10,使用这两个IP创建两台虚拟主机,虚拟主机分别对应的目录为/usr/local/apache/htdocs/web1和/usr/local/apache/htdocs/web2。设置方法如下:
<VirtualHost 192.168.99.9>
ServerName 192.168.99.9:80
DocumentRoot /usr/local/apache/htdocs/web1
DirectoryIndex index.html index.htm
</VirtualHost>
<VirtualHost 192.168.99.10>
ServerName 192.168.99.10:80
DocumentRoot /usr/local/apache/htdocs/web2
DirectoryIndex index.html index.htm
</VirtualHost>
2. 配置基于域名的虚拟主机
比如有两个域名guoxuemin.cn和tonyguo.com需要使用同一台服务器192.168.99.9,那么可以这样配置:
NameVirtualHost 192.168.99.9
<VirtualHost www.guoxuemin.cn>
ServerAdmin admin@guoxuemin.cn
DocumentRoot /usr/local/apache/htdocs/web1
DirectoryIndex index.html index.htm
ErrorLog logs/web1/error_log
Customlog logs/web1/access_log combined
</VirtualHost>
<VirtualHost www.tonyguo.com>
ServerAdmin admin@tonyguo.com
DocumentRoot /usr/local/apache/htdocs/web2
DirectoryIndex index.html index.htm
ErrorLog logs/web1/error_log
Customlog logs/web1/access_log combined
</VirtualHost>
- Ubuntu下配置apache开启https
一.HTTPS简述随着网络的日常,信息安全越来越重要,传统的网站都是http协议明文传输,而HTTPS协议是由SSL+HTTP协议构建的可进行加密传输.身份认证的网络协议,比http协议安全. 那ht ...
- windows下配置apache+php环境
PHP安装 由于windows下php扩展5.6的多余7.0,故以php5.6为开发环境.如果对扩展要求不高,可以使用php7,安装过程类似. 约定: 环境安装目录: D:/phpsetup/ |-- ...
- 在Mac OS X中配置Apache + PHP + MySQL
在Mac OS X中配置Apache + PHP + MySQL Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Ap ...
- zend studio 配置 apache服务器事宜
安装好 zend studio后,配置 apache服务器时,设置 configuration directory时,需选中 xampp\apache里面的 conf 文件夹,即完整的路径为: *\x ...
- windows 配置 apache + php
需要工具 apache 下载地址 php for windows (与apache同版本,使用线程安全)下载地址 vc (Visual Studio C++) 根据 apache 与 php 的版 ...
- Win7 配置Apache+PHP+Mysql环境
第一.安装并配置APACHE(安装到D:\phpapache\Apache2.2) 1.安装时默认安装,Network Domain, Server Name 我填写我的计算机名,Administra ...
- Linux下安装配置Apache+PHP+MariaDB
一.安装apache 1.下载并安装apache yum install httpd 2.启动apache systemctl start httpd.service 3.停止apache syste ...
- 如何安装、配置Apache
Apache的安装流程网上版本很多,但很多版本有错误,或者缺漏,如果初学者按照那样安装的话会遇到各种各样的问题.我整理了自己安装.配置Apache的过程,亲测有效,分享给大家. 基本过程如下: Dow ...
- 一步一步教你如何在linux下配置apache+tomcat(转)
一步一步教你如何在linux下配置apache+tomcat 一.安装前准备. 1. 所有组件都安装到/usr/local/e789目录下 2. 解压缩命令:tar —vxzf 文件名(. ...
- Windows下配置Apache服务器并支持php
php环境的配置相对来说比较繁琐,网上教程大部分都是放一起说,总体感觉比较乱,其实Apache是一款通用的服务器软件,可以用来配置支持静态页面,php.Python.Java甚至asp等服务端语言,要 ...
随机推荐
- AngularJS中使用的表单验证
Reference: http://www.tuicool.com/articles/2Qbiqi 客户端表单验证是AngularJS里面最酷的功能之一. AngularJS表单验证可以让你从一开始就 ...
- CentOS6.5编译安装Redis
一.首先要检测是否安装gcc yum install gcc-c++ yum install -y tcl 进入redis目录 cd /usr/local/redis .编译安装 make make ...
- [NOI2011]阿狸的打字机(好题!!!!)
2785: [NOI2011]阿狸的打字机 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 7 Solved: 3[Submit][Status][We ...
- redis php sort 函数
很多人把redis当成一种数据库,其实是利用redis来构造数据库的模型,有那种数据库的味道.但是在怎么构建还是key和value的关系.根真正的关系型数据库还是不一样的.效率高,不方便:方便的,效率 ...
- 选择排序法-java详解案例
/** * 功能:选择排序法 * 思想:第一次从R[0]-R[N-1]中选取最小值,与R[0]交换,第二次从R[1]-R[N-1]中选取最小值,与R[1]交换, * 第三次从R[2]-R[N-1]中 ...
- js模块化开发——require.js的实战写法1
关于在Require.js使用一个JS插件的问题 我需要在项目中引用一个js控件,这个控件依赖于a.js,b.js,c.js,.....n.js N多个js以及jquery及jquery-ui,各js ...
- iOS 之 alcatraz (插件管理器)
1. 安装 1.1. 打开命令行 curl -fsSL https://raw.githubusercontent.com/supermarin/Alcatraz/deploy/Scripts/ins ...
- 修改GitHub上项目语言显示的问题
问题 最近将自己写的博客放到github上了.由于使用了富文本编辑器.jQuery.Bootstrap等第三方插件,导致js.css等代码远远超过你自己写的代码. 于是也就成这样了 而且这里也显示Ja ...
- QJsonObject和QJsonArray的巨坑
最近用Qt的QJsonObject和QJsonArray当做类变量来存储运行信息,发现这两货真的是巨坑.让人有一种JJ fly的感觉/(ㄒoㄒ)/~~. 写了个例子来说明下: MainWindow:: ...
- loadrunner controller:集合点策略
集合点只有在多用户并发运行的时候才能体现它的作用. Scenario ---> Rendezvous 打开集合点设置界面,如下图所示: 我们可以看到Vusers 列表框里有两个用户,这与我们设置 ...