分类: LINUX
2018-08-08 08:53:41
vsftpd.note首先搭建服务:系统本身使用yum安装过了httpd服务,这里看如果使用源码安装服务。
tar -zxvf /root/packages/http-2.2.9.tar.gz -C /usr/local/src/
cd /usr/local/src/httpd-2.2.9
./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite
#安装过程需要借助gcc等环境,如果没有需要的环境则会报错。解决方法:yum -y install gcc*
make && make install
理论知识点:
?常用的全局配置参数
–ServerRoot:服务目录
–ServerAdmin:管理员邮箱
–User:运行服务的用户身份
–Group:运行服务的组身份
–ServerName:网站服务器的域名
–DocumentRoot:网页文档的根目录
–Listen:监听的IP地址、端口号
–PidFile:保存httpd进程PID号的文件
–DirectoryIndex:默认的索引页文件
–ErrorLog:错误日志文件的位置
–CustomLog:访问日志文件的位置
–LogLevel:记录日志的级别,默认为warn
–Timeout:网络连接超时,默认为300秒
–KeepAlive:是否保持连接,可选On或Off
–MaxKeepAliveRequests:每次连接最多请求文件数
–KeepAliveTimeout:保持连接状态时的超时时间
–Include:需要包含进来的其他配置文件
命令:
?进行语法检查
–apachectl –t
–service httpd configtest
?ab命令
–Apache Benchmark,Apache基准测试工具
–格式:ab [-q] -c 并发请求数 -n 总的请求数 [http://]域名[:端口]/路径
?虚拟Web主机
–即在同一台服务器中运行多个Web站点的应用,其中每一个站点并不独立占用一台真正的计算机
?httpd支持的虚拟主机类型
–基于域名的虚拟主机
–基于IP地址的虚拟主机
–基于端口的虚拟主机
本章实验就是围绕这虚拟主机进行的。
实验一):基于域名的虚拟主机
–构建2个虚拟Web站点:
? ,IP地址为 192.168.2.88
? ,IP地址为 192.168.2.88
–在浏览器中访问这两个域名时,分别显示不同的内容
1)修改文件/etc/hosts
添加内容:
192.168.2.88
192.168.2.88
2)修改配置文件:vim /etc/httpd/conf/httpd.conf,在文件最后的位置添加如下内容。
NameVirtualHost 192.168.2.88
DocumentRoot /var/www/html/yeslab
ServerName
DocumentRoot /var/www/html/ha
ServerName
3)创建网页文件,用来验证服务。
创建网站对应的默认页面:首先是网页文件所在目录/var/www/html。在此目录下分别为两个网站创建目录用来存放网页文件。
[root@localhost httpd]# cat /var/www/html/yeslab/index.html
4)启动服务:
然后启动服务:service httpd start。
5)验证:
[root@localhost httpd]# curl
实验二)基于IP地址的虚拟主机:需要两块网卡,均配置静态IP地址
–构建2个虚拟Web站点:
? ,IP地址为 192.168.1.1
? ,IP地址为 192.168.2.1
–在浏览器中访问这两个域名时,分别显示不同的内容
1)修改配置文件:
DocumentRoot /var/www/html/yeslab
ServerName
DocumentRoot /var/www/html/ha
ServerName
2)重新启动服务:
service httpd restart
3)验证:
[root@www ~]# curl
实验三)基于不同端口的虚拟主机
–构建2个虚拟Web站点:
? ,IP地址、端口为 192.168.1.1:80
? ,IP地址、端口为 192.168.1.1:8080
–在浏览器中访问这两个端口时,分别显示不同的内容
1)修改配置文件:
Listen 80
Listen 8080 #此行为添加行。监听多个端口
DocumentRoot /var/www/html/yeslab
ServerName
DocumentRoot /var/www/html/ha
ServerName
2)重启服务:
service httpd restart
3)验证:
[root@www ~]# curl
实验四)建立系统用户的个人主页
1)修改配置文件:
UserDir public_html #找到这一行,打开注释
AllowOverride none
Options none
Order allow,deny
Allow from all
2)然后创建所需文件夹:/home/xiao/public_html,并且创建验证文件:index.html,并且添加内容
3)关闭selinux:setenforce 0 。清空防火墙。
4)重启服务:service httpd restart
5)访问验证:
实验五)httpd服务的访问控制:基于用户的访问控制
在默认的http服务启动状态下,我们可以通过ip地址来访问的,默认的站点目录位于/var/www/html/ ,在这个目录下,后缀为HTML的文件默认就可以访问。那么问题来说,在这个目录下,有些网页并不是很想所有人都看到,希望实现一种加密的效果,一部人可以通过账号,密码登陆来查看文件,没有权限的人只能打酱油,那么就可以对配置文件进行设置,实现基于用户的访问控制。
首先将认证安装
[root@www httpd]# yum -y install httpd-manual.noarch
然后准备文件内容:
[root@www httpd]# cat /var/www/html/yeslab/private/test.html
this is /var/www/html/yeslab/private/test.html!!!!
[root@www httpd]# cat /var/www/html/yeslab/index.html
以上配置的详解:
AuthName:定义受保护的领域名称,将在弹出的认证登陆对话框中显示
AuthType:设置认证的类型,Basic为基本认证
AuthUserFile:设置用于保存用户帐号、密码的认证文件路径
require valid-user:授权给认证文件中的所有有效用户
创建密码命令:
[root@www ~]# cd /var/www/
[root@www www]# htpasswd -c /var/www/.htpasswd xiao
创建密码文件的方式有两种,一种的手动创建,当然创建的是明文密码,安全性不够;另一种是使用 htpasswd 命令生成,这个工具有一些选项:
选项 注释
-c 自动创建文件,仅应该在文件不存在时使用(初建时使用-c,再次创建不取消该选项则会覆盖之前内容)
-m md5格式加密
-s sha格式加密
-D 删除指定用户
重启服务,并且验证:
service httpd restart
更直观的查看:
只有输入正确的用户名密码才能查看。
扩展
apache dso
apache apxs
apache工作模式 https://blog.csdn.net/STFPHP/article/details/52954303