Cómo instalar Croogo CMS en Ubuntu 18.04 LTS

Croogoes un Sistema deGestión de Contenidos (CMS) gratuito y de código abierto escrito en PHP.Está impulsado porelframework CakePHPMVC.El código fuente de Croogo CMS está alojado en Github. En este tutorial te guiaremos a través del proceso de instalación de Croogo CMS en un servidor fresco de Ubuntu 18.04 LTS.

Requisitos

  • PHP 5.6 o superior
  • MySQL 5.7 o superior
  • Apache conmod_rewrite o Nginx

Requisitos previos

  • Un servidor con Ubuntu 18.04
  • Un usuario no root con privilegios sudo.

Pasos iniciales

Comprueba la versión de Ubuntu:

lsb_release -ds
# Ubuntu 18.04 LTS

Configura la zona horaria:

timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'

Actualiza los paquetes de tu sistema operativo:

sudo apt update && sudo apt upgrade -y

Instalar los paquetes vim, git y socat:

sudo apt install -y vim git socat

Paso 1 – Instalar PHP

Instala PHP y las extensiones PHP necesarias:

sudo apt install -y php7.2 php7.2-cli php7.2-fpm php7.2-common php7.2-xml php7.2-intl php7.2-mbstring php7.2-mysql php7.2-pgsql php7.2-sqlite3 php7.2-curl php7.2-xmlrpc php7.2-zip php7.2-gd

Comprueba la versión de PHP:

php --version
# PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul  4 2018 16:55:24) ( NTS )

Ejecuta

sudo vim /etc/php/7.2/fpm/php.ini

y configura las siguientes directivas:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Region/City

Después del cambio reinicia el servicio PHP-FPM:

sudo systemctl restart php7.2-fpm.service

Paso 2 – Instalar MySQL y crear una base de datos para Croogo

Croogo soporta bases de datos MySQL/MariaDB, PostgreSQL y SQLite3. En este tutorial, usaremos MySQL como servidor de base de datos.

Instala el servidor de base de datos MySQL:

sudo apt install -y mysql-server

Comprueba la versión de MySQL:

mysql --version
# mysql  Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using  EditLine wrapper

Ejecutamysql_secure installationscript para mejorar la seguridad de MySQL y establecer la contraseña para elrootusuario:

sudo mysql_secure_installation

Responde a cada una de las preguntas:

Would you like to setup VALIDATE PASSWORD plugin? N
New password: your_secure_password
Re-enter new password: your_secure_password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Conéctate al shell de MySQL como usuario root:

sudo mysql -u root -p
# Enter password

Crea una base de datos MySQL vacía con charsetutf8mb4 ycolaciónutf8m4_unicode_ci y usuario para Croogo y recuerda las credenciales:

mysql> CREATE DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
mysql> GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;

Sal de MySQL:

mysql> exit

Sustituye dbname, nombre de usuario y contraseña por tus propios nombres.

Paso 3 – Instalar el cliente Acme.sh y obtener el certificado Let’s Encrypt (opcional)

Asegurar tu sitio web con HTTPS no es necesario, pero es una buena práctica para asegurar el tráfico de tu sitio. Para obtener el certificado SSL de Let’s Encrypt utilizaremos el cliente Acme.sh. Acme.sh es un software de shell unix puro para obtener certificados SSL de Let’s Encrypt con cero dependencias.

Descarga e instala Acme.sh:

sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh 
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail [email protected]
cd ~

Comprueba la versión de Acme.sh:

/etc/letsencrypt/acme.sh --version
# v2.8.0

Obtén certificadosRSAyECC/ECDSApara tu dominio/nombre de host:

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --ocsp-must-staple --keylength ec-256

Después de ejecutar los comandos anteriores, tuscertificadosyclavesestarán en:

  • ParaRSA: directorio/etc/letsencrypt/example.com.
  • ParaECC/ECDSA: directorio/etc/letsencrypt/example.com_ecc.

Paso 4 – Instalar y configurar Nginx

Croogo puede funcionar bien con muchos servidores web. En este tutorial, hemos seleccionado Nginx.

Instala Nginx:

sudo apt install -y nginx

Comprueba la versión de Nginx:

sudo nginx -v
# nginx version: nginx/1.14.0 (Ubuntu)

Configura Nginx para Croogo ejecutando:

sudo vim /etc/nginx/sites-available/croogo.conf

Y rellena el archivo con la siguiente configuración:

server {

  listen 80;
  listen [::]:80;
  listen 443 ssl;
  listen [::]:443 ssl;

  server_name example.com;

  root /var/www/croogo/webroot;

  index index.php;

  ssl_certificate /etc/letsencrypt/example.com/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com/example.com.key;
  ssl_certificate /etc/letsencrypt/example.com_ecc/fullchain.cer;
  ssl_certificate_key /etc/letsencrypt/example.com_ecc/example.com.key;

  location / {
    try_files $uri /index.php$is_args$args;
  }

  location ~ \.php$ {
    try_files $uri =404;
    include fastcgi_params;
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_index index.php;
    fastcgi_keep_conn on;
  }

}

Activa la nueva configuración de croogo.confenlazando el archivo en el directoriosites-enableddirectorio:

sudo ln -s /etc/nginx/sites-available/croogo.conf /etc/nginx/sites-enabled/

Prueba la configuración de NGINX:

sudo nginx -t

Recarga Nginx:

sudo systemctl reload nginx.service

Paso 5 – Instalar Composer

Instala Composer, el gestor de dependencias de PHP de forma global:

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

php composer-setup.php

php -r "unlink('composer-setup.php');"

sudo mv composer.phar /usr/local/bin/composer

Comprueba la versión de Composer:

composer --version
# Composer version 1.7.2 2018-08-16 16:57:12

Paso 6 – Instalar Croogo

Crea un directorio raíz del documento donde debe residir Croogo:

sudo mkdir -p /var/www/croogo

Navega hasta el directorio raíz del documento:

cd /var/www/croogo

Cambia la propiedad del directorio/var/www/croogodirectorio ajohndoe.

sudo chown -R johndoe:johndoe /var/www/croogo

Instala el paqueteunzip:

sudo apt install -y unzip

Descarga la última versión de Croogo CMS utilizando Composer:

composer create-project croogo/app .
composer install

Edita la configuración de la base de datos enconfig/app.phparchivo ejecutando:

vim config/app.php

Edita los siguientes ajustes según los nombres que hayas elegido:

'username' => 'your_db_username',
'password' => 'your_db_password',
'database' => 'your_db_name',
'encoding' => 'utf8mb4'

Cambia los ajustes anteriores en ambos,defaultytestsecciones.

Cambia la propiedad del/var/www/croogodirectorio awww-data:

sudo chown -R www-data:www-data /var/www/croogo

Abre tu sitio en un navegador web y sigue las instrucciones de la pantalla para terminar la instalación de Croogo.

Paso 7 – Completar la instalación de Croogo

Abre tu sitio en un navegador web. Si se cumplen todos los requisitos, inicia la instalación pulsando el botón «Iniciar instalación»:

Inicia la instalación

Introduce la configuración de tu base de datos:

Configuración de la base de datos

Crea una cuenta de usuario de administrador:

Crear una cuenta de administrador

Completa la instalación:

Instalación de Croogo con éxito

Para acceder a Croogo admin añade/admina la dirección URL/IP de tu sitio.

También te podría gustar...