在windows下安装indefero ( apache + php + mysql + svn)

 

本文原出处:http://www.cnblogs.com/agaue/archive/2012/03/28/2421561.html 

 

介绍:

indefero是一个开源的、和google code非常类似的项目管理软件。这是主页:indefero

indefero本身不支持在windows下安装, 所以在windows下的整个安装过程比较麻烦, 并且非常容易出错! 

建议有耐心、非常仔细的阅读以下内容!!!!!!

文章末尾有准备工作很多安装参考资料,建议有耐心有时间先看看这些资料,会很有帮助。

 

准备工作: 

你必须有一个已经可以正常运作的MySQL5.x数据库,并且你是管理员。

你必须有一个已经可以正常运作的SVN服务器,并且你是管理员。

 

1.在官方网站上下载indefero1.2和pluf


这是indefero的下载地址:
http://projects.ceondo.com/p/indefero/downloads/

这是pluf的下载地址:
http://projects.ceondo.com/p/pluf/source/download/master/

 

2.安装apache2.2

(假设安装在C:/apache,以下内容均约定以路径此为apache路径)
注意,如果你原来已经安装有apache了,可以略过这步。
但是,如果您对apache的配置不是十分熟练,建议安装一个全新的apache,这样你的httpd.conf是干净的。
注意,如果安装新的apache,注册windows服务的命令需要修改:

bin\httpd -n myname_Apache2.2 -k install

反注册服务器的命令也要相应修改 

bin\httpd -n myname_Apache2.2 -k uninstall 

如果安装了多个apache,注意在windows服务中检查这些服务所对应的.exe文件路径对不对。
查看服务方法:右键“我的电脑” -> 管理 -> 服务和应用程序 -> 服务

  

3.整理indefero和pluf的目录结构


把下载的indefero和pluf复制到c:/apache/htdocs目录下
目录结构为:

/htdocs/pluf/src/ 
/htdocs/pluf/src/Pluf.php
/htdocs/pluf/src/migrate.php
/htdocs/indefero/src
/htdocs/indefero/www
/htdocs/indefero/www/index.php
/htdocs/indefero/www/media

 





4.修改indefero和pluf的代码

打开 C:\apache\htdocs\pluf\src\Pluf\DB\Schema\MySQL.php 

看仔细了,有好几个MySQL.php文件呢,别打开错了。
120行附近,改成这样

    if ($field->type !== 'text' && $field->type !== 'blob') 
{
if (isset($val['default'])) {
$sql .= ' default ';
$sql .= $model->_toDb($val['default'], $col);
} elseif ($field->type != 'sequence') {
$sql .= ' default '.$this->defaults[$field->type];
}
}


修改原因参考:
Indefero on windows, some remarks/questions

 


5.安装php

注意安装时候不要一路下一步,选择组件的时候选择上pear和mbstring。
不要选择全部组件,否则你没有orcale的话会报很多oracle的dll的错误。

安装完php后,安装pear和pluf所需的组件。

cd c:/php 
go-pear.bat
pear upgrade-all
pear install --alldeps Mail
pear install --alldeps Mail_mime

最后

pear list 

查看一下组件是否正确安装

如果go-pear.bat执行有错误,那么请使用indefero_conf.zip中提供的go-pear.phar

执行

php go-pear.phar

 

 

6.配置php和apache

配置c:/php/php.ini和c:/apache/conf/httpd.conf 

由于需要配置的内容太多,我把我的配置文件贴在这里,在indefero_conf.zip中 

注意!不要直接复制我的文件,因为安装路径和本地环境不同。


建议用文本比较工具逐行对比复制过去。


(php.ini有1900多行,这个blog不支持这么多的代码,所以只能发个zip了)

注意,安装php之后,php往httpd.conf文件末尾加的内容可能会有些小问题,建议改成下面这样(就是把“\”改成“/”):

PHPIniDir "C:/PHP/"
LoadModule php5_module "C:/PHP/php5apache2_2.dll"

 

7.配置indefero


先把下面两个文件

C:\apache\htdocs\indefero\src\IDF\conf\idf.php-dist 
C:\apache\htdocs\indefero\src\IDF\conf\path.php-dist

改名为:

C:\apache\htdocs\indefero\src\IDF\conf\idf.php 
C:\apache\htdocs\indefero\src\IDF\conf\path.php


然后打开idf.php配置 ,也包含在indefero_conf.zip

这个配置非常重要,是安装indefero最关键的一步,务必耐心的每个配置仔细斟酌!!!

这里我给出我的配置,不要直接拿过去用,一定要自己逐行比较着看。

数据库用户名密码和svn用户名密码注意配置好。

同时,下面几个字段注意配置好,如果apache用的不是80端口,注意把端口配置好。

如果想在外网访问,localhost需要替换成对应的外网域名。

$cfg['idf_base'] = '';
$cfg['url_base'] = 'http://localhost/indefero/www';
$cfg['url_media'] = 'http://localhost/indefero/www/media';
$cfg['url_upload'] = 'http://localhost/indefero/www/media/upload'

注意,$cfg['secret_key']必修修改

搞定之后,就可以创建数据库了。

 

8.创建数据库

