目录
Apache服务的安装
yum源安装:
目录文件
源码包安装:
目录文件:
Apache中添加对php的支持
Apache中添加php对mysql数据库的支持
Apache服务的高级配置
1:配置基于ip的虚拟主机
2. 配置基于端口的虚拟主机
3.配置基于域名的虚拟主机
HTTP服务的访问控制
基于ip的用户访问控制的配置:
基于用户身份认证授权的配置:
Apache 是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解析器编译到服务器中。但是Apache有一个缺点就是,重新加载配置文件时需要重启 httpd 服务,而nginx重载配置文件时只需重载reload配置文件即可。httpd服务默认监听 tcp / 80 端口
apache有两个日志文件,access.log记录了访问网站的日志;error.log记录了错误日志
主配置文件 /etc/httpd/conf/httpd.conf 的一些参数的意义
ServerRoot “/etc/httpd“ //服务配置文件目录
PidFile run/httpd.pid //PID文件
Listen 80 //默认监听端口
Include conf.modules.d/*.conf //包含模块目录的配置文件
User apache //启动用户
Group apache //启动组
ServerAdmin root@localhost //管理员邮箱
ServerName www.example.com:80 //域名主机名
DocumentRoot “/var/www/html“ //默认主页存放目录
DirectoryIndex index.html index.html.var //索引文件
//规定网站根目录的位置
AllowOverride None
# Allow open access:
Require all granted
ErrorLog logs/error_log //错误日志
CustomLog logs/access_log combined //访问日志
AddDefaultCharset UTF-8 //默认字符集
IncludeOptional conf.d/*.conf //包含了 conf.d/*.conf 的配置文件
DirectoryIndex index.html //默认索引
扩展配置文件: /etc/httpd/conf.d/ , 我们可以在这个目录下新建一些我们自己定义的配置文件,比如基于ip的虚拟主机,基于端口的虚拟主机,基于域名的虚拟主机等等
安装完成后,软件默认安装在 /usr/loca/apache2/ 下面,也可以编译的时候自定义安装目录
安装php的支持包 yum -y install php ,然后重启 httpd 服务即可
如果想让Apache识别默认的index.php文件,需要修改配置文件 /etc/httpd/conf/httpd.conf 中,在如下位置加入 index.php
DirectoryIndex index.php index.html
安装php-mysql的包即可:yum -y install php-mysql
以下不管是基于ip、端口还是基于域名创建的虚拟主机,网站主页目录只能在 /var/www/ 下,如果想更改到其他的任意目录的话,需要修改配置文件 /etc/httpd/conf/httpd.conf
//这里的目录更改为你的网站主页目录
AllowOverride None
# Allow open access:
Require all granted
可以在一台服务器上配置多个网卡,也可以在一块网卡上配置爱多个ip
我这里在一块网上上配置多个ip: ifconfig eno16777736:1 10.96.10.204
然后在从配置文件中 /etc/httpd/conf.d/ 下创建一个配置文件,我们新建一个 ip.conf 文件,然后加入下面几行
DocumentRoot /var/www/html/web1 //第一个ip的网站的主页面目录
DocumentRoot /var/www/html/web2 //第二个ip的网站的主页面目录
然后在/var/www 下新建 web1和web2目录,在web1和web2目录里面分别放入我们的网站页面。然后重启httpd服务即可。
在配置文件中 /etc/httpd/conf.d/ 下创建一个配置文件,我们新建一个 port.conf 文件,然后加入下面几行
Listen 8080
DocumentRoot /var/www/html/web1 //第一个端口的网站主目录
DocumentRoot /var/www/html/web2 //第二个端口的网站主目录
然后在/var/www 下新建 web1和web2目录,在web1和web2目录里面分别放入我们的网站页面。然后重启httpd服务即可。
在配置文件中 /etc/httpd/conf.d/ 下创建一个配置文件,我们新建一个 domain.conf 文件,然后加入下面几行
NameVirtualHost *:80
DocumentRoot /var/www/web1 //第一个域名的网站主目录
ServerName web1.xie.com
DocumentRoot /var/www/web2 //第二个域名的网站主目录
ServerName web2.xie.com
然后在/var/www 下新建 web1和web2目录,在里面放入我们的网站页面。然后再重启httpd服务即可。
控制对特定主页内容的访问,为相应网站目录添加访问控制
常用访问控制方式分类:
设置客户机地址访问
在配置文件中 /etc/httpd/conf.d/ 下创建一个配置文件,我们新建一个 ip.conf 文件,然后加入下面几行
// 这个的意思的允许所有用户访问/var/www/html 目录下的网页,但是只允许 10.96.10.204/24这个网段的访问 /var/www/html/test/ 目录下的网页
//本机ip
DocumentRoot /var/www/html //网站主页的目录
//要设置限制的目录
Order allow,deny //匹配了允许的就拒绝所有
Allow from 10.96.10.204/24 //只允许10.96.10.204这个地址访问
访问控制的配置
//本机ip
DocumentRoot /var/www/html //主页目录
//设置认证的目录
AuthType Basic //认证的方法:密码
AuthName Password! //弹出登录框
AuthUserFile /etc/httpd/webpasswd //用户名和密码保存的文件
require user tom jack //只允许 tom 和 jack 用户访问