Cómo instalar Croogo CMS en Ubuntu 18.04 LTS

Iniciar la instalación

Croogo es un sistema de gestión de contenido (CMS) gratuito y de código abierto escrito en PHP. Está alimentado por el marco CakePHP MVC. El código fuente de Croogo CMS está alojado en Github. En este tutorial, lo guiaremos a través del proceso de instalación de Croogo CMS en un nuevo servidor Ubuntu 18.04 LTS.

Requisitos

  • PHP 5.6 o superior
  • MySQL 5.7 o superior
  • Apache con mod_rewrite o Nginx
  • Un servidor con Ubuntu 18.04
  • Un usuario no root con privilegios sudo.

Pasos iniciales

Compruebe la versión de Ubuntu:

lsb_release -ds
# Ubuntu 18.04 LTS

Configurar la zona horaria:

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

Actualice los paquetes de su sistema operativo:

sudo apt update && sudo apt upgrade -y

Instale los paquetes vim, git y socat:

sudo apt install -y vim git socat

Paso 1 – Instalar PHP

Instale PHP y las extensiones de PHP requeridas:

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

Compruebe la versión de PHP:

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

Correr

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

y configurar las siguientes directivas:

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

Después del cambio, reinicie el servicio PHP-FPM:

sudo systemctl restart php7.2-fpm.service

Paso 2: instala MySQL y crea una base de datos para Croogo

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

Instale el servidor de base de datos MySQL:

sudo apt install -y mysql-server

Compruebe la versión de MySQL:

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

Ejecute el script de instalación mysql_secure para mejorar la seguridad de MySQL y establezca la contraseña para el usuario root de MySQL:

sudo mysql_secure_installation

Contesta 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éctese al shell de MySQL como usuario root:

sudo mysql -u root -p
# Enter password

Cree una base de datos MySQL vacía con juego de caracteres utf8mb4 y colación utf8m4_unicode_ci y usuario para Croogo y recuerde 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;

Salir de MySQL:

mysql> exit

Reemplace dbname, nombre de usuario y contraseña con sus propios nombres.

Paso 3: instale el cliente Acme.sh y obtenga el certificado Let’s Encrypt (opcional)

No es necesario proteger su sitio web con HTTPS, pero es una buena práctica para asegurar el tráfico de su sitio. Para obtener el certificado SSL de Let’s Encrypt, utilizaremos el cliente Acme.sh. Acme.sh es un software de shell de Unix puro para obtener certificados SSL de Let’s Encrypt sin dependencias.

Descargue e instale 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 ~

Compruebe la versión de Acme.sh:

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

Obtener RSA y ECC/ECDSA certificados para su 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, sus certificados y claves estarán en:

  • Para RSA: directorio /etc/letsencrypt/example.com.
  • Para ECC/ECDSA: directorio /etc/letsencrypt/example.com_ecc.

Paso 4: instalar y configurar Nginx

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

Instalar Nginx:

sudo apt install -y nginx

Compruebe la versión de Nginx:

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

Configure Nginx para Croogo ejecutando:

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

Y complete 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;
}

}


Active la nueva configuración de croogo.conf vinculando el archivo al directorio habilitado para sitios:

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

Pruebe la configuración de NGINX:

sudo nginx -t

Recargar Nginx:

sudo systemctl reload nginx.service

Paso 5 – Instalar Composer

Instale Composer, el administrador de dependencias de PHP a nivel mundial:

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


Compruebe la versión del compositor:

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

Paso 6 – Instalar Croogo

Cree un directorio raíz de documentos donde debería residir Croogo:

sudo mkdir -p /var/www/croogo

Navegue al directorio raíz del documento:

cd /var/www/croogo

Cambie la propiedad del directorio /var/www/croogo a johndoe.

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

Instalar el paquete de descompresión:

sudo apt install -y unzip

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

composer create-project croogo/app .
composer install

Edite la configuración de la base de datos en el archivo config/app.php ejecutando:

vim config/app.php

Edite las siguientes configuraciones de acuerdo con los nombres elegidos:

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

Cambie la configuración anterior en las secciones predeterminada y de prueba.

Cambie la propiedad del directorio /var/www/croogo a www-data:

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

Abra su sitio en un navegador web y siga las instrucciones en pantalla para finalizar la instalación de Croogo.

Paso 7: completa la configuración de Croogo

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

Iniciar la instalación

Ingrese la configuración de su base de datos:

Configuración de la base de datos

Crear cuenta de usuario administrador:

Crear cuenta de administrador

Completa la configuración:

Instalación de Croogo exitosa

Para acceder al administrador de Croogo, agregue /admin a la URL/dirección IP de su sitio.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *