Move Blog to Amazon AWS EC2

原来淘宝上的香港空间过期了,正好试下亚马逊的EC2,反正第一年免费。

花了两个小时完成设置和搬家,过程轻松愉快,顺便也走了一遍VPS的基本配置:

1. 申请 安装 Amazon EC2 instance

2. 安装 Ubuntu, 开端口, 绑定IP

3. 安装LAMP

4. 安装PHP MySQL Admin

5. 安装FTP

6. 安装SVN (这个非必要)

7. 打包上传原网站备份 和恢复数据库

8. 安装winzip

9. 解压缩

=== 参考链接

折腾笔记 — EC2 Ubuntu + LAMP设置方法
http://lanhl.com/2011-amazon-ec2-ubuntu-lamp-wordpress.html

Setup FTP
http://quick-markup.com/blog/2012/06/12/aws-ec2-ftp/

在ubuntu 11.10上面安装svn服务器的过程
http://www.qianshoublog.com/post/4039.html

Biogon Photoblog Release PHP Version

Biogon Photoblog开始的时候是用asp.net写的,后来因为换了PHP空间,就在graceric基础上用PHP重写,但和asp.net版本最大的不同是php版不上传照片,而是你需要先把照片上传到flickryupoo或者footbig,然后把图片url复制过来。

最初的设计动机是既想要一个比较个性化的空间,有不用花钱去买大的硬盘和流量,而且大家都知道flickr保留所有历史照片,但是如果不付费你却只能看到最近的200张,所以biogon也可以用来记录那些被隐藏的照片们。

简介:

这个系统让你只需要很小的一个PHP空间就可以有一个完全个性化的照片博客。

开发环境

* PHP+MySQL

系统需求:

* OS: Any, Linux preferred
* Web Server: Apache 1.3/2.0/2.2
* PHP: 4.0/5.0 with MySQL
* DB: MySQL 4.1/5.0/5.1

下载:

Release ver/1.04
Download Install URL:
http://biogon.googlecode.com/files/biogon-php-release-105.zip

说明:
*Biogon Photoblog PHP 安装说明
*Biogon Photoblog PHP 操作说明
*photo url 输入框中可以填入任意flickr或者footbig或者lensbig的图片链接地址,系统会自动识别。
*yupoo的图片需要输入原图(即最大的图片url)作为 photo url。

相关链接:
http://code.google.com/p/biogon

更新历史:

ver/1.00
第一个发布版本,支持yupoo照片

ver/1.01
支持footbig和flickr的照片

ver/1.02
修复照片描述的显示

ver/1.03
修复评论发布时间问题

ver/1.04
支持PHP5,支持Lensbig的照片

ver/1.05
修复时区问题 

Windows下开启apache Mod_rewrite模块

打开Apache2confhttpd.conf

搜索 LoadModule rewrite_module modules/mod_rewrite.so  (Apache2是这个),去掉前面的#。

搜索AllowOverride None,有好几个找到和下面代码类似的那个,替换为 AllowOverride All
<Directory “C:/Program Files/EasyPHP 2/www”>
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

PHP Defender

PHP Defender is licensed under GNU General Public License.

Author: ericfish © all right reserved.

关于:
* PHP Defender 是一个PHP的安全辅助类库
* PHP Defender 可以用于PHP应用的加密、修复Cross-site Script漏洞和SQL Injection漏洞

支持环境:
* PHP 3/4/5

使用说明:
* class.PHPDefender.php 支持PHP4/PHP5
* class.PHPDefender.php3 支持PHP3
* 使用方法请参考samples目录中的文档

安装Samples:
* samples中和数据库相关的例子需要是要到Oracle数据库,在Samples/Tools/dbinfo.php中配置数据库连接信息。

下载:

Release ver/1.00
Download URL:
http://phpdefender.googlecode.com/files/phpdefender.zip
Release Date: 2007-4-14

Summary:
* A simple PHP security libarary
* Can be used for encrypt/decrypt, and fix Cross-site Script/SQL Injection vulnerabilities

Support:
* PHP 3/4/5

How to use:
* class.PHPDefender.php is for PHP4/PHP5
* class.PHPDefender.php3 is for PHP3
* For detail information, please see the samples in the samples folder.

Install Samples:
* Database related sample will need db connection to Oracle database. You can set your database connection information in the Samples/Tools/dbinfo.php.

Download:

Release ver/1.00
Download URL:
http://phpdefender.googlecode.com/files/phpdefender.zip
Release Date: 2007-4-14

