Cómo instalar October CMS con Nginx en Fedora 29

October CMS esuna plataforma CMS gratuita, de código abierto y autoalojada, basada en elframework PHP Laravel. Elcódigo fuente de October CMS está alojado en Github. Miles de estudios digitales y autónomos de todo el mundo adoran October por su simplicidad, flexibilidad y diseño moderno.En este tutorial, recorreremos la instalación de October CMS en el sistema Fedora 29 utilizando Nginx como servidor web, MariaDB como servidor de base de datos y, opcionalmente, puedes asegurar la capa de transporte utilizando el cliente acme.sh y la autoridad de certificados Let’s Encrypt para añadir soporte SSL.

Requisitos

Antes de proceder, debes comprobar que tu servidor cumple los requisitos mínimos del sistema. October CMS tiene los siguientes requisitos de servidor para el alojamiento web:

  • PHP versión 7.0 o superior
  • Extensión PHP PDO
  • Extensión PHP cURL
  • Extensión PHP OpenSSL
  • Biblioteca PHP Mbstring
  • Biblioteca PHP Zip
  • Biblioteca PHP GD
  • Extensión PHP XML
  • Extensión PHP JSON
  • Apache conmod_rewrite o Nginx

Requisitos previos

  • Un sistema que ejecute Fedora 29.
  • Un usuario no root con privilegios sudo.

Pasos iniciales

Comprueba la versión de tu sistema Fedora:

cat /etc/fedora-release
# Fedora release 29 (Twenty Nine)

Configura la zona horaria:

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

Actualiza los paquetes de tu sistema operativo (software). Este es un primer paso importante porque garantiza que tienes las últimas actualizaciones y correcciones de seguridad de los paquetes de software por defecto de tu sistema operativo:

sudo dnf upgrade -y

Instala algunos paquetes esenciales que son necesarios para la administración básica del sistema operativo Fedora:

sudo dnf install -y vim wget curl git socat unzip bash-completion

Paso 1 – Instalar PHP

La plataforma CMS de octubre requiere la versión 7.0 de PHP o superior.

Instala PHP, así como las extensiones PHP necesarias:

sudo dnf install -y php-cli php-fpm php-pdo php-common php-mysqlnd php-curl php-json php-zip php-gd php-xml php-mbstring 

Comprueba la versión de PHP:

php --version

# PHP 7.2.15 (cli) (built: Feb  5 2019 15:43:35) ( NTS )
# Copyright (c) 1997-2018 The PHP Group
# Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies # with Zend OPcache v7.2.9, Copyright (c) 1999-2018, by Zend Technologies

Inicia y activa el servicio PHP-FPM:

sudo systemctl start php-fpm.service
sudo systemctl enable php-fpm.service

Podemos pasar al siguiente paso, que es la instalación y configuración de la base de datos.

Paso 2 – Instalar MariaDB y crear una base de datos para October

Instala el servidor de base de datos MariaDB:

sudo dnf install -y mariadb-server

Comprueba la versión de MariaDB:

mysql --version
# mysql  Ver 15.1 Distrib 10.3.12-MariaDB, for Linux (x86_64) using readline 5.1

Inicia y habilita el servicio MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Ejecutael scriptmysql_secure installationpara mejorar la seguridad de MariaDB y establece la contraseña del usuario de MariaDBroot:

mysql_secure_installation

Accede a MariaDB como usuario root:

mysql -u root -p
# Enter password

Crea una base de datos MariaDB y un usuario que utilizarás para tu instalación de October, y recuerda las credenciales:

CREATE DATABASE dbname;
GRANT ALL ON dbname.* TO 'username' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Sal del shell de MariaDB:

quit

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 un 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 certificadosRSA yECC/ECDSApara tu dominio/nombre de host:

# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --keylength 2048
# ECDSA
sudo /etc/letsencrypt/acme.sh --issue --standalone --home /etc/letsencrypt -d example.com --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 configurarNGINX

Instala el servidor webNGINX:

sudo dnf install -y nginx

Comprueba la versión de NGINX:

nginx -v
# nginx version: nginx/1.14.1

Inicia y activa el servicioNGINX:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

Ejecutasudo vim /etc/nginx/conf.d/october.confy rellena el archivo con la siguiente configuración:

server {
listen [::]:443 ssl http2;
listen 443 ssl http2; listen [::]:80; listen 80; server_name example.com; index index.php index.html; root /var/www/october;
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$ { include default.d/php.conf; include fastcgi_params; fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_read_timeout 120s; } rewrite ^themes/.*/(layouts|pages|partials)/.*.htm /index.php break; rewrite ^bootstrap/.* /index.php break; rewrite ^config/.* /index.php break; rewrite ^vendor/.* /index.php break; rewrite ^storage/cms/.* /index.php break; rewrite ^storage/logs/.* /index.php break; rewrite ^storage/framework/.* /index.php break; rewrite ^storage/temp/protected/.* /index.php break; rewrite ^storage/app/uploads/protected/.* /index.php break; }

Prueba la configuración de NGINX:

sudo nginx -t

Recarga NGINX:

sudo systemctl reload nginx.service

Paso 5 - Descargar e instalar la plataforma CMS de octubre

Crea un directorio raíz de documentos:

sudo mkdir -p /var/www/october

Cambia la propiedad deldirectorio/var/www/october ajohndoe:

sudo chown -R [your_user]:[your_user] /var/www/october

Navega hasta la raíz del documento:

cd /var/www/october

Descarga el instalador de October CMS:

wget http://octobercms.com/download -O october.zip

Descomprime el instalador de October CMS:

unzip october.zip
rm october.zip
mv install-master/* .

Cambia la propiedad deldirectorio/var/www/october anginx:

sudo chown -R nginx:nginx /var/www/october

Ejecutasudo vim /etc/php-fpm.d/www.confy establece el usuario y el grupo comonginx. Inicialmente, estarán configurados comoapache:

sudo vim /etc/php-fpm.d/www.conf
# user = nginx
# group = nginx

Reinicia el servicio PHP-FPM:

sudo systemctl restart php-fpm.service

Navega hasta el scriptinstall.phpen tu navegador web, comoexample.com/install.phpy sigue las instrucciones de instalación.

Paso 6 - Completa la configuración de octubre

Asegúrate de que la comprobación del sistema es correcta y procede pulsando el botón"Aceptar y continuar".

Configuración del CMS de octubre

Configura tu base de datos y los ajustes del usuario administrador.

Configuración de la base de datos

Configuración del usuario administrador

También puedes configurar algunas opciones avanzadas o puedes dejar los valores por defecto.

Ajustes avanzados

Y finalmente cuando todo esté configurado pulsa el botón azul"Continuar".

A continuación, se te preguntará"¿Cómo quieres configurar tu sitio?". Tendrás 3 opciones:Empezar desde cero,Empezar desde un tema,Usar un ID de proyecto. Selecciona la opción que prefieras.

Cómo empezar con el CMS de octubre

Para acceder al área de administración de la plataforma October CMS, sólo tienes que añadir/backenda tu URL/IP.

Después de la instalación, por razones de seguridad, debes eliminar los archivos de instalación, el scriptinstall.phpy eldirectorioinstall_files:

sudo rm /var/www/october/install.php && sudo rm -rf /var/www/october/install_files

Enlaces

También te podría gustar...