yum install httpd 安装http服务器

启动http服务器即可访问

如果不行的话,试着执行命令

firewall-cmd –permanent –add-service=http(该命令添加http服务通过防火墙,而且为永久生效,注意,区分两个-和一个-不要弄错了)

firewall-cmd –reload (重新载入防火墙)

默认网站路径/var/www/html

配置http服务器文件/etc/httpd/conf/httpd.conf

修改默认网站路径:

目标:修改路径到/home/wwwroot

在目标目录下创建一个html文件

配置http服务器文件/etc/httpd/conf/httpd.conf,修改以下行

DocumentRoot 改为”/home/wwwroot”,以及下面的

#Relax access to content within /var/www.

下面的文件夹改为/home/wwwroot

重启服务器,发现打开网页后还没有生效,因为selinux的原因

现在执行命令 setenforce 0关闭selinux,现在就可以正常访问了

如果不想关闭selinux 的话可以使用以下方法修改selinux:首先开启setenforce 1 ,接着使用ls -Zd /var/www命令查看/var/www的权限

[root@linuxprobe ~]# setenforce 1

[root@linuxprobe ~]# ls -Zd /var/www/html (我有个系统可以使用,有个又不可以使用这个命令,如果不行的话就跳过查看上下问属性,直接像下面那样修改应该也可以,也可能是因为没有安装selinux吧,使用getenforce显示没有该命令)

drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html

[root@linuxprobe ~]# ls -Zd /home/wwwroot

drwxrwxrwx. root root unconfined_u:object_r:home_root_t:s0 /home/wwwroot

修改selinux上下文

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot (-a 添加,-t 内容)

semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/*

刷新selinux设置

restorecon -Rv /home/wwwroot/ (-R递归操作,-v显示过程)

现在可以正常访问了

使用个人用户主页功能:

目标使用用户bp的个人用户主页:

编辑/etc/httpd/conf.d/userdir.conf ,注释掉UserDir disable 这行,并且去掉UserDir public_html这行的注释

在bp用户的家目录下添加public_html目录,并且进入这个目录添加一个网页文件index.html

此时在浏览器输入192.168.1.66/~bp/会发现还不能正常浏览,又是selinux的原因

那么现在我们再次修改selinux

使用getsebool -a |grep http命令搜索关于http的设置,发现有httpd_enable_homedirs一项是处于关闭状态,所以我们可以执行setsebool -P httpd_enable_homedirs=on命令

现在应该可以正常浏览了,不过我的不知道是什么原因,没有正常显示,不知道是不是因为网络有延迟之类的原因。然后我就使用setenforce 0 (我就喜欢这么简单粗暴,哈哈),然后重启服务器,KO!

最近实验发现访问页面时提示没有权限,查看httpd日志,发现是用户文件夹没有搜索权限,所以chmod 755吧

用户访问口令验证功能

目标:用户test(如果该用户不在系统内,该用户就只可以用来访问http服务器,而无法在系统中登录并使用,这个可以提高系统安全性)在访问网站时需要输入口令才能进入查看

htpasswd -c /etc/httpd/passwd test (htppasswd生成密码命令,-c第一次生成 ,接下来的是生成的密码放到那个文件夹中,最后是用户名)

接下来我们还需要编辑修改 /etc/httpd/conf.d/userdir.conf配置文件

只需要修改<Diretory "/home/*/public_html">

AllowOverride all

authuserfile "/etc/httpd/passwd"

authname "you need the passwd to login"

authtype basic

require user test

</Diretory>
也就是修改<Diretory>括起来的里面的内容即可,其他地方不用改,如果怕有错的话,先把原来的注释掉比较好

重启服务器,刷新页面就会提示输入密码了

同一台主机多个ip,基于ip地址访问网站:

目标:某主机上有两个ip地址,当在浏览器上分别输入这两个网站时显示不同的网站

首先,在上面修改了默认路径的基础上进行此实验,如果,没有修改默认路径的话,自己根据情况稍微修改一下路径即可

mkdir /home/wwwroot/kali

mkdir /home/wwwroot/linux

分别在以上路径下创建相应的不同网页

编辑/etc/httpd/conf/httpd.conf 在第113行左右插入以下内容:

(需要自己添加一块网卡,我的是在虚拟机中添加一块网卡,使用的是桥接模式,重启虚拟机后,ifconfig查看ip,如果新添加的那卡网卡没有自动生成ip,就使用命令行设置ip,例如我本来的ip是66,后面的109是添加后,系统自动生产的,我就懒得改了)

<VirtualHost 192.168.1.66>
DocumentRoot /home/wwwroot/kali
ServerName www.kali.com
<Directory /home/wwwroot/kali>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
<VirtualHost 192.168.1.109>
DocumentRoot /home/wwwroot/linux
ServerName www.linux.com
<Directory /home/wwwroot/linux>
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

如果使用了setenforce 0 ,那么现在你重启服务器,就输入这两个ip,就可以看到不同的内容了。如果你getenforce 还是enforing 那么你就应该使用上面那个senamage给kali和linux这两个文件夹添加上下文那个命令了,具体命令见上面。

基于主机域名:

和上面的配置差不多,只要像上面那样在kali和linux那两个文件夹下各写不同的网页。

然后修改/etc/httpd/conf/httpd.conf只需要在上面的基础上,把109改为66就可以了

现在,只需要修改/etc/hosts文件就ok了,vi /etc/hosts 在里面添加 192.168.1.66 www.kali.com www.linux.com 保存退出,现在,ping www.kali.com 看有没有192.168.1.66跟着一起出现,如果有,那就修改正确了,如果没有,那应该是你粗心大意打错了哪个地方。

接下来,还需要设置selinux,如果你先麻烦,直接setenforce 0 或者使用semanage修改上下文,具体命令见上面

现在重启服务其,刷新页面,应该就可以了。在这里我遇到过一个坑,我是使用的英文版的firefox,可能是firefox自动屏蔽了重定向,我一直都是跳到官网上去,而不是我自己写的网页。如果你也遇到这样的问题,换个浏览器试试,我就是使用的主机win7上的浏览器才能正常浏览,注意,需要修改hosts文件哦,修改方法自行百度,懒得打了

基于端口的访问:

在上面的基础上,即在kali和linux下有网页,修改了httpd.conf文件里面的virtualhost那里,现在只需要把192.168.1.66改为192.168.1.66:6111重启服务器就可以了(我这个是在selinxu没有开启的情况下,那个端口号可以自己取,尽量取大一点,防止占用其他应用的端口)

如果你像我一样比价喜欢敲命令的话,我们还可以这么设置selinux

首先,老规矩,使用semanage修改那些kali和linxu文件夹的安全上下文,命令见上面,记得使用那个restorecon -Rv 文件夹,现在重启服务器还是无法正常显示,我们还需要设置端口,命令如下

semanage port -a -t http_port_t -p tcp 6111 (port端口 -a增加 -t目标 接着是权限之类的吧,-p 协议 端口)重启服务器,因该就可以了,目前我还没有试过,人有点懒了

http的访问控制:

目标:限制部分用户无法查看网页

设置只允许firefox访问

也是在上面的基础上进行实验,编辑/etc/httpd/conf/httpd.conf找到113行左右,也就是你刚添加的virtualhost那些地方,在<virtualhost></virtualhsot>里面的<Dircetory>修改这里的内容</Directory>修改的内容为

SetEnvIf User-Agent “Firefox” ff=1

Order allow,deny

Allow from env=ff

重启服务器,使用360浏览器,无法正常访问

只允许某个ip访问

目标:只允许100ip访问

<virtualhost></virtualhsot>里面的<Dircetory>修改这里的内容</Directory>修改的内容为

Order allow,deny