(http://code.google.com/p/phpdefender/

乱码笔记

在开发Graceric Version 2的过程中详细的研究了一下PHP页面中文乱码的问题,所以这篇文章的名字就叫做:乱码笔记。

1) 数据库Collation的中文乱码问题

PHP页面要从数据库取数据到前台显示,或者把输入传到数据库中保存,整个过程中可能有四个编码环节:
a) 页面文件的编码 b) 页面的编码 c) 数据库连接的character-set d) 数据库表的collation

a) 页面文件的编码: PHP文件是用什么编码保存的(比如utf-8, unicode, 或者中文系统默认的GB2312)。这个和数据库数据无直接联系,传到数据库的数据的编码只和页面的编码统一,但建议文件编码和页面编码一致。
b) 页面的编码: html的head中的 content="text/html; charset=XXX", XXX即页面编码。
c) 数据库连接的character-set: 可以在MySQL的配置my.ini中配置,一般写法是default-character-set=utf8,默认的charset是latin1,也可在执行SQL前用SET NAMES 'utf8'语句来指定。
d) 数据库表的collation: 在建数据库或者表的时候指定,phpMyAdmin可以先选择表,然后点‘Operations’进行修改。

总之,要正常显示简体中文这些编码一般必须是utf-8或者gb2312,而且四者需要一致。不过呢,数据库连接可以将utf-8隐式的转换为gb2312,反之则不然。

2) xajax的中文乱码问题 

经验总结,摸索出来的一点结果:

a) 当页面文件使用gb2312编码,使用xajax中用form onsubmit的方式来触发ajax函数,不论页面使用utf-8或者gb2312编码,都需要调用
iconv('utf-8', 'gb2312//IGNORE', $string)  来转换输入的中文字符,然后拼数据查询语句。
b) 通过其他方式触发ajax函数,只有当页面使用gb2312编码,需要调用
iconv('utf-8', 'gb2312//IGNORE', $string)  来转换输入的中文字符,然后拼数据查询语句。
c) 当页面使用gb2312编码,使用utf-8编码数据库表的数据库查询前,需先执行:
query("SET NAMES 'gb2312'") 使得数据库连接完成从utf-8到gb2312的隐式转换。
d) 当页面和页面文件都用utf-8编码,则没有任何问题,无需转换。

总之:xajax的中文参数总是在完成转换到utf-8编码后进行传递,故非utf-8中文操作需转换到与页面及页面文件的相同的编码中进行。

3) 页面编码和文件编码不统一的中文乱码问题

即如果页面用utf-8编码,PHP文件用的是gb2312保存,那么写死在文件中的中文字符输出成为乱码。

解决是:在输出中文字符前用iconv函数转换。或者将所有中文字符从数据库中取,文件中只写英文。

4) Zend Studio的中文乱码问题

Zend其实5.0的时候就已经很好的支持中文了,不过设置比较奇怪的说:

a) Tools -> Preferences

b) Desktop tab -> encoding 选择 utf-8 或者gb2312

c) Colors and fonts tab -> 点击Schema Name新建一个,Editor Font选择NSimSun

d) 文件保存时选择与encoding相同的编码

Hologon Digg System

Hologon Digg System is licensed under GNU General Public License.

Author: ericfish © all right reserved.

关于
* 一个基于digg模式的开源网站。
* 比较多的使用了AJAX技术。

开发环境
* PHP 4 + MySQL 4

系统需求:
* OS: Any, Linux preferred
* Web Server: Apache 1.3/2.0/2.2
* PHP: 4.0 with MySQL
* DB: MySQL 4.1/5.0/5.1

下载:

Release ver/0.95 beta UTF-8 version
Download URL:
http://hologon.googlecode.com/files/hologon-release-095-utf8.zip
Release Date: 2007-4-29
统一使用utf-8页面及数据库编码,适合国外服务器空间如: MT/bluehost/dreamhost

Release ver/0.95 beta GB2312 version
Download URL:
http://hologon.googlecode.com/files/hologon-release-095.zip
Release Date: 2007-4-29
统一使用gb2312页面及数据库编码,适合国内服务器空间如: 512j

Release ver/0.90 beta
Download URL:
http://hologon.googlecode.com/files/hologon-release-090.zip
Release Date: 2007-3-1

Sample Site:
http://travel.ericfish.com/digg/

FAQ:
* 如何安装?见代码包中《安装说明.txt》
* 什么是'Hologon'?- Hologon是卡尔蔡司的一个传奇广角镜头的型号。

相关链接:
http://code.google.com/p/hologon

Subversion Trunk:
svn checkout http://hologon.googlecode.com/svn/trunk/ hologon
* 关于Subversion的使用参见"SubVersion 笔记"

截图:

