首先确保你已经可以用layout 这个插件很简短 目的就是根据当前的module和controller的名字 来自动搜索layout模板 命名空间如default模块的index控制器就是自动寻找default_index.phtml

GeSHi © 2004-2007 Nigel McNie, 2007-2009 Benny Baumann, 2008-2009 Milian Wolff
  1. <?php
  2. class Mysns_Custom_Layout extends Zend_Controller_Plugin_Abstract
  3. {
  4.     public function routeShutdown (Zend_Controller_Request_Abstract $request)
  5.     {
  6.         //不同的Module_controller使用不同的layout模板
  7.         Zend_Layout::getMvcInstance()->setLayout($request->getModuleName() . '_' . $request->getControllerName());
  8.     }
  9. }
  10. ?>
Parsed in 0.847 seconds at 420 B/s

7月头条新闻应该是 CAPCOM的街头霸王4 PC版发售 电脑游戏长时间都用键盘鼠标作为输入设备 所以同期3D格斗游戏大作永远不会在PC上出现 只有在PS时代的斗神转出现在了电脑平台上 除此以外 若非模拟器的出现 大部分的2D格斗也和电脑无缘 不过有用微软的策略 和CAPCOM的诚意 街头霸王4以一个现时最强格斗游戏的姿态出现在电脑平台上 这是街霸3D化的第一个作品 水墨风格很讨好人 动作都很流畅 由于电脑配置已经非常高了 所以运行速度无限流畅 更是好过TV平台 7月重头戏 不过目前的破解有点问题

CODEMASTER的FUEL推出 作为一款赛车游戏 FUEL的卖点是有最大的游戏地图 不过我对CM的游戏引擎一直不感冒 当赛车玩很无趣 只能当竞速游戏玩

CODEMASTER的霸王2推出 CM应该只是代理我记得 我很喜欢这个游戏的1代 操作感很强 很有代入感 画面风格很完美很OK 是我唯一想玩的 能让你放松的游戏 也是我7月最期待的

SEGA的VR网球2009推出 更新的游戏引擎提升了速度 这个游戏不能不玩 很放松 操作很简单 和人对战其乐无穷 en 好东西

linode的vps可以选择的系统很多 但是注意 有几个内核不支持xen的虚拟 这个很重要 没有xen就没有linode应以为傲的速度上的绝对优势!

大多数的web server多用centos 不过我个人稍微偏好ubuntu 9.04原因是他的软件包关键非常方便 软件源都很新 linode提供了9.04的32和64版本 我选择了64bit

在dashboard里建立完自己的虚拟主机 开机启动 连上ssh 就能开始安装了

用apt-get比从二进制编译绝对方便很多 我也提倡用apt-get 他能自动生成完整的依赖关系 比自己去维护好 那台浪费时间了 en

首先安装 gcc g++ make automake nano wget zip unzip

这些工具我定义为基础工具 我喜欢nano多过vi 所以我装了nano来编辑文本文件 en
接着用nano或者你可以用vi来编辑/etc/apt/sources.list 这个文件包含了apt软件源 去掉开头#注释的源头 得到所有源头 接着执行apt-get update就能更新所有最新软件 包括原来没有的软件 再apt-get dist-upgrade 全系统的升级 很安全

然后安装 apache2-mpm-itk 为什么不是原始版的apache2 可以参考我关于apache2安全的文章 apache2-mpm-it 处理虚拟主机事物有更高的安全性 en

然后安装php5 mysql5 php5-gd php5-curl php5-xmlrpc php5-mcrypt
libapache2-mod-auth-mysql php5-mysql phpmyadmin

做一个软连接 连接phpmyadmin路径 sudo ln -s /usr/share/phpmyadmin/ /var/www/

安装ftp服务 vsftpd

安装作为开发者需要的SVN服务以及apache2配套的外挂组件 subversion libapache2-svn

这2天黄梅天的感觉很厉害 一会打雷 一会下雨 一会放晴 一会变阴 唯一不变的就是闷热

