Monday, 1 October 2007

Install Typo3 4.x with PostgreSQL

Typo3从4.0开始,间接提供了对PostgreSQL等其它数据库的支持。这里以PostgreSQL为例,介绍如何架构Typo3,使之运行在非MySQL数据库上。

Typo3对非MySQL数据库的支持,是基于其所包含的两个扩展的基础之上,ADOdb(adodb)Database Abstraction Layer(dbal)。在Typo3 4.x的发行包里,已经包含了这两个扩展包,无需再安装。缺省配置下,未激活这两个扩展包。

. DB Server Side

首先作数据库服务器端的准备工作,建立一个空的database在DB Server上。目前,DBAL还不能直接create database,必须手动进行。还好这个过程,并不复杂,基本上就是一个指令。这里,假定建立了一个名为pgtypo3的数据库。

. Web Server Side

和通常的情况一样,在建立一个Typo3站点的时候,需要指定Aliase或虚拟主机。这里的例子,Typo3被安装到http://localhost/pgtypo3。

. Typo3 Configuration

1. 将Typo3 Dummy包或完整的Typo3包解压缩到指定的目录,比如\pgtypo3;

2. 修改\pg-typo3\typo3conf\localconf.php。修改以后的内容如下;

$TYPO3_CONF_VARS['SYS']['sitename'] = 'Pg TYPO3 site';
...
$TYPO3_CONF_VARS['EXT']['extList'] = 'tsconfig_help,...,t3skin,adodb,dbal';
...
// connect to PostgreSQL database by dbal + adodb
$TYPO3_CONF_VARS['EXTCONF']['dbal']['handlerCfg'] = array (
'_DEFAULT' => array (
'type' => 'adodb',
'config' => array( 'driver' => 'postgres8', )
)
);

这里,修改了站点名称,激活adodb和dbal扩展包,添加了dbal数据库接口定义。参考ADOdb的相关介绍,选择合适的driver。这里,将连接到PostgreSQL 8.x数据库。

3. 在浏览器中,访问http://localhost/pgtypo3。Typo3会自动进入‘1-2-3’模式的安装工具;

4. ‘1-2-3’模式的安装工具还是可以继续“借用”的。在STEP 1中,填写数据库服务器参数;

Username: typo3admin
Password: ******
Host: l92.168.0.128

5. ‘1-2-3’ STEP 2,指定Typo3使用的数据库。选项一,选择一个现存的空数据库。这里,选择前面所建立的‘pgtypo3’。不要试图去直接建立一个数据库。否则,会得到如下出错信息:

Creating a database with DBAL is not supported. Did you really read the manual?

6. ‘1-2-3’ STEP 3,不要直接按“Import database”按钮。Typo3安装工具里的初始化Query,是针对MySQL的。如果直接使用,会导致出错。因此,在这里点击“Click here to disable”,退出‘1-2-3’模式,进入正常安装模式;

7. 在正常安装模式下(http://localhost/pgtypo3/typo3/install/index.php),进入‘2: Database Analyser’。应该可以看到“Connected to SQL database successfully”,这表明前面的设置是正确的;

8. 点击Database Analyser: Menu: Update required tables的COMPARE;

9. 安装工具会列出一堆Create Table命令,点击之后的“Write to database”按钮,以初始化数据库。通过DBAL来Compare Tables,会一直出现Changing fields的列表,忽略后续出现的更新要求。其可能的原因是,将dump之后的PostgreSQL表结构,和内设的MySQL表结构相比较,在细节上很难完全一致,因此,会不断的要求更新。所以,不要管后面的内容。只要通过数据库工具,监测到数据库已经被更新就行了。也就是,建立了从be_groups到tx_rtehtmlarea_acronym等一系列库表。

10. 导入静态数据。点击Database Analyser: Menu: Dump static data的IMPORT。选择“Import the whole file 'CURRENT_STATIC' directly (ignores selections above)”,点击“Write to database”;

11. 由于回到了正常安装模式(Normale mode),需要手动建立第一个管理员账户。Database Analyser: Menu: Create "admin" user。此信息将写入数据库的‘pgtypo3.public.be_users’表中,其中的password已经经过MD5处理;

12. 在正常安装模式(Normale mode)中,剩余的工作还有:

install tool password   $TYPO3_CONF_VARS['BE']['installToolPassword']   * MD5-hashed
ImageMagick path $TYPO3_CONF_VARS['GFX']['im_path']
$TYPO3_CONF_VARS['GFX']['im_path_lzw']
backend forceCharset $TYPO3_CONF_VARS['BE']['forceCharset']

这些都可以在“1: Basic Configuration”,或“5: All Configuration”中完成。现在可以结束使用Typo3的安装模式。

13. 访问后端控制台(http://localhost/pgtypo3/typo3)。Typo3会显示一个黄色的警告信息,依此提示到Tools: DB Check中更新一下参考索引(reference index)。

至此,Typo3通过DBAL + ADOdb,使用PostgreSQL的设置工作,全部完成。后续工作,与通常无异。

参考链接

Short DBAL how-to
DBAL Manual
ADOdb Manual

0 Comments:

Post a Comment

<< Home