首先,随便用什么工具打开mysql,创建一个名为indefero的数据库(编码方式建议utf8,除非你对mysql编码方式很了解)。
然后,确认c:/php在环境变量里面,即无论在哪个目录都能访问php.exe
打开命令行:

cd C:\apache\htdocs\indefero\src 

执行命令模拟一下create db的过程。

php ..\..\pluf\src\migrate.php --conf=IDF\conf\idf.php -a -i -d -u

如果显示如下,说明模拟成功了:

Install all the apps 
Pluf_Migrations_Install_setup
IDF_Migrations_Install_setup

执行:

php ..\..\pluf\src\migrate.php --conf=IDF\conf\idf.php -a -i -d

实际创建数据库,注意,必须显示一下内容才表示可能成功:

Install all the apps 
Pluf_Migrations_Install_setup
IDF_Migrations_Install_setup

现在可以打开indefero数据库看看,是不是有很多表。 

如果只有一张表,说明创建错误,说明C:\apache\htdocs\pluf\src\Pluf\DB\Schema\MySQL.php 或者C:\apache\htdocs\indefero\src\IDF\conf\idf.php 配置的有问题

 

9.创建一个indefero的管理员账号

 

如果数据库创建成功了,那么就可以创建一个indefero的管理员账号了, 
把下面的内容保存成一个bootstrap.php文件,放在C:\apache\htdocs\下面,

 

<?php 
require 'indefero/src/IDF/conf/path.php';
require 'Pluf.php';
Pluf::start('indefero/src/IDF/conf/idf.php');
Pluf_Dispatcher::loadControllers(Pluf::f('idf_views'));
$user = new Pluf_User();
$user->first_name = 'Your name';
$user->last_name = 'Your last name'; // Required!
$user->login = 'username'; // must be lowercase!
$user->email = 'me@mydomain.tld';
$user->password = 'password'; // the password is salted/hashed
// in the database, so do not worry <img src="http://marxo.iz.rs/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley">

$user->administrator = true;
$user->active = true;
$user->create();
print "Bootstrap ok\n";
?>

 

注意把里面的个人信息改成自己的登陆信息!

 

 然后运行 

 

php bootstrap.php

 

这样数据库的indefero_users表中应该有一条新用户的记录了。

 

 

 

打开浏览器,输入 http://localhost/indefero

 

就已经可以看到indefero的主界面了,点击左上角的Sign in or create your account就可以用刚才的用户名密码登陆了。

 

注意,如果点击左上角的Sign in or create your account之后,说找不到页面,说明.htaccess和httpd.conf没有正确配置。 
请参考我上面发的配置,尤其注意几个目录的AllowOverride要设置为All(如果您的服务器安全级别要求高,请慎重处理)


10.修复File_Passwd导致设置项目属性失败的问题

安装之后,可能在设置“项目属性:成员”或者“项目属性:访问权限”的时候,会出错。虽然数据库中的数据已经被正确设置了,但是web页面会显示505错误,下面就是修复这个错误的方法。

如果你的php没有安装File_Passwd包,那么需要先安装一下这个包,因为indefero会用到。

cd c:\php
pear install File_Passwd


然后,打开C:\php\PEAR\File\Passwd.php

359 行改为:

$instance = new $class()

OK了!现在项目设置属性不会出现问题了。


出现问题的时候,可以尝试修改htdocs\indefero\src\IDF\conf\idf.php文件中的

$cfg['debug'] = true;

来显示indefero执行过程中的错误详细信息。

当然,最好同时关闭email发送,以防在email配置没有ok的情况下,产生更多的错误。

$cfg['send_emails'] = false

 

 

参考:

安装indefero在linux下据说是非常简单的,但是这两天我在windows下安装,还是遇到了不少问题。网上找到的安装方法或多或少都存在一些细节上的问题,在我这里水土不服,所以在自己折腾出来之后,我就把我的安装过程分享一下吧。

首先下面是我找到的一些资料和说明,非常具有参考价值,但是某些细节和我这里不太一致,建议有耐心的读者可以读读。

资料1
这个里面是官方的安装指南,但是只有linux下的安装方法。

资料2

这是google groups上面一个在windows下安装indefero的总结,要点非常有用!!!但是不包括所有的安装细节和你即将在windows中碰到的问题。

资料3

这是在已经有xampp的情况下,在windows下安装indefero的说明,极具参考价值,可惜有些细节和我这里不太一样,也许是作者遗漏了某些细节,总之按照这个方法安装后,会遇到资料4中提到的问题。

资料4

这是解决“只能看到indefero的index页面,其他页面点进去没东西”的问题的讨论。我在安装中也遇到这个问题了,本质是要正确的配置apache的rewrite

 

------------------------------------------------------------------------

安装环境与安装目的: 
我的安装环境是所有的内容(apache + php + mysql + svn + indefero)都在本地(localhost),直接可以访问到。 
但是安装后的indefero可以在外网远程访问到。

 

-----------------------------------------------------------------------

更新:

2012年3月29日

删掉了和rewrite相关的内容,简化安装过程,并更新了相关的配置文件。

 2012年3月30日

更新File_Passwd相关设置

posted @ 2012-03-28 18:14  agaue  阅读(681)  评论(0编辑  收藏  举报