Ubuntu 14.04+Apache2.4 + MySQL环境搭建

来源:互联网 发布:ck29d5s 00总线数据 编辑:程序博客网 时间:2024/04/28 20:33

原文地址:http://jingyan.baidu.com/article/4dc408489585a9c8d946f116.html

所谓非匿名站点,就是要通过用户名和密码验证后才能访问的网站,比如:类似登陆http://192.168.1.1路由管理系统这样子的。

但这里我们用MySQL做验证数据库,这样可以更加灵活地管理授权。

工具/原料

  • Ubuntu 14.04
  • Apache2.4
  • MySQL

方法/步骤

  1. 1

    首先安装Apache2.4及其常用的配置管理工具:

    sudo apt-get -y install apache2 apache2-utils

    Ubuntu 14.04中搭建Apache2.4+MySQL非匿名站点
  2. 2

    由于libapache2-mod-auth-mysql在Ubuntu 14.04 LTS的Apache 2.4中死活用不了,那么为了确保不和我们接下来要安装的libaprutil1-dbd-mysql不冲突,这里就卸载掉它,如果你没安装过则可略过。

    sudo apt-get -y remove libapache2-mod-auth-mysql

    Ubuntu 14.04中搭建Apache2.4+MySQL非匿名站点
  3. 3

    安装libaprutil1-dbd-mysql模块,这个是apche和mysql实现验证的桥梁。

    sudo apt-get -y install libaprutil1-dbd-mysql

    Ubuntu 14.04中搭建Apache2.4+MySQL非匿名站点
  4. 4

    安装mysql-server,可以不用后面版本安装默认/推荐版本就好了。

    sudo apt-get -y install mysql-server

    Ubuntu 14.04中搭建Apache2.4+MySQL非匿名站点
  5. 5

    安装phpMyAdmin并整合到apache中,方便管理MySQL,可能你习惯用mysql命令行的话,此步略过。

    sudo apt-get -y install phpmyadmin

    再打开sudo gedit /etc/apache2/apache2.conf配置添加:

    Include /etc/phpmyadmin/apache.conf

    Ubuntu 14.04中搭建Apache2.4+MySQL非匿名站点
    Ubuntu 14.04中搭建Apache2.4+MySQL非匿名站点
  6. 6

    启用dbd和authn_dbd这两个关联的验证模块。

    sudo a2enmod dbd

    sudo a2enmod authn_dbd

    Ubuntu 14.04中搭建Apache2.4+MySQL非匿名站点
  7. 7

    编辑默认站点配置 sudo gedit /etc/apache2/sites-available/000-default.conf,加上凭用户名和密码访问验证。DBDriver mysqlDBDParams "host=127.0.0.1 port=3306 user=http_auth_db pass=123456 name=http_auth_db"DBDMin  2DBDKeep 4DBDMax  10DBDExptime 300<Directory /var/www/html>        AuthName "Please Login"    AuthType Basic    AuthBasicProvider dbd    AuthDBDUserPWQuery "SELECT encrypt(password) AS password FROM user WHERE username = %s"    Require valid-user</Directory>

    Ubuntu 14.04中搭建Apache2.4+MySQL非匿名站点
  8. 8

    最后通过mysql命令行或phpMyAdmin创建验证数据库http_auth_db和user表

    CREATE DATABASE http_auth_db;

    CREATE TABLE `user` (    `id` int(11) unsigned NOT NULL auto_increment,    `username` varchar(255) default NULL,    `password` varchar(255) default NULL,    PRIMARY KEY  (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8;

    把你要的用户添加到user表中,打开访问网站,这下要登陆才能访问喽!

    我这里user表中存的是明码,最好存密码的sha值或其它加密后的数据,更多可以查apache的Password Formats/Basic Authentication相关手册。

    Ubuntu 14.04中搭建Apache2.4+MySQL非匿名站点

0 0
原创粉丝点击