Instalación de Karamelo (Paso a Paso)
Software Libre
Notas de escritura:
# <- Significa que esas acciones son como superusuario, en ese caso también se puede usar sudo.
$ <- Las acciones son como usuario normal.
Posiblemente algunos pasos puedan hacerse de una forma mucho más corta. La mayoría le puse para que cualquiera con poca experiencia pueda seguirlo, por lo tanto si te puedes ahorrar unos pasos, no necesitas seguir el manual al pie de la letra.
Instalación de las Herramientas
Primero necesitamos instalar las herramientas necesarias. La forma de instalar los paquetes necesarios dependerá de tu distribución, en este caso serán pasos para una distribución basada en Debian.
Para eso necesitamos lo siguiente:
- Servidor Web Apache
- Php5
- Módulo de Apache para Php5
- El paquete para la conexión de Php5 con Postgres
- El manejador de Base de Datos, postgres.
- Subversion (Esta herramienta es necesaria para obtener la última versión de karamelo y de cakephp)
# aptitude install apache2 php5 libapache2-mod-php5 php5-pgsql postgresql subversion
Ubicación de la Instalación
Necesitamos un directorio donde para el desarrollo:
El directorio que voy a ocupar para poner a cakephp/karamelo será: /home/thot/work
Para utilizarla esta ruta de base en el resto del tutorial.
Obtener CakePHP y Karamelo
Primero descargaremos CakePHP y Karamelo de sus repositorios respectivos, para esto haremos lo siguiente:
Entramos al directorio:
$ cd /home/thot/work
Obtenemos CakePHP del repositorio.
$ svn co https://svn.cakephp.org/repo/trunk/cake/1.2.x.x cake
Obtenemos Karamelo de su repositorio.
$ svn co https://devel.mononeurona.org/svn/public/karamelo/trunk/ karamelo
Con esto tenemos 2 carpetas más en /home/thot/work, una llamada cake y otra llamada karamelo.
Agregar los archivos necesarios de CakePHP a Karamelo
Ahora lo que tenemos que hacer es agregarle los archivos/directorios necesarios de CakePHP a Karamelo, porque el framework no está incluido en el código de Karamelo ya que sería hacerlo demasiado pesado.
Suponemos que seguimos en el directorio /home/thot/work
$ cp cake/cake karamelo/cake -r
$ cp cake/vendors karamelo/vendors -r
$ cp cake/docs karamelo/docs -r
$ cp cake/index.php karamelo/index.php
$ cp cake/app/tmp karamelo/app/tmp -r
Con esto hemos copiado los directorios cake, vendors y docs (de CakePHP) a Karamelo.
También el directorio temporal (tmp) de la aplicación original de CakePHP a Karamelo.
También el archivo index.php de CakePHP a Karamelo.
Configuración de las Herramientas
Activamos el módulo Rewrite de Apache.
# a2enmod rewrite
Editamos el fichero /etc/apache2/sites-enabled/000-default (En este caso no es necesario usar vim, se puede usar el editor de texto preferido por cada quién. Lo importante es editarlo como superusuario.)
# vim /etc/apache2/sites-enabled/000-default
Hay que asegurarse que AllowOverride esté en "All" y no "None" donde dice /var/www cambiarlo por /home/thot/work/karamelo/app/webroot y reiniciar apache2. En este caso se está suponiendo que la configuración de Apache estará dedicada a Karamelo. En caso de tener otras aplicaciones web que utilizar en la máquina local, pues tendrán que adaptar su configuración del Apache.
Dar permisos al directorio temporal de Karamelo:
Configuración de Postgres y creación de la BD
Aquí supondremos que no tenemos ningún usuario que pueda crear roles, y base de datos en Postgres. Por lo tanto se pondrán todos los pasos.
Entramos como superusuario
$ su root
Entramos como el usuario postgres, que es el único que podría crear roles, y bases de datos
# su postgres
Creamos el usuario karamelo
postgres:~$ createuser karamelo
Cambiamos la contraseña del usuario karamelo
postgres:~$ psql template1
Cambiamos la contraseña
=> alter user karamelo password 'karamelo';
Salimos de postgres
=> \q
Ya con eso tenemos el usuario que utilizaremos para la base de datos. Creamos la Base de Datos.
postgres:~$ createdb -E utf-8 KARAMELODB -O karamelo -W
Nos pedirá la contraseña, que es 'karamelo'
Salimos de la sesión con el usuario postgres, y del usuario root.
postgres:~$ exit
# exit
Entramos al directorio /home/thot/work/karamelo/config/sql/postgres, que es donde tenemos el script de creación de la BD.
$ cd /home/thot/work/karamelo/app/config/sql/postgres
$ psql KARAMELODB -U karamelo -W < karamelo.sql
Pedirá contraseña, y pues es 'karamelo'
Con eso ya tendremos creada la Base de Datos para Karamelo.
Configuración final del CakePHP/Karamelo
Editaremos la configuración de la Base de Datos para CakePHP.
$ cd /home/thot/work/app/config
$ cp database.php.default database.php
Editamos el archivo que acabamos de copiar.
$ vim database.php
Se edita a algo de esta forma:
class DATABASE_CONFIG {
public $default = array(
'driver' => 'postgres',
'persistent' => false,
'host' => 'localhost',
'port' => '',
'login' => 'karamelo',
'password' => 'karamelo',
'database' => 'KARAMELODB',
'schema' => 'public',
'prefix' => '',
'encoding' => 'utf-8'
);
public $test = array(
'driver' => 'postgres',
'persistent' => false,
'host' => 'localhost',
'port' => '',
'login' => 'karamelo',
'password' => 'karamelo',
'database' => 'KARAMELODB',
'schema' => 'public',
'prefix' => '',
'encoding' => 'utf-8'
);
}
Finalizamos

Permalink: http://www.mononeurona.org/users/entry/thot/1302
Comentblogs:Se me olvidaba decirte que estamos usando la versión en desarrollo de CakepPHP que está en:
https://svn.cakephp.org/repo/branches/1.2.x.x/
la que está en trunk esta muy desactualizada.
2008-05-17 14:49:45-05
También ya puse el hash del password para que ahora si sea "karamelo", lo que pasa es que antes estaba cifrada usando MD5 y ahora está en un SHA2.
2008-05-17 14:54:29-05
Siguiendo la anterior guÃa y tomando nota del uso de la versión que hacen notar, logro instalar karamelo.
KARAMELODB=> select username, pwd from users;
username | pwd
----------+------------------------------------------
admin | f713c27c6cfc028ce4f756ea692dcf80af42846c
(1 fila)
KARAMELODB=>
Segun esto el usuario es admin, pero la clave?, por que karamelo no es.
2008-06-24 17:58:54-05










