Indefero esta hecho con un framework llamado plurk, por lo tanto primero se debe instalar dicho framework para poder instalar Indefero.

Instalación de Plurk:

yum install php-pear-Mail-Mime
mkdir /home/www
cd /home/www
git clone git://projects.ceondo.com/pluf.git

Descargue indefero y guardelo en su escritorio, lo extrae y:

cp -r /home/richy/Escritorio/indefero-0.8.9 ./
mv indefero-0.8.9/ indefero
ln -s /home/www/indefero/www/media
ln -s /home/www/indefero/www/index.php

Edite el archivo /home/www/indefero/src/IDF/conf/idf.php y ajuste a su configuración, lo más importante es agregar la configuración para la base de datos y si no ha creado una base de datos para uso de Indefero este es el momento de hacerlo, puede usar MySQL para ello.

cd /home/www/indefero/src

Pruebe las tablas de instalación con el siguiente comando:

php /home/www/pluf/src/migrate.php –conf=IDF/conf/idf.php -a -i -d -u
PHP include path: .:/usr/share/pear:/usr/share/php:/home/www/pluf/src
Install all the apps
Pluf_Migrations_Install_setup
IDF_Migrations_Install_setup

NOTA: es –conf solo que el — no sale bien identado en el código anterior.

Si nada va mal, puede intentar hacer la inserción de las tablas de la base datos con el siguiente comando:

php /home/www/pluf/src/migrate.php –conf=IDF/conf/idf.php -a -i -d
PHP include path: .:/usr/share/pear:/usr/share/php:/home/www/pluf/src
Install all the apps
Pluf_Migrations_Install_setup
IDF_Migrations_Install_setup

NOTA: es –conf solo que el — no sale bien identado en el código anterior.

Ahora vaya al siguiente directorio:

cd /home/www/

Ahora cree allí un archivo llamado bootstrap.php con un contenido similar al siguiente:

<?php
require ‘/home/www/indefero/src/IDF/conf/path.php’;
require ‘Pluf.php’;
Pluf::start(‘/home/www/indefero/src/IDF/conf/idf.php’);
Pluf_Dispatcher::loadControllers(Pluf::f(‘idf_views’));

$user = new Pluf_User();
$user->first_name = ‘John’;
$user->last_name = ‘Doe’; // Required!
$user->login = ‘doe’; // must be lowercase!
$user->email = ‘doe@example.com’;
$user->password = ‘yourpassword’; // the password is salted/hashed
// in the database, so do not worry :)
$user->administrator = true;
$user->active = true;
$user->create();
print “Bootstrap ok\n”;
?>

Editelo con sus datos ya que este será el usuario administrador, ejecute:

cp indefero/src/IDF/conf/path.php-dist indefero/src/IDF/conf/path.php
php bootstrap.php

Ahora tendrá su usuario administrador creado, borre el archivo bootstrap.php.

rm bootstrap.php

Aún no tienes instalado completamente Indefero, antes de continuar vamos a instalar y configurar el svn:

yum install mod_dav_svn

Esto resolverá cualquier dependencia que se necesite.

Edite el archivo de configuración /etc/httpd/conf.d/subversion.conf y agregue al final:

<Location /svn>
DAV svn
SVNParentPath /home/svn/repositories
AuthzSVNAccessFile /home/svn/dav_svn.authz
Satisfy Any
Require valid-user
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /home/svn/dav_svn.passwd
</Location>

Si lo desea, puede personalizar el atributo AuthNAme y colocar el nombre que quiera a su repositorio de software.

Ahora ejecute los siguientes comandos:

mkdir –parents /home/svn/repositories
touch /home/svn/dav_svn.authz
touch /home/svn/dav_svn.passwd
chown -R apache:apache /home/svn
find ./ -name “*.php” -exec chmod 775 {} \;

NOTA: es –parents solo que el — no sale bien identado en el código anterior.

Ahora tiene la configuración aplicada, ahora nos toca hacer la integración con Indefero, debe instalar la siguiente librería:

yum install php-pear-File-Passwd

Ahora edite el archivo de configuración de Indefero en /home/www/indefero/src/IDF/conf/idf.php

Y ubique las lineas que dicen:

$cfg['svn_repositories'] = ‘file:///home/svn/repositories/%s’;
$cfg['svn_remote_url'] = ‘http://localhost/svn/%s’;

Comentelas colocando un numeral adelante y debajo de ellas agregue las siguientes lineas:

$cfg['svn_repositories'] = ‘file:///home/svn/repositories/%s’;
// We add “trunk” to invite people to checkout the trunk of the
// project.
$cfg['svn_remote_url'] = ‘http://localhost/svn/%s/trunk’;

// Synchronisation specific configuration variables
$cfg['idf_plugin_syncsvn_authz_file'] = ‘/home/svn/dav_svn.authz’;
$cfg['idf_plugin_syncsvn_passwd_file'] = ‘/home/svn/dav_svn.passwd’;
$cfg['idf_plugin_syncsvn_svn_path'] = ‘/home/svn/repositories’;
// Delete the corresponding repository when deleting the project
$cfg['idf_plugin_syncsvn_remove_orphans'] = false;

Si ha usado un dominio para acceder a su repositorio puede editar el parámetro $cfg['svn_remote_url'] para que concuerde con el mismo, de lo contrario déjelo como está, también agregue una cadena de caracteres cualquiera como parámetro para la opciòn $cfg['secret_key'] =

Para finalizar de la permisología adecuada al directorio siguiente:

chown apache.apache -R indefero/www/media/

Ahora puede crear un archivo de configurarión en el apache para acceder vía web a indefero, cree el archivo /etc/httpd/conf.d/indefero.conf con el siguiente contenido:

<Location /indefero>
DocumentRoot “/home/www”
Options +FollowSymLinks -Indexes
DirectoryIndex index.php
</Location>

Para ingresar coloque en su navegador la dirección http://localhost/indefero si creo un dominio puede fijarse en la siguiente configuración y adapte a sus necesidades:

NameVirtualHost *:80
<VirtualHost *:80>
ServerName code.example.com
DocumentRoot “/home/www”
DirectoryIndex index.php

<Directory “/home/www”>
Options +FollowSymLinks -Indexes
AllowOverride All
</Directory>
</VirtualHost>

Reinice el apache:

service httpd restart

Ya debería tener su inderero configurado y funcionando.

Este tutorial fue realizado a partir de los siguientes documentos:

http://projects.ceondo.com/p/indefero/page/InstallationScmSubversion/
http://projects.ceondo.com/p/indefero/page/Installation/

No hay articulos relacionados a esta entrada.