Graceric Blog

Graceric Blog is licensed under GNU General Public License.

Author: ericfish © all right reserved.

关于
* 自己写自己用的blog程序,参考了WP的架构和Gmail的UX。
* 极简主义,增加AJAX支持,自由的tag方式。
* 最新发布了version 2.03版本,支持PHP 5

开发环境
* PHP 4 / PHP 5 + MySQL 4

系统需求:
* OS: Any, Linux preferred
* Web Server: Apache 1.3/2.0/2.2
* PHP: 4.0/5.0 with MySQL
* DB: MySQL 4.1/5.0/5.1

下载:

Release ver/2.03
Download URL:
http://graceric.googlecode.com/files/gc-release-203.zip
Release Date: 2008-2-12

Release ver/2.02
Download URL:
http://graceric.googlecode.com/files/gc-release-202.zip

http://graceric.googlecode.com/files/gc-release-202.tar.gz
Release Date: 2007-4-10

Release ver/2.01
Download URL:
http://graceric.googlecode.com/files/gc-release-201.zip
http://graceric.googlecode.com/files/gc-release-201.tar.gz
Release Date: 2007-4-8

Release ver/1.00
Download URL:
http://graceric.googlecode.com/files/gc-release-100.zip
Release Date: 2007-2-3

Sample Site:
http://www.ericfish.com

FAQ:
* 如何安装?见代码包中《安装说明.txt》
* 什么是'Graceric'? Graceric = Grace + Eric
* 阅读其他帮助

Subversion Trunk:
svn checkout http://graceric.googlecode.com/svn/trunk/ graceric
* 关于Subversion的使用参见"SubVersion 笔记"

链接:
http://code.google.com/p/graceric/
http://groups.google.com/group/graceric

截图:

Biogon Photoblog

Biogon Photoblog is licensed under GNU General Public License.

Author: ericfish © all right reserved.

关于
* 一个很简单的照片博客系统。
* 延续ericfish.com一贯的简洁风格,嵌入AJAX支持。

开发环境
* ASP.net 2.0 + Access DB

系统需求:
* OS: Windows 2003 preferred
* Web Server: IIS 5/6
* .net framework 2.0
* DB: MS Access Database

下载:
Release ASP.net ver/1.00
Download Install URL:
http://biogon.googlecode.com/files/biogon-release-100-install.zip
Download Source URL:
http://biogon.googlecode.com/files/biogon-release-100-source.zip
Release Date: 2007-2-3

PHP版本:
http://biogon.googlecode.com/files/biogon-php-release-105.zip

安装说明:
运行安装包,安装完成后在IIS中ASP.NET version设置为2.0
查看App_Data目录下的数据库文件,给everyone 赋权 read&write
请先访问 ./admin/ 目录
默认用户/密码: admin/admin
先上传图片发表后,即可正常浏览网站
“about/关于”页面的内容请打开about.aspx编辑即可。

Sample Site:
http://blog.ericfish.com

FAQ:
*发生"Configuration Error" 错误?- IIS中ASP.NET version 没有设置为2.0。
*发生"Operation must use an updateable query." 错误?- 未给database赋权限。
* 什么是'Biogon'?- Biogon是卡尔蔡司的一个著名广角镜头的型号。

相关链接:
http://code.google.com/p/biogon

截图:

PHP4和PHP5的转换步骤(windows)

PHP4和PHP5的转换步骤备忘

1. 下载PHP5安装包 http://snaps.php.net/win32/php5.1-win32-latest.zip
解压到目录,添加该目录到环境变量:PATH=C:Program FilesEasyPHP1-8php5; (注:最好先删除之前的PHP4安装目录,或者删除环境变量中PHP4目录并重启)

2. 找到被apache使用的php.ini(可通过查看phpinfo找到),重命名PHP5目录中的php.ini-recommended为php.ini,拷贝覆盖正在被使用的php.ini。
编辑新的php.ini,更改extension_dir地址,和需要用到的extension。
另外注意php.ini中的一些可能的修改, 例如:
upload_tmp_dir = "C:/Program Files/EasyPHP1-8tmp"
session.save_path = "C:/Program Files/EasyPHP1-8tmp"
include_path = ".;C:/Program Files/EasyPHP1-8phppear"
extension_dir = "C:/Program Files/EasyPHP1-8phpext" (注意:php5的目录为ext, php4的目录为extensions)

3. 编辑apacheconfhttpd.conf,添加 LoadModule php5_module "C:/PROGRA~1/EASYPH~1/php5/php5apache.dll" (如果是apache2则应该用php5apache2.dll)

4. 重启apache服务。