说实话最近2礼拜跑步少 因为天气都太多变了 早上起来都是在下雨 en 今天天空放晴 身体感觉还成 就去跑步 刚跑2分钟就感觉不对 小腿好像灌铅 呼吸什么都ok 就是小腿感觉真的迈不动 made 老夫坚持 10分钟之后浑身湿透 omg 我不想弄的像运动健将一样 不过真的是上半身全部湿透 这天真是 ai

kfc广告越做越弱智 轰炸效果还是不错 今天去吃法风烧饼 真太小了 味道不错 第一次吃牛肉粥 味道也不错 安心油条有点匪夷所思了 感觉口感更像糖糕 en

20090630.jpg

20090630(001).jpg

前段时间再给自己的linux配置服务 碰到了些问题 主要是关于apache访问用户方面的 这里说下自己对于linux下apache安全配置的心得

首先 在中国用apache的人很多 但是 真的遇见问题tmd搜索引擎一点东西都找不出来 包括一些大的技术论坛 涉及到最简单的安全问题 还有人会有常识性的错误 本文主要解决的是apache下的虚拟主机的安全问题 我所使用的 使每个虚拟主机对应单独用户进程的方法

虚拟主机主要是单ip下 给80口通过不同的域名请求 映射到相应的域名服务 使他看上去像一个独立的ip主机 这个很简单 因为基本一般的网站都使用虚拟主机 我们在实际操作中会遇见一些问题 默认的apache安装完毕之后 会建立www-data这个用户以及www-data这个用户组 所有的web请求都会通过apache使用这个用户名和组来访问linux系统的资源 如果整个主机上的虚拟主机都是你的 比如某些公司的主机 那么安全可能不是特别重要 一个用户进程也ok 当然这也不对 要防止本身程序的漏洞 如果是多人合用的 那么每个用户都应该有一个单独的进程 这样不会产生跨目录访问的问题

举例子 /var/www/www.aaa.com 是一个虚拟主机 /var/www/www.bbb.com 是另外一个虚拟主机 如果他们都是用www-data权限的话 www-data的权限在整个/var/www目录 他们在www.bbb.com主机上的用户 可以轻松获得www.aaa.com主机上文件所有文件 包括 包含密码的配置文件

在一般操作中 可能apache多是和php结合 我们可以再虚拟主机配置文件中使用 php_admin_value open_basedir /var/www/www.bbb.com 来锁定他的php权限 但是这样不是一个最好的做法 这样 可能会让某些session cache cookie目录失去作用 因为他们在权限以外 更大的问题是 这个设置命令仅仅对php有效 如果其他语言python perl都无用

所以思路是 让每个虚拟主机的访问请求都被转换成一个对应的用户来访问到linux系统的资源

首先介绍下apache2的suexec 从apache文档可以看到这样一句话 suEXEC特性使得Apache可以使用与调用web服务器的用户不同的用户身份来运行CGI和SSI程序。而通常情况下,CGI或者SSI程序执行时使用和web服务器相同的用户身份。

suexec主要代替了apache2之前的user group命令 在配置中使用 SuexecUserGroup user group 这样的命令 要注意的地方有2点 suexec只能限制cgi和ssi 也就是说php需要运行在cgi模式下 然后一点就是通过apt-get安装出来的apache2没有带suexec 需要apt-get install apache2-suexec 这里额外说下 ubuntu9.04的默认apt源里没有suexec你需要编辑 /etc/apt/sources.list 把注释掉的源开启! 然后apt-get update 那样就能找到suexec了 en

suexec在使用过程中效果不错 不过毕竟他需要托管的程序都在cgi模式下 需要寻找一个更好的办法 这里额外说明一点 再一次配置中 我的php没有在cgi模式下 suexec仍然起作用 不过后来没有尝试出来 因为有了更好的办法

suexec的补充就是 还有一个类似的包裹存在 叫做suphp 看名字就知道专门为php设计 可以google搜索到

