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
Requisitos
- Un servidor que ejecuta 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
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
Comprobar la versión de PHP:
php --version
# PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul 4 2018 16:55:24) ( NTS )
Ejecutar
sudo vim /etc/php/7.2/fpm/php.ini
y configure 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:instale MySQL y cree una base de datos para Croogo
Croogo admite bases de datos MySQL/MariaDB, PostgreSQL y SQLite3. En este tutorial, usaremos MySQL como servidor de base de datos.
Instale el servidor de base de datos MySQL:
sudo apt install -y mysql-server
Comprobar versión de MySQL:
mysql --version
# mysql Ver 14.14 Distrib 5.7.23, for Linux (x86_64) using EditLine wrapper
Ejecute mysql_secure installation
secuencia de comandos para mejorar la seguridad de MySQL y establecer la contraseña para MySQL root
usuario:
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.
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 ~
Comprobar la versión 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 teclas estará en:
- Para RSA :
/etc/letsencrypt/example.com
directorio. - Para ECC/ECDSA :
/etc/letsencrypt/example.com_ecc
directorio.
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
Comprobar 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 el nuevo croogo.conf
configuración vinculando el archivo a sites-enabled
directorio:
sudo ln -s /etc/nginx/sites-available/croogo.conf /etc/nginx/sites-enabled/
Probar 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
Comprobar 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 Croogo debería residir:
sudo mkdir -p /var/www/croogo
Navegue al directorio raíz del documento:
cd /var/www/croogo
Cambiar la propiedad de /var/www/croogo
directorio a johndoe
.
sudo chown -R johndoe:johndoe /var/www/croogo
Instalar descomprimir paquete:
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 config/app.php
archivo 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 ambos, default
y test
secciones.
Cambiar la propiedad de /var/www/croogo
directorio 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:complete 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:
Complete la configuración:
Para acceder al administrador de Croogo, agregue /admin
a la URL/dirección IP de su sitio.
Enlaces
- https://croogo.org/