Allow from 192.168.1.100`

重启服务器,只有100ip可以访问,其他ip会出错

linux http配置的更多相关文章

  1. Linux CentOS 配置Tomcat环境

    一.下载Tomcat 下载Tomcat方式也有两种,可以参考我的前一篇博文Linux CentOS配置JDK环境,这边就不再赘述. 二.在Linux处理Tomcat包 1.创建tomcat文件夹 mk ...

  2. Linux下配置一个VNC服务器

    在Linux下配置一个VNC服务器,并设置2个用户,要求其中一个用户登录时不需要输入密码. 然后在客户端使用ssh+vncview的方式访问. 1确认vnc安装 2配置vncserver 3测试vnc ...

  3. Linux网络配置基础

    linux网络配置常见有两种:桥接模式(Bridge)与NAT模式,还有一种Host-Only模式由于其局限性通常被舍弃就不加以说明了,下面我们介绍下桥接模式(Bridge)和NAT模式. 桥接模式( ...

  4. 在 Linux 上配置一个 syslog 服务器

    syslog服务器可以用作一个网络中的日志监控中心,所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,交换机以及其他主机)都可以把日志发送给它. 通过设置一个syslo ...

  5. Linux 目录配置

    一.Linux 目录配置标准:FHS FHS(Filessystem Hierarchy Standard) 的重点在于规范每个特定的目录下应该要放置什么样子的数据. FHS依据文件系统使用的频繁与否 ...

  6. 在Linux上配置xampp后远程访问域名报错

    在Linux上配置xampp后远程访问域名报错: New XAMPP security concept: Access to the requested object is only availabl ...

  7. linux下配置mysql默认编码utf8

    linux下配置mysql默认编码utf8 下面是需要在对应地方加入的配置 [client] default-character-set=utf8 [mysqld] character-set-ser ...

  8. Linux下配置Lamp

    linux下配置lamp步骤: 一.快速安装Apache+PHP5+MySql 先更新: # yum update 然后安装LAMP环境:(163的yum源上只有php5.1.6 mysql 5.0. ...

  9. Linux用户配置sudo权限

    Linux用户配置sudo权限 创建sudo权限用户 #useradd supope #passwd supope #visudo #supope         ALL=(ALL)       AL ...

  10. Linux下配置PHP开发环境

    转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...

随机推荐

  1. 十八. Python基础(18)常用模块

    十八. Python基础(18)常用模块 1 ● 常用模块及其用途 collections模块: 一些扩展的数据类型→Counter, deque, defaultdict, namedtuple, ...

  2. Cracking The Coding Interview 5.7

    //An array A[1-n] contains all the integers from 0 to n except for one number which is missing. In t ...

  3. 1.2socket服务器使用多线程

    socket服务器代码如下 # -*- coding: utf-8 -*-from socket import * import time import threading,_thread as th ...

  4. 小波学习之一(单层一维离散小波变换DWT的Mallat算法C++和MATLAB实现) ---转载

      1 Mallat算法 离散序列的Mallat算法分解公式如下: 其中,H(n).G(n)分别表示所选取的小波函数对应的低通和高通滤波器的抽头系数序列. 从Mallat算法的分解原理可知,分解后的序 ...

  5. 18-09-27 pandas 学习02

    如何系统的学习python 中有关数据分析和挖掘相关的库?什么是系统的学习?系统的学习就是一个先搭建只是框架体系,然后不断填充知识看,不断更新迭代的过程. Pandas,numpy,scipy,mat ...

  6. kbmMW 5.07.00试用笔记

    在kbmMW 5.06.20试用笔记中遇到的问题,在这个版本中,基本都解决了.但还是发现修正后存在的小问题及新问题: 1.Resolve返回值错误 当提交的ClientQuery是执行一条sql语句, ...

  7. ipython output logging:使用日志记录输出

    通常使用ipython的%logstart日志功能时,仅开启输入的记录. 例如在ipython中开启%logstart后,记录的日志文件内容如下: #!/usr/bin/env python # 20 ...

  8. JAVA将异常的堆栈信息转成String

    有时候我们需要将系统出现异常的堆栈信息显示到异常页面的一个隐藏的DIV内,这样查看源时就可以快速的定位到异常信息.这个时候就要将异常信息转成String. /* * 将异常的堆栈信息转成String ...

  9. 记第二届CCPC全国女生赛参赛体验

    离比赛时间已经有点久了,今天整理博客看到“”参赛体会“”这一分类,觉得记录一下也好 流水账记一下感受 因为题目我已经忘记了.. 第一次..那么久..大概有三个多小时在金牌区吧.. 然后就是一无所出了. ...

  10. 安装Cygwin,,以及遇到的问题

    实验需要用到Cygwin,于是去下了一个,安装过程比较顺利,参考:http://blog.csdn.net/chunleixiahe/article/details/55666792 但是发现  ma ...