最后的重点来了 apache 的mpm-peruser多路处理器 我们知道apache2引来了mpm这个概念 不同操作系统版本的apache2都有不同的mpm 这样可以有最佳的速度 unix下的默认mpm是prefork 我们要使用mpm-peruser 他支持每个虚拟主机使用不同的身份访问linux资源 他不存在兼容语言模式问题 因为他运行在最高级的mpm 他的速度比suexec快 在此看来 这是一个完美的选择 使用apt-get 安装实在太方便 apache2-mpm-itk 就ok了 在虚拟主机配置文件中 ServerEnvironment user group 完成配置 重启apache 安全的apache2出现了 当然 速度比prefork mpm慢 但是 安全第一!

最后 我想说iis下设置单独虚拟主机的身份要方便很多 iis7是划时代的 使用任何软件都是为了完成目标 在linux下我就用apache2 支援的模块多 libapache2-svn等 但许多人都通过软件来代表自己的口味 维护软件就好像维护自己的面子 觉得自己很新潮 就上Zeus nginx 使用新软件无可厚非 但是通过使用的软件来标榜自己就很晕菜 起码得先用好他 好像用了windows就是官僚 不思进取 用了linux就是自由 真的 适合自己才是最好 en....

连续几天的天气让我感觉很热很闷 加上时不时的雨心情也不是很爽 唯独一件很舒服的事情就是 晚上用了海飞丝洗头 感觉很舒服 很适合夏天用 洗好之后立即有清凉薄荷的感觉 让我脑子清醒许多

琐碎的事情一点点逐步的处理中 明天把看书的事情先告一段乱 en

明天整理自己的svn服务器 代码仓库又乱了 en

阿婆今天走了

今天下午6点 阿婆走了 心情却放松很多 阿婆走之前已经被身体的疼痛折磨太久 由于大脑的问题 失去语言技能也很久 走了也算是轻松 一种解脱

有点时间没写blog 事情有点多 上周六被空调吹的太厉害 周日坚持住 周一终于还是感冒了 今天终于康复 但是晚上还是听到消息

blog必须被整理 有空要做的事情太多 en 要看的书太多 要写的东西太多 en 先从整理开始

ubtuntu 9.04 64bit不错 很喜欢apt更新机制 很方便 最近几天都在无数次的调试重装系统中度过 en web server现在异常的稳定

目前apache2端的配置如下
Apache/2.2.11 (Ubuntu) DAV/2 SVN/1.5.4 PHP/5.2.6-3ubuntu4.1 with Suhosin-Patch mod_python/3.3.1 Python/2.6.2

重新调整了blog的分类 更好的适应seo 准备写一些关于apache安全机制的笔记 en 以及安装中遇到的许多问题 en

上篇说到虚拟主机早就不流行了 vps时代来了 于是开始心动了 寻找一个价格便宜 功能强大 关键是稳定 最关键是到中国速度快的vps就是迫切需要解决的问题

网上关于vps的文章不是很多 可惜我好多年前的2个落伍id已经相继被删 稍微看了下 vps的速度关键是vps实现的方式 主要有半虚拟xen 还有系统级别的虚拟 类似多用户的 比如hypervz 半虚拟的xen 在目前技术下 分给你多少内存 你就可以有多少内存 而vz系统是非独立的内存 有一个共享的概念 所以vz的vps plan内存多比较多 而且有一个burst ram概念 因为他能用到的内存是共享的 en vz系统对主机商来说很不错 因为可以超卖 一个服务器可以卖出超过他资源的vps 而目前来说xen就是由多少资源就卖多少 好了 我必须选择一个xen的主机

然后vps肯定是买美国人的服务 用过美国人的idc 是不会有人去体验中国的idc的 美国很大 和中国一样 所以不同机房到中国的速度不同 所以重点推荐 洛杉矶LA的机房 LA的机房到中国速度基本是最快的 购买之前可以测试下idc提供的文件下载速度 达拉斯的速度也还可以 然后亚特兰大也不错 en

