Instalación

Configuración del servidor

PHP

La instalación de PHP requiere tener el atributo short_tags habilitado.

Para ello deben editar el archivo php.ini. Este archivo normalmente se puede encontrar en la ruta /etc/php5/apache2/php.ini.

Allí se debe habilitar el siguiente atributo:

short_open_tag=On

Apache

Se necesita habilitar el módulo rewrite de Apache para que funcionen las friendly urls de Simple.

Para habilitar el módulo se debe ingresar el siguiente comando en el terminal:

sudo a2enmod rewrite

También se necesita habilitar el uso de los archivos .htaccess. Para ello editar el archivo /etc/apache2/apache2.conf.

Buscar la sección <Directory /var/www/>. Dentro de ella, editar el siguiente atributo:

AllowOverride All

Configuración de la plataforma

Framework

  • Cambiar el nombre del archivo de configuración del framework que se encuentra dentro de la carpeta "application/config" de "config.php.sample" a "config.php"
  • Configurar el parámetro encryption_key dentro del archivo config.php. Utilizar cualquier string aleatorio.
  • Cambiar el nombre del archivo de configuración del envío de correos que se encuentra dentro de la carpeta "application/config" de "email.php.sample" a "email.php"

Base de datos

  • Crear una base de datos para la plataforma
  • Cargar la estructura inicial del archivo "sql/estructura.sql"
  • Cambiar el nombre del archivo de configuración de base de datos que se encuentra dentro de la carpeta "application/config" de "database.php.sample" a "database.php"
  • Editar el archivo "database.php" y actualizar los valores con los de su configuración, normalmente se deben editar sólo los campos "username, password, database"

Aplicación de parches

  • Aplicar los últimos parches a base de datos situandose en la raiz de la aplicación y ejecutando el comando: php index.php migration migrate

Carga de datos iniciales

  • Cargar los datos iniciales del archivo "sql/datos.sql"

Habilitar módulo de búsquedas Sphinx

  • Instalar en el servidor el motor de búsquedas Sphinx (sphinxsearch.com)
  • Cambiar el nombre del archivo de configuración de Sphinx que se encuentra dentro de la carpeta "sphinx" de "sphinx.conf.sample" a "sphinx.conf"
  • Editar sphinx.conf incorporando los datos correspondientes a tu base de datos.

Para levantar el servidor de búsquedas, situarse en la carpeta sphinx de Simple. Luego ejecutar:

searchd

Para indexar los datos actualmente en la base de datos ejecutar:

indexer --rotate --all

Habilitación de soporte para múltiples subdominios

  • Editar el archivo application/config/config.php y configurar la variable $config['main_domain']` con el dominio deseado.

Nota: Si se configura ejemplo.com como dominio principal. Cada cuenta de simple funcionara bajo el dominio nombredecuenta.ejemplo.com

Permisos de carpetas

Simple requiere que el servidor apache tenga permiso de escritura sobre las carpetas debajo de uploads/.

Si es que Apache no tiene esos permisos, se pueden setear mediante el siguiente comando.

Situándose en la carpeta raiz de Simple:

sudo chgrp -R www-data uploads
sudo chmod -R g+rw uploads

Configuración de operaciones recurrentes

Simple requiere que ciertas operaciones se ejecuten cada cierto tiempo. Existe un set de operaciones que se debe ejecutar cada hora, y otra cada día.

Para ejecutar estas operaciones se debe ejecutar el siguiente comando en la raíz de Simple:

php index.php cron hourly
php index.php cron daily

Si se desea configurar para que se ejecuten automáticamente, editar el archivo cron del sistema mediante:

crontab -l

Agregar las siguientes líneas:

# Se ejecuta cuando el sistema bootea
@reboot php /ruta/a/simple/index.php cron hourly
@reboot php /ruta/a/simple/index.php cron daily

# Se ejecuta todas las horas en el minuto 0.
0 * * * * php /ruta/a/simple/index.php cron hourly

# Se ejecuta todos los días a las 00:00
0 0 * * * php /ruta/a/simple/index.php cron daily

Configuración de Simple bajo HTTPS

Si se desea que Simple funcione bajo el protocolo HTTPS, se debe configurar el siguiente parámetro de Simple ubicado en application/config/config.php

/*
 * Servidor soporta HTTPS
 */
$config['https'] = TRUE;

Configuración de sesiones

Por defecto, Simple almacena toda la información de sesión de los usuarios dentro de una cookie encriptada. Si se desea que la información de sesión se almacene en base de datos se deben seguir los siguientes pasos:

1- Crear la tabla de sesiones mediante la siguiente consulta SQL en la base de datos:

CREATE TABLE IF NOT EXISTS  `ci_sessions` (
    session_id varchar(40) DEFAULT '0' NOT NULL,
    ip_address varchar(45) DEFAULT '0' NOT NULL,
    user_agent varchar(120) NOT NULL,
    last_activity int(10) unsigned DEFAULT 0 NOT NULL,
    user_data text NOT NULL,
    PRIMARY KEY (session_id),
    KEY `last_activity_idx` (`last_activity`)
);

2- Luego en el archivo application/config/config.php configurar el siguiente parámetro:

$config['sess_use_database'] = TRUE;

Ejecución inicial

  • Acceder a http://nombrededominio/backend Usuario: admin@admin.com Contraseña: 123456

Administración de multiples cuentas

  • Acceder a http://nombrededominio/manager Usuario: admin@admin.com Contraseña: 123456