用PHow搭建PHP+MYSQL网站开发环境[组图]_PHP应用_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

用PHow搭建PHP+MYSQL网站开发环境[组图]

作者:黑客防线网安PHP维护基地 来源:黑客防线网安PHP维护基地 浏览次数:0

本篇关键词:环境组图搭建 
黑客防线网安网讯:     MySQL用户帐号管理主要用grant(授权)和revoke(撤权)两个SQL指令来管理。这两个指令实质是通过操作user(连接权限和全局权限)、db(数据库级权限)、tables_priv(数据表级权限)、columns_p...

     MySQL用户帐号管理主要用grant(授权)和revoke(撤权)两个SQL指令来管理这两个指令实质是通过操作user(连接权限和全局权限)、db(数据库级权限)、tables_priv(数据表级权限)、columns_priv(数据列级权限)四个权限表来分配权限的host权限表不受这两个指令影响。下面将会详细介绍用户权限管理的内容。

GRANT语法说明:

GRANT privileges (columns)          #privileges表示授予的权限columns表示作用的列(可选)
      ON what                       #设置权限级别全局级、数据库级、数据表级和数据列级
      TO account                    #权限授予的用户,用"user_name"@"host_name"这种用户名、主机名格式
      IDENTIFIED BY 'password'      #设置用户帐号密码
      REQUIRE encryption requirements       #设置经由SSL连接帐号
      WITH grant or resource management options;   #设置帐号的管理和资源(连接服务器次数或查询次数等)选项
示例:

mysql>grant all on db.* to 'test'@'localhost' identified by 'test';
上例运行后的效果是,test用户只能通过‘test’密码从本机访问db数据库

mysql>grant all on db.* to 'test'@'%' identified by 'test';
上例运行后的效果是,test用户可通过‘test’密码从任意计算机上访问db数据库。‘%’代表任意字符,‘_’代表一个任意字符。主机名部份还可以是IP地址。
   
如果没有给定主机部份,则默认为任意主机,也就是'test'和'test'@'%'是等价的。

Table 4.1. 访问权限表

权限 权限说明
CREATE TEMPORARY TABLES 创建临时数据表
EXECUTE 执行存储过程(暂不支持)
FILE 操作系统文件
GRANT OPTION 可把本帐号的权限授予其它用户
LOCK TABLES 锁定指定数据表
PROCESS 查看运行着的线程信息
RELOAD 重新加载权限表或刷新日志及缓冲区
REPLICATION CLIENT 可查询主/从服务器主机名
REPLICATION SLAVE 运行一个镜像从服务器
SHOW DATABASES 可运行SHOW DATABASES指令
SHUTDOWN 关闭数据库服务器
SUPER 可用kill终止线程以及进行超级用户操作
   
ALTER 可修改表和索引的结构
CREATE 创建数据库和数据表
DELETE 删除数据表中的数据行
DROP 删除数据表和数据行
INDEX 建立或删除索引
INSERT 插入数据行
REFERENCES (暂时不支持)
SELECT 查询数据行
UPDATE 更新数据行
   
ALL 所有权限,但不包括GRANT。
USAGE 无权限权限

Table 4.2. 权限作用范围(由ON子句设置)

权限限定符 作用范围
ON *.* 全局级权限,作用于所有数据库
ON * 全局级权限,若未指定默认数据库,其作用范围是所有数据库,否则,其作用范围是当前数据库
ON db_name.* 数据库级权限,作用于指定数据库里的所有数据表
ON db_name.tbl_name 数据表级权限,作用于数据表里的所有数据列
ON tbl_name 数据表级权限,作用于默认数据库中指定的数据表里的所有数据列

USAGE权限的用法:修改与权限无关的帐户项,如:

mysql>GRANT USAGE ON *.* TO account IDENTIFIED BY 'new_password';     #修改密码
mysql>GRANT USAGE ON *.* TO account REQUIRE SSL;                      #启用SSL连接
mysql>GRANT USAGE ON *.* TO account WITH MAX_CONNECTIONS_PER_HOUR 10; #设置资源
拥有WITH GRANT OPTION权限的用户可把自已所拥用的权限转授给其他用户,如:

mysql>GRANT ALL ON db.* TO 'test'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
这样test用户就有权把该权限授予其他用户。
限制资源使用,如:

mysql>GRANT ALL ON db.* TO account IDENTIFIED BY 'password' WITH MAX_CONNECTIONS_PER_HOUR 10 MAX_QUERIES_PER_HOUR 200 MAX_UPDATES_PER_HOUR 50;
允许account用户每小时最多连接20次服务器,每小时最多发出200条查询命令(其中更新命令最多为50条)
默认都是零值,即没有限制。FLUSH USER_RESOURCES和FLUSH PRIVILEGES可对资源限制计数器清零。

REVOKE语法说明:
WebjxCom提示:这时,我们需要一个快速、标准且专业的 PHP 套件包。PHPnow 就这样应运而生,为你快速搭建专业的虚拟主机。


搭建 PHP 其实不很难,只是有点繁琐。要是自己搭建一次 PHP + MySQL 环境很是费时。更糟的是,很多新手在配置 PHP 时常常出现这样那样的问题。诸如 mysql 扩展、zend 安装失败等等问题。这时,我们需要一个快速、标准且专业的 PHP 套件包。PHPnow 就这样应运而生,为你快速搭建专业的虚拟主机。

首先从 http://www.phpnow.org/download.html 下载 最新版 PHPnow。PHPnow 有两种封装,一是 exe 自解压版(推荐,本文针对此版),二是纯 7z 档案(没有 exe 自解压)。


执行 PHPnow-1.4.x.exe 出现下图所示。回车即可。

图-1:解压对话框


 

在自动解压完毕后,将自动执行 Init.cmd 进行初始化动作。如 图-2 示:
期间可能出现防火墙提示,请允许。

图-2:Init.cmd 过程

图-3:解除防火墙

 

Init.cmd 十秒钟即可完成。全部完成后,将自动打开默认页。

(如果没有,试试手动打开 http://127.0.0.1)

图-4:搭建成功


 

如果你只想搭建一个网站,上面的环境已经足够。很都时候我们需要开设多个独立的网站。例如论坛和主页分开、和朋友共享服务器等等。这时就要用到虚拟主机 了。


下面说说 PHPnow 虚拟主机的使用。很简单。


双击执行 D:\PHPnow\PnCp.cmd (可能你的安装路径不是 D:\PHPnow),输入 2 后回车。
按照提示输入新建虚拟主机信息。如 图-5 所示。


图-5:开设虚拟主机

 

输入完信息回车后,将自动重启 Apache 以便生效。然后访问刚才添加的域名,注意事先解析好域名指向你的服务器 IP。如果没有域名或者不会用,可以通过编辑 C:\WINDOWS\system32\drivers\etc\hosts 来使用“虚拟域名”。


本例中的 bbs.test.com 就是在 “127.0.0.1 localhost” 的下一行添加一行 “127.0.0.1 bbs.test.com” 实现的。


图-6:虚拟主机开设成功


 

可能你还需要为每个虚拟主机分配 MySQL 数据库,下面介绍如何使用 phpmyadmin分配用户和数据库。


打开 http://127.1/phpMyAdmin;用 root 登陆。

然后点击 “权限”再点击 “添加新用户”。

填写好新的 用户名 和密码;

选择第二项 “Create database with same name and grant all privileges”。

其他的保持默认;需要提的是,全局权限可不要选,除非必要,否则全不选。

点击 [执行] 即可完成。难明白就看看图吧。


图-7:添加数据库用户。


 

把刚才添加的用户名和密码交给用户即可。注意 root 拥有最高权限,不要轻易把密码交给别人。

好了!你现在拥有了一个专业的 PHP 服务器环境。什么 Discuz! 6.0、PHPWind、DeDe、PHPCms 全不是问题,马上开始你的建站旅程。

mysql>REVOKE privileges (columns) ON what FROM account;
示例:

mysql>REVOKE SELECT ON db.* FROM 'test'@'localhost';
删除test帐号从本机查询db数据库的权限
REVOKE可删除权限,但不能删除帐号,即使帐号已没有任何权限。所以user数据表里还会有该帐号的记录,要彻底删除帐号,需用DELETE命令删除user数据表的记录,如:

% mysql -u root -p
mysql>use mysql
mysql>DELETE FROM user where User='test' and Host='localhost';
mysql fulsh privileges;
REVOKE不能删除REQUIRE和资源占用的配置。他们是要用GRANT来删除的,如:

GRANT USAGE ON *.* TO account REQUIRE NONE;      #删除account帐号的SSL连接选项
GRANT USAGE ON *.* TO account WITH MAX_CONNECTIONS_PER_HOUR 0 MAX_QUERIES_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;       #删除account帐号的资源限制

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-13817-1.html
网站维护教程更新时间:2012-03-30 04:57:14  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer