Cómo instalar Croogo CMS en Ubuntu 18.04 LTS
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»:
Ingrese la configuración de su base de datos:
Crear cuenta de usuario administrador:
Completa la configuración:
Para acceder al administrador de Croogo, agregue /admin a la URL/dirección IP de su sitio.