综合的看 包括看了很久国内论坛比如idcspy 以及老牌的WHT论坛 我最后选择了linode的服务 linode是一个老牌的vps供应商 他有以下优点 价格相对便宜 提供LA机房的服务 使用xen的虚拟机解决方案 有一个简陋的主机控制面板 包含一个dns服务器和一个流量资源图片显示 en

中国关于linode的文章不多 其中有一篇文章在比较rapidxen和linode中说购买linode之后发现时uml而非xen 其实在linode系统中可以自己订制不同的内核 而有三个内核是工作在UML下的 而不是linode不能工作在xen下 工作在xen下速度确实很快 en 而且我很幸运的买到了LA机房的vps 买完就没了 运气太好 en ssh连上主机明显比dreamhost速度快 很爽 没有丢包的感觉 很舒服 reapidxen我也比较过 感觉真的有点简陋 我不喜欢我的网站一下消失的感觉 idc这行业还是选择一个牌子老的比较好 en

买完linode 后台还不错 选择自己需要的系统 想怎么换就这么换 一开始我选择了centos 想装个lxadmin控制下 后来我放弃了 5.2下安装不上 我yum去掉了所有的基本服务让lxadmin装 也没搞定 于是我装centos 5 lxadmin装上去 可是还不是很正常 算了 我还是手工安装所有服务吧 系统也换了ubuntu 9.04 64bit 可以说是能选择最新的系统了 apt=get和yum用起来一样方便 en 不错 一会搞定了 一天之内就做了那么多事情 en

今天端午节 跑了步 吃了生煎 写下blog 继续调试我的vps

这个礼拜重头戏是nba 东西决赛进入白热化 西部有湖人队掘金 掘金的决心很大 可惜他们放不住科比 小甜瓜不错 是一个巨星的料 东部 魔术对骑士 越来越喜欢詹姆斯了 他有一颗超级强大的星 这次最后一秒的3分绝杀充分体会到这一点 以前不是很喜欢他 动作不是很有美感 不如科比和韦德有那种艺术化的感觉 但是这个赛季越来越喜欢他 这个赛季进步最大 中投明显强化很多 超远距离三分的水平堪比阿里纳斯 很强 常规赛的mvp名不虚传 很有可能今年能拿到冠军和季后赛和总决赛的mvp 所以今年的lbj 6代很有收藏的价值! 应该去买一双 en

说到lbj6 在网上价格已经跌到5xx 这真的很神奇 lbj的鞋子总是掉价很快 可能是因为一年两双的关系 lbj6的配置是非常豪华的 双层zoom 样子也不错 也没有那种大的魔术贴 脚宽的人穿进去也很舒服 很心动 不过还是喜欢黑白红的配色 现在价格699 西部全明星的配色也不错 相对来说 科比的鞋子就不怎么掉价 一直在700左右徘徊 en 然后简喷的价格一下下来很多 多是pe版本 有小斯还有易建联等 还有全明星的配色 价格在6xx 也很有吸引力 要知道简喷是alpha计划的产品 怎么看怎么灵 我觉得比风四好看 发泡材料让人很想拥有 en lbj的去年季后赛穿的战士2的奥运会superme也在市场上出现 只有500不到 绝对让人浮想联翩 很喜欢着鞋子 包裹的感觉恰到好处 很舒服 很配合我的脚和体重 而且关键是奥运会版本意义很大 比普通的战士2零售价高100 也很有吸引力 en 不过这个礼拜最让人震惊的是 aj19代只有5xx了 太shock了 很想买一双 en 不过现在最大任务是购买篮球袜 en..下礼拜端午了 可以好好篮球了

很久没有关注idc了 自己的网站已经在dreamhost运行了快3年了 但是折腾的心一下又起来了 环顾社区和很多人的感受 发现现在虚拟主机已经彻底淘汰了 vps时代到来了 我不想解释什么是vps 但是新的硬件发展 带来的就是idc行业的革命 下个礼拜我将选择一个新的vps主机来作为我的立足之地 en 研究下centos是当务之急

平时买书都在卓越 感觉卓越最便宜 不过要成为他的会员 基本每年消费要快2k 很困难 china-pub不太上 前天一上 发现不错 以前就知道但是不太买 因为贵 而且运费要额外计算 他的好处是高校免费送货 北京人民比较开心 里面的计算机图书的排行榜很有参考价值 前50的基本都是好书 都想拥有 这2天在搞活动 买2送1 今天买了 都是很想看的书 而且还是最新版本的书 很开心 好好看看

昨天和初中同学一起自助餐 四川路上的巴必隆 一起聊聊天吃自助的感觉总是让人很满足 尤其是全肉类 吃的过程感觉很爽 当然今天早上有点小小的腹泻 还是有吃到生肉吧 en

gossip girl第2季结束 这片子编剧的水平可以 比较紧凑 而且像比较越狱 英雄 更贴近生活 第2季的结尾是完美的 对第3季 也就是进入大学之后也有了不小的铺垫 让人很期待

稍微看了2篇文章 以下自己理解 一直在寻觅一种可以服务器推到browers的技术 这样比较容易制作类似b/s软件短消息提示等功能 最早以前 这几乎不太可能 只有用自刷新的iframe 后来由了ajax 但是ajax本身是异步的 只能手工设置一个time不停的刷新 现在又了一种改良的技术 叫comet 它具体的把ajax过程拆解 传统的ajax在不同的环节服务器端会返回不同的响应码 完成的响应码发回来之后 客户端才会有动作 现在comet技术就是把响应状态挂起来 永远是处理响应状态 服务器端会阻塞请求直到有数据传递或超时才返回 客户端 JavaScript 响应处理函数会在处理完服务器返回的信息后,再次发出请求,重新建立连接。 当客户端处理接收的数据、重新建立连接时,服务器端可能有新的数据到达;这些信息会被服务器端保存直到客户端重新建立连接,客户端会一次把当前服务器端所有的信息取回。 还有种基于iframe的长连接 很神奇

comet是一种神奇的东西 处理实时数据有很大用武之地 en 不过和php的结合不是很好

最近1周多点时间 人比较上火 很痛苦 嘴唇开始开裂 总感觉嘴巴不是很舒服 需要多吃点蔬菜了 en 停止服用蛋白粉一个礼拜 需要让肾脏休息休息了 en

昨天做了一个梦 又回到了初中还不知道小学时候 场景是放学回家的路上 夏天 梦里的人很轻松 很舒服 很开心 很感动 梦醒了 缺感觉很痛苦 可能小时候的无忧无虑才是最开心的吧 en

最近事真多 还真没什么号事 en

越狱是我追的第一个美剧 所以感情特别深刻 也是我看完全部的第一个美剧 从第二季开始 越狱的编剧就不怎么行了 剧情完全胡编乱造 尤其第四季更是垃圾 但是 今天 越狱大结局2集联播 到了他结束的那一刻 还是非常的感动 大结局的最后 四年以后 michael还是死了 一切结束 他付出了生命中的一切 为了帮助所有人 完美的诠释了生命

片子本身还是很多漏洞的 但是人情味比较浓 现在就看gossip girl怎么发展了 还有heroes了 en..

发现codchina.net的服务器都刷不出来了 上论坛看看 原来都搬去gerane平台了 这下发现新大陆了 我本来是排斥用平台打游戏的 因为很早以前的平台都是tcp模拟ipx 比如最最早的kali 什么的 现在的平台比起以前的技术上有不小的提高 不过我还是感觉到lag 但是能寻觅到很多服务器还是非常开心的 en

这2天天气较周初炎热的气候好了很多 心情也舒畅很多 晚上睡眠也好很多

sns站在高速的堆积 还是忙于构造用户后台 以及观察者模式的模块之间的通讯

明天顺便理个发 感觉需要让精神一点

今天上海不是一般的热 今天温度超过35度 电视新闻宣布已经进入夏天 走在路上就是在冒汗 防晒霜都顺着汗水留下来 不过出点汗的感觉不错 但是这种天气就不能打篮球了

买好了护膝 查了很久 感觉还是lp 788ca适合我 mcdavid的价格太贵了 蜂巢的样子不错 但是他基本上时防止冲撞的 我对冲撞的要求不高 只要能固定膝关节 需要788ca这种带孔的固定用护膝 mcdavid的同样类型的直接400以上 太贵了 lp是美国人授权 台湾人生产 面料上还是很不错的 透气 干爽 轻 这几点很重要 还有廉价的国产aq 我看了下网站 虽然号称是美国产品 但是网站竟然是全中文的 英文网站的flash广告竟然是中文的 包装倒是很唬人 李鬼产品 不过价格很便宜 logo挺好看的 en 最后还是买了788ca 打篮球 跑步 足球 都适合 en

看了下淘宝 合买材料中将了 买了5.6元 中了13.74元 运气不错 前端时间不是合买也中了5元 运气不错

状态还是比较低迷 这2天还特别的热 晚上睡觉太热 质量不是太好

脖子已经完全康复了 如同没有受伤一样 终于不会在刚起床时候有隐痛

左膝盖还是有点难过 准备买套护膝 保护是第一位的 en

winrar 3.9beta1已经释出点时间了 首先有了64bit版本 在64位vista下工作非常完美 性能比以前版本有了大幅提高 于是告别陪伴我在64位环境下的7zip 重新回归winrar

今天是季后赛第2轮的第一场 也是姚明7年来第一次打到西区半决赛 很好 顶住了压力 赢下了比赛 虽然比赛中受伤 但还是坚持 brooks比之前的比赛聪明许多 感觉面对fisher有很大优势 稍微减慢了自己的速度 让命中率提高很多 en 防守端的巴蒂尔 阿泰斯特非常强 很不错

针对昨天文章的一点补充 zf在命名空间之后要做资源的命名 比如昨天Default_Form_Login 这个表单 之所以会在forms目录中找到 是因为默认的资源类型中有form资源针对forms目录的默认链接 比如在application目录下 也就是default命名空间下 我喜欢有一个自己的类文件夹customs 放置自己封装的类和函数 那么就需要在bootstrap.php的Zend_Application_Module_Autoloader里加入addResourceType('Custom', 'customs', 'Custom') 这样就能使用比如Default_Custom_Acl 这个类 会自己搜索application目录下customs目录下的Acl.php文件 并且使用这个类 命名空间的时候极大干净了index.php 启动部分更简洁 可以伴随不同开发环境做设置 尤其是include path部分作用几乎全部交给zf来自己完成了 很不错 en

正如上篇文章写的zf这次修改很大 51过后几天看了下 autoloader部分的修改直接带来了命名空间 有了命名空间部分的修改 直接带来的是application目录下forms models目录的改写 必须有命名空间的前缀 比如 原来 LoginForm 这样的名字 现在需要 Default_Form_Login 这样的命名 default指的是默认的命名空间 你可以修改自己喜欢的名字 然后设定该命名空间的根目录 一般default在bootstarp.php指定的就是bootstrap.php所在目录 也就是application目录 这样的命名会自动搜索application目录下forms目录下login.php中的Default_Form_Login类 这样方便很多 不用再去include_path很多东西了 命名空间的改变很直观

bootstrap.php改变也很大 继承了Zend_Application_Bootstrap_Bootstrap 这个类 你可以将完整各个大初始功能写在里面 用_init做字头 比如_initDoctype 把一大功能写在一个类里 你可以有选择的启动每个部分 当然也可以不加参数直接启动 比如在index.php里$application->bootstrap()直接启动所有_init部分

bootstrap也设置了几个默认的资源插件 比如必须的frontcroller db session等 可以在 启动的ini设置 当然别忘记根据不同的开发环境来设置 这样你就不用在boot类里再手写_initDb之类的东西了 en 很棒

zf的这次提升更oop了 越发完美 有理由相信2.0的zf是完美的 en

最近评论

关闭