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. :模板方法模式:Beverage

    #ifndef __COFFINEBEVERAGE_H__ #define __COFFINEBEVERAGE_H__ #include <iostream> using namespac ...

  2. Android : App通过LocalSocket 与 HAL间通信

    LocalSocket其通信方式与Socket差不多,只是LocalSocket没有跨越网络边界.对于*nix系统来说,“一切皆为文件”,Socket也不例外,Socket按照收发双方的媒介来说有三种 ...

  3. 用mysql存储过程代替递归查询

    查询此表某个id=4028ab535e370cd7015e37835f52014b(公司1)下的所有数据 正常情况下,我们采用递归算法查询,如下 public void findCorpcompany ...

  4. 数字签名-MD5

    MD5是信息摘要的意思,报文产生摘要是唯一的(1:1),而且是单向的(通过摘要反推不出源报文) java中的java.security.MessageDigest类,参考MessageDigest的功 ...

  5. 牛客oi测试赛 二 B 路径数量

    题目描述 给出一个 n * n 的邻接矩阵A. A是一个01矩阵 . A[i][j]=1表示i号点和j号点之间有长度为1的边直接相连. 求出从 1 号点 到 n 号点长度为k的路径的数目. 输入描述: ...

  6. java.lang.String 使用介绍

    这里我们将总结字符串相关的知识,除了总结String的API用法,同时我们还会总结一些相关的知识点,包括字符串常量池.StringBuffer.StringBuilder,以及equals和==的用法 ...

  7. 手机号的 DES-ECB 加密/解密

    前言:公司的手机号加密更换了加密方法,这次改成 DES-ECB 加密了 代码操作 # -*- coding:utf-8 -*- import base64 import json from Crypt ...

  8. Building Tablet PC Applications ROB JARRETT

    Building Tablet PC Applications ROB JARRETT Tablet PC 开发,有需要PDF的留下邮箱 目录This text was added by using ...

  9. ios读取plist文件:

    @property (nonatomic,strong) NSArray *imageData;//定义一个数组 //懒加载数据 -(NSArray *)imageDate { if(_imageDa ...

  10. python 爬虫newspaper3k 新闻爬去方法 利用第三方库

    from newspaper import Article url = '你想要爬取的网站url' news = Article(url, language='zh') news .download( ...