ubuntu 验证apache2_ubuntu apache2 启用ssl 双向验证 - CSDN
精华内容
参与话题
  • 环境:Ubuntu Linux 这种认证方式其实相当简单,当WWW浏览器请求经此认证模式保护的URL 时,将会出现一个对话框,要求用户键入用户名和口令。用户输入后,传给WWW服务器,WWW服务器验证它的正确性,如果正确,返回...

     


     

    环境:Ubuntu Linux

    这种认证方式其实相当简单,当WWW浏览器请求经此认证模式保护的URL 时,将会出现一个对话框,要求用户键入用户名和口令。用户输入后,传给WWW服务器,WWW服务器验证它的正确性,如果正确,返回页面,否则返回401错误。要说明的一点是,这种认证模式是基本的,并不能用于安全性要求极高的场合。

    Apache 中有许多模块可以支持这种认证方式,下面我们就介绍一下最基本、最标准的mod_auth模块。正如前面提到的一样,mod_auth模块使用存储在文本文件中的用户名、组名和口令来实现认证。这种方法非常适合处理少量用户,它能工作得很好。如果你需要对大量的用户,如数以千计的用户做认证时,这种方法的性能将急剧下降到不可忍受,所以当这种情况下,就需要考虑使用mod_dbm模块或mod_mysql模块来获得更好的性能。

    实战:需要用户名和口令的访问控制

    1、若是开启虚拟主机,则将/etc/apache2/site-enabled/000-default中的<Direct></Direct>块全部注释掉(里面有访问规则,影响配置结果)。没开启虚拟主机的则将/etc/apache2/apache.conf中的Include /etc/apache2/site-enabled/ 注释掉。

    2、在httpd.conf(一般为空)中,填入ServerName xxxxx            #(xxxxx为你的服务器名称)

    DocumentRoot /xxx/xxx       #(网站根目录的路径)

    AccessFileName .htaccess    #(认证的配置文件)

    3、建立.htpasswd文档(用于保存用户名和密码)touch /xxx/xxx/.htpasswd

    用htpasswd命令建立用户名、密码

    htpasswd -c /xxx/xxx/.htpasswd yyy  (yyy为用户名)

    接着输入密码,然后确认一遍。添加一个用户完成。如果还有其他用户,则继续用htpasswd命令(注意不加-c,加了则将覆盖前面添加内容)

    4、在需要认证的网站根目录下建立.htaccess文档(要和httpd.conf中的DocumentRoot保持一致)

    在.htaccess中填入一下内容

    AuthName xxxxxxx (在弹出对话框中显示的标题名称)

    AuthType Basic

    AuthUserFile /xxx/xxx/.htpasswd(路径为.htpasswd的绝对路径)

    require user xxx   (xxx为用户名)

    如果有不止一个的用户的话,则在第三步再建立个.htgroup文档 并在其中写入ggg:yyy zzz www(ggg为组名;yyy、zzz、www为用户名,要在.htpasswd中有对应的用户名和密码)

    在第四步中添加 AuthGroupFile /xxx/xxx/.htgroup

    require group ggg (ggg为.htgroup中的组名)

    5、配置完毕,重启apache   /etc/init.d/apache2 restart

    本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2010-08/27539.htm

    展开全文
  • Ubuntu16.04 安装最新Apache2加配置cgi

    千次阅读 2018-03-20 17:01:49
    Ubuntu16.04 安装最新Apache2加配置cgi 首先吐槽一下, apache一更新总是有些习惯性配置变更,对于大牛来说不算什么,可对刚入门学习的小白来说,特别是英盲来说(比如我),简直抓狂,因为一些小的更改,按照以前的教程...

    Ubuntu16.04 安装最新Apache2加配置cgi

    首先吐槽一下, apache一更新总是有些习惯性配置变更,对于大牛来说不算什么,可对刚入门学习的小白来说,特别是英盲来说(比如我),简直抓狂,因为一些小的更改,按照以前的教程来操作最新版本是不可行的,最佳方案看说明文档,但是只有英文说明文档,还好我认识26个英文字母,所以难不倒我!

    一. 安装Apache2及简单操作

    1.安装Apache2

    sudo apt update
    sudo apt install apache2

      如果以前装过Apache旧版,那就需要卸载干净,要不容易出错,然后在安装新版本代码如下:

      1).删除Apache。

     sudo apt --purge remove apache-common
    
     sudo apt --purge remove apache 

      2).检查是否卸载干净.

     dpkg -l | grep apache2

      3).找到没有删除的配置文件,一并删除它。

     sudo find /etc -name "*apache*" |xargs  rm -rf
    
     sudo rm -rf /var/www
    
     sudo rm -rf /etc/libapache2-mod-jk

      4).回到第一步重新安装即可。

    2.查看是否安装成功

    sudo systemctl status apache2 

    成功的话显示如下图:
      运行成功图

    3.查看安装位置

    whereis apache2


    4.查看Apache版本

    apache2ctl -v

    5.在浏览器地址栏输入http://localhost(或者输入本机服务器IP),查看Apache服务器默认网页是否运行正常,网页图如下:

      这里写图片描述

    6.自定义网站根目录,默认根目录为/var/www

      我们只需要对apache2在/etc/apache2和/etc/apache2/sites-available下的两个配置文件apache2.conf和000-default.conf两个配置进行修改就行了。

    1).编辑/etc/apache2/apache2.conf这个主配置文件,找到<Directory /var/www/>这个参数,把其中的/var/www/改为自己想自定义的目录。

    2).编辑/etc/apache2/sites-available/000-default.conf这个默认配置文件,找到”DocumentRoot /var/www/html” 这个参数,把其中的/var/www/html同样修改为自己想自定义的目录。

    3).修改完配置后需要重启Apache服务。

    sudo /etc/init.d/apache2 restart

    4).在浏览器地址栏输入服务器IP测试,此时显示的是自定义目录下的文件,如下图。
    根目录文件

    二. 配置CGI

    何为CGI(公共网关接口):它定义了Web服务器和外部程序交互的接口,是在网站上实现动态页面的最简单和常用的方法,使你只需要在特定目录放入可执行文件,就可从浏览器调用。
    接下来配置可以运行的CGI脚本。

    1. 配置apache以允许CGI的执行

    有很多中方法可以实现这个配置,这里我们采用的是ScriptAlias指令,这个指令使Apache允许执行一个特定目录中的CGI程序。当客户端请求此特定目录中的资源时,Apache假定其中所有的文件都是CGI程序并试图运行它。
    在/etc/apache2/conf-enabled/serve-cgi-bin.conf文件中将如下字样的两行修改(用管理员权限修改),其中的/usr/lib/cgi-bin都改为你自己想测试的cgi脚本所在目录:

    ScriptAlias /cgi-bin/   /usr/lib/cgi-bin/
               <Directory "/usr/lib/cgi-bin">

    这一行的意思是告诉Apache:任何以/cgi-bin/开头的资源都将映射到/usr/lib/cgi-bin/目录中,且视之为CGI程序。

    4. 测试cgi是否可以运行

    在自定义的想测试目录/cgi-bin/中创建一个测试CGI脚本为test.cgi,因为调用的是Python,使用前肯定要有Python这个解释器啦!但所幸Ubuntu16.04默认安装了Python所以就不多赘述了。脚本内容如下:

    #! /usr/bin/python
    print 'Content-Type: text/html'
    print ''
    print '<html>'
    print '<h2>CGI Script Output</h2>'
    print '<p>This page was generated by a Python CGI script.</p>'
    print '<p>Hello, baby!</p>'
    print '</html>'

    记得修改cgi脚本的权限。CGI程序属性一定要设为可运行(755),而与CGI有关的HTML文件的目录如果要被CGI程序写入,其权限一定要设为可写(666)。
    例如我测试的CGI脚本所在目录为/dd/test.cgi,那么命令就是:

    sudo chmod 755  /dd/test.cgi

    修改权限后,接下来在浏览器调用测试,在浏览器地址栏中输入地址:http://localhost/cgi-bin/test.cgi,出现如下图 所示就表示CGI脚本调用成功:

    CGI测试



    展开全文
  • ubuntu 启用apache运行状态信息查看

    万次阅读 2011-01-04 17:04:00
    ubuntu下安装apache后,默认apache的配置文件都在 /etc/apache2/ 目录下。 而其中允许查看apache运行状态的配置默认是在 /etc/apache2/mods-available/status.conf 文件中配置的。 这个文件的默认配置类似如下: # #...

    ubuntu下安装apache后,默认apache的配置文件都在 /etc/apache2/ 目录下。

    而其中允许查看apache运行状态的配置默认是在

    /etc/apache2/mods-available/status.conf 文件中配置的。

    这个文件的默认配置类似如下:


    #
    # Allow server status reports generated by mod_status,
    # with the URL of http://servername/server-status
    # Uncomment and change the ".example.com" to allow
    # access from other hosts.
    #

        SetHandler server-status
        Order deny,allow
        Deny from all
        Allow from localhost ip6-localhost
    #    Allow from .example.com

    我们需要做以下修改,Order(顺序)为允许优先,允许来自各处的访问请求。
    # 启用详细监控数据

    ExtendedStatus On


        SetHandler server-status
        Order allow,deny
        Deny from nothing
        Allow from all

    然后重启 apache

    sudo /etc/init.d/apache2 restart

    之后,我们通过 http://servername/server-status 就可以看到apache运行时的信息。

     

     

    更详细的参看:
    使用LoadRunner监控Apache的步骤
    http://igoole.javaeye.com/blog/576700

    使用LoadRunner监控Apache的步骤

    http://www.ltesting.net/AutoTest/Merc/200604/456.htm

    展开全文
  • 一.基于htpasswd创建的用户名密码的验证 1.创建用户名密码文件 touch -f /tmp/shou/.passwd htpasswd -b /tmp/shou/.passwd shou test1234※htpasswd命令用法参照:... 2.配置/etc/apach
    一.基于htpasswd创建的用户名密码的验证
    1.创建用户名密码文件
    touch -f  /tmp/shou/.passwd
    htpasswd -b /tmp/shou/.passwd shou test1234
    ※htpasswd命令用法参照:http://hi.baidu.com/hellgrowl/item/75aa898fd97eb1c298255f9d
    2.配置/etc/apache2/sites-available/default文件
    Alias /test "/tmp/shou/test"
    <Directory "/tmp/shou/test">
    	Options Indexes FollowSymLinks MultiViews
    	AllowOverride None
    	Order allow,deny
    	allow from all
    
    	AuthName "Authorization TEST(01)"
    	AuthType Basic
    	AuthUserFile /tmp/shou/.passwd 
    
    	Require valid-user
    </Directory>
    

    二.基于MySQL数据库表中信息的验证
    1.MySQL的验证,要求安装mod_auth_mysql模块。
    sudo apt-get install libapache2-mod-auth-mysql

    2.激活mode_auth_mysql模块

    cd /etc/apache2/mods-enabled
    ln -s ../mods-available/auth_mysql.load

    3.创建数据库表,添加数据

    CREATE TABLE tbl_user (
        id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
        username VARCHAR(128) NOT NULL,
        password VARCHAR(128) NOT NULL,
        email VARCHAR(128) NOT NULL
    );
    INSERT INTO tbl_user (username, password, email) VALUES ('test1', 'pass1', 'test1@example.com');
    INSERT INTO tbl_user (username, password, email) VALUES ('test2', 'pass2', 'test2@example.com');

    4.配置/etc/apache2/sites-available/default文件
    Alias /test1 "/tmp/shou/test1"
    <Directory "/tmp/shou/test1">
    	Options Indexes FollowSymLinks MultiViews
    	AllowOverride None
    	Order allow,deny
    	allow from all
    	AuthName "Authorization TEST(02)"
    	AuthType                       Basic
    	Auth_MySQL                     On
    	Auth_MySQL_Authoritative       On
    	Auth_MySQL_Host                localhost
    	Auth_MySQL_Username            root
    	Auth_MySQL_Password            rootadmin
    	Auth_MySQL_DB                  test
    	Auth_MySQL_Password_Table      tbl_user
    	Auth_MySQL_Username_Field      username
    	Auth_MySQL_Password_Field      password
    	Auth_MySQL_Encryption_Types    Plaintext
    	Auth_MySQL_Empty_Passwords     Off
    	AuthBasicAuthoritative Off
    	AuthUserFile /dev/null
    
    	Require valid-user
    </Directory>


    展开全文
  • 步骤一,安装apache2 sudo apt-get install apache2 发现问题: Problem with MergeList Installing package(s) with command apt-get -y --force-yes -f install ...
  • 简介 在Ubuntu上安装Apache2 来配置web服务器 运行sudo apt-get install apache2去安装Apache2 开启、关闭和重启服务器 1、/etc/init.d/apache2 start //启动Apache服务 2、/etc/init.d/apache2 stop //停止...
  • Ubuntu整合Apache和Tomcat

    2018-11-18 14:54:42
    前两篇已经写了Apache和Tomcat的安装,本文主要探讨Apache和Tomcat的整合。 〇、为什么要整合 Tomcat也有webserver的功能,但一般只用作调试,其强项还是在于处理动态网页,静态网页不如Apache这种专业的webserver...
  • Ubuntu系统Apache2部署SSL证书 前提条件 已从SSL证书控制台下载Apache服务器证书 步骤 在apache2目录下创建SSL目录 mkdir /etc/apache2/ssl 使用命令或者WinSCP等途径将你下载下来的SSL的Apache证书...
  • Ubuntu 配置 Apache

    2019-02-07 09:28:12
    Ubuntu 配置 Apache
  • ubuntu安装配置Apache2和SVN

    千次阅读 2015-05-29 09:21:12
    由于新公司要搭建新的svn,我因为之前有linux的基础,而且确实在linux中搭建SVN服务器更好维护也更稳定,...ubuntu安装配置Apache2和SVN   我习惯进入root下操作,所以首先 第一步:安装apache2,subversion,libap
  • Ubuntu 安装 PHP7.2 和 Apache2

    千次阅读 2019-04-23 14:49:52
    Ubuntu 安装 PHP7 和 Apache2 Ubuntu 安装 PHP7 和 Apache2 1、准备工作 2、安装 PHP7.2 和 Apache2 3、查看PHP 环境信息以及相关的模块 4、安装phpMyadmin 5、访问phpMyadmin是否成功 1、...
  • 苹果app开发好后,放到公司网站以供... 首先要把/etc/apache2/sites-available/default-ssl 做个软连接到 /etc/apache2/sites-enabled/000-default-ssl !!!!不然,default-ssl 不会生效 Create a stub SS
  • 声明:本文全部内容为原创内容...第一部分:安装并测试apache2 步骤一:安装apache2 运行以下命令安装apache2: sudo apt install apache2 步骤二:在防火墙中放行80端口 通过ufw放行用于测试默认网站的80端口: sudo
  • Ubuntu安装Apache+Svn+Submin

    千次阅读 热门讨论 2019-06-04 17:26:15
    安装之前建议先更新 sudo apt update ...sudo apt install apache2 2、开启apache2模块 a2enmod rewrite a2enmod authn_dbd 二、 安装svn与subversion sudo apt install subversio...
  • ubuntu下源码安装apache2和php7

    千次阅读 2017-02-20 13:27:59
    安装apache2 1.下载apache2: 点我转到下载地址 2.安装依赖sudo apt install libapr1-dev libaprutil1-dev sudo apt install libpcre3-dev zlib1g-dev3.安装./configure --prefix=/usr/local/apache2 --enable-...
  • HTTPS(超文本传输安全协议)...云服务器这里我以腾讯云的为例 ubuntu16.04LTS 要配置HTTPS需要SSL证书,而SSL证书是需要域名的,因此我们需要在腾讯云上购买域名,注意购买后要尽快完成备案(实名),否则域名会处...
  • 公司购买的是腾讯的ubuntu的云服务器,该操作系统可以使用apt-get install来安装对应的软件,它会自动加载需要的依赖包。同时可以使用apt-cache search all来查看apt可以安装哪些软件,这在后面开启php扩展时会用到...
  • 基于Ubuntu+Apache+Passenger+MySQL的Redmine安装笔记 作者:雨水,日期:2015-11-09 概述 Redmine是一个用Ruby语言开发的开源的基于Web的项目管理工具。它提供了丰富的项目管理功能,包括需求跟踪,bug跟踪,WiKi...
1 2 3 4 5 ... 20
收藏数 15,251
精华内容 6,100
关键字:

ubuntu 验证apache2