Template SENATICs
Sistema de gestión de contenidos escrito en PHP que se destaca por ser ligero, fácil de usar y amigable con el usuario. Fue diseñado para que lo puedan usar usuarios con poca experiencia técnica y cuenta con funcionalidades como la de un editor in-context de contenido, control de versiones y hasta un editor de imágenes incorporado.
Instalación
Para poder instalar Concrete5 es necesario contar con un servidor web instalado en este caso expondremos la instalación para Centos 6.5 o Centos 7.
Requerimientos del Hardware
Espacio en Disco Duro: 20 GB o superior
Memoria RAM: 1 GB o superior
Requerimientos del Software
PHP 5.3.3. o mayór
Los siguientes módulos de PHP:
MySQL (con extensiones PDO) DOM SimpleXML Libreria GD con Freetype CURL mcrypt PHP Safe Mode Off
Límite de memoria de PHP al menos 64 MB (más podrían ser necesarias para la elaboración y manipulación de grandes archivos de imágenes.) MySQL 5.1.5 o superior
Soporte MySQL InnoDB table
Concrete5 se ejecuta principalmente en Apache2, pero también puede trabajar en IIS y Nginx.
Instalación de Apache2
Para instalar Apache, hay que abrir la terminal e ingresar:
sudo yum install httpd mod_ssl
Una vez instalado, se puede iniciar el mismo haciendo:
Para centos 6.5:
sudo service httpd start
Para centos 7:
sudo systemctl start httpd.service
Para comprobar que la instalación fue exitosa basta con ingresar desde un navegador web a la dirección IP del servidor (ej.: http://192.168.2.14) Se debería devolver una página como ésta.
Es recomendable agregar al httpd entre los servicios de inicio automático del servidor, para ello ejecutamos:
Para centos 6.5:
chkconfig httpd on
Para centos 7:
systemctl enable httpd.service
Instalación de MySQL
Para Centos 6.5
Para instalar la base de datos MySQL, hay que abrir la terminal e ingresar:
sudo yum install mysql-server
sudo service mysqld start
Durante la instalación, MySQL va a pedir dos veces por autorización. Después de confirmar ambas veces, MySQL se instalará.
Una vez instalado, se puede establecer una contraseña para el usuario root del MySQL:
sudo /usr/bin/mysql_secure_installation
Se va a pedir la contraseña root actual, como se acaba de instalar MySQL, no habrá ni una contraseña establecida actualmente. Se deja en blanco y se presiona Enter:
Enter current password for root (enter for none): OK, successfully used password, moving on...
Luego, se va a preguntar si se desea añadir una nueva contraseña, se presiona Y y se siguen las instrucciones
CentOS automatiza el proceso de instalar MySQL, haciendo una serie de preguntas de sí o no.
Al final MySQL se va a recargar e implementar los nuevos cambios.
By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment. Remove anonymous users? [Y/n] y ... Success! Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network. Disallow root login remotely? [Y/n] y ... Success! By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment. Remove test database and access to it? [Y/n] y - Dropping test database... ... Success! - Removing privileges on test database... ... Success! Reloading the privilege tables will ensure that all changes made so far will take effect immediately. Reload privilege tables now? [Y/n] y ... Success! Cleaning up... All done! If you've completed all of the above steps, your MySQL installation should now be secure. Thanks for using MySQL!
Es recomendable agregar al mysql entre los servicios de inicio automático del servidor, para ello ejecutamos:
chkconfig mysql on
Para Centos 7
MariaDB es un sistema de gestión de bases de datos derivado de MySQL con licencia GPL, para el centos 7 usaremos MariaDB.
Para instalar la base de datos MariaDB 5.5, hay que abrir la terminal e ingresar:
yum install mariadb-server mariadb
systemctl start mariadb.service #<-- Start mariadb server
systemctl enable mariadb.service
systemctl stop mariadb.service #<-- Stop mariadb server
systemctl restart mariadb.service #<-- Restart mariadb server
systemctl disable mariadb.service #<-- Disable mariadb server
systemctl is-active mariadb.service #<-- Is mariadb server running?
Resetear la Contraseña del usuario ROOT del MariaDB
Seguir los siguientes pasos [1]
Es recomendable agregar al mysql entre los servicios de inicio automático del servidor, para ello ejecutamos:
systemctl enable mysql.service
Crear Usuarios y Base de Datos
Ejemplo de cómo asignar los permisos:
CREATE DATABASE nombre_base_de_datos;
CREATE USER 'nombre_usuario'@'localhost' IDENTIFIED BY 'demopassword';
SELECT User, Host, Password FROM mysql.user;
GRANT ALL PRIVILEGES ON nombre_base_de_datos.* to nombre_usuario@localhost;
FLUSH PRIVILEGES;
SHOW GRANTS FOR 'nombre_usuario'@'localhost';
Desactivar SELinux
Muy importante es verificar el estado del SELinux, en vista que por defecto viene activo, y no dejará cargar correctamente el sitio. Para verificar el estado utilizar el siguiente comando:
/usr/sbin/getenforce
Enforcing
Para deshabilitar el SELinux, se debe acceder al /etc/selinux/config y cambiar la variable SELINUX a disabled
nano /etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
Instalación de PHP
Para instalar las librerias del PHP hay que abrir la terminal e ingresar:
sudo yum install php-mysql php-devel php-gd php-pecl-memcache php-pspell php-snmp php-xmlrpc php-xml
Una vez hecho esto, reiniciar Apache:
Para Centos 6.5
sudo /usr/sbin/apachectl restart
Para Centos 7
sudo systemctl restart httpd.service
Apache debería reconocer la nueva instalación de PHP de forma automática.
Instalar Concrete5
Una vez que ya se cuenten con los requisitos previos se puede proceder a la instalación de Concrete5:
Seguir los siguiente pasos:
1- Descargar el Template del siguiente repositorio (link).
Para ello debe tener instalado git y luego ejecutar el siguiente comando:
git clone https://github.com/SENATICS/template-concrete5
2- Movemos el contenido descargado a la carpeta publica del motor de php:
mv -R [ubicación de descarga]/template-concrete5/ /var/www/html/
3- Restauramos el backup de la Base de Datos
En la carpeta DB/ se encuentra el backup de la base de datos, para restaurar el backup hay que ejecutar la siguiente linea en la terminal:
mysql --user=NOMBRE_DE_USUARIO --password=CONTRASEÑA NOMBRE_BASE_DE_DATOS < copia_seguridad.sql
4- Editar el archivo /template-concrete5/application/config/database.php
cd /var/www/html/template-concrete5
nano application/config/database.php
Desplegara el siguiente contenido y reemplazamos los valores de server, database, username y password, por sus valores correctos:
<?php
return array(
'default-connection' => 'concrete',
'connections' => array(
'concrete' => array(
'driver' => 'c5_pdo_mysql',
'server' => 'host_server',
'database' => 'nombre_de_la_base_de_datos',
'username' => 'usuario_db',
'password' => 'contraseña_db' ,
'charset' => 'utf8',
'driverOptions' => array(1002=>'SET NAMES utf8')
)
)
);
?>
5- Reiniciar el motor de php
service httpd restart
6- Configuración de Accesos
Se debe asegurarse que los directorios application/files/, application/config/, packages/ y updates/ tengan permisos de escritura por parte del proceso del servidor web.
cd /var/www/html
chown -R apache:apache template-concrete5
cd template-concrete5
chmod -R 755 updates/ packages/ application/files/ application/config/