Cómo instalar BoltWire CMS con Nginx en Ubuntu 20.04 LTS

Comprobar la versión de Ubuntu

Bolt es un sistema de gesti√≥n de contenido (CMS) ligero construido sobre el popular marco PHP. Bolt es perfecto para una peque√Īa empresa que quiere mantener su propio sitio web sin preocuparse por tener que aprender HTML y otros lenguajes de programaci√≥n. Bolt cuenta con funciones avanzadas, como marcas wiki s√≥lidas, comercio electr√≥nico, una galer√≠a de fotos y un generador de √°lbumes, una galer√≠a y un reproductor de audio, y libros de visitas.

Boltwire se destaca por ser completamente gratuito para individuos y grupos de todos los tama√Īos que necesitan un CMS. Joe Casabona es el creador de Boltwire y comparte su pasi√≥n ayudando a otros a aprovechar al m√°ximo su proyecto de c√≥digo abierto. Bolt se utiliza en m√°s de 200 pa√≠ses para administrar m√°s de 500 000 sitios web. Sus desarrolladores son voluntarios y esperan que todos los usuarios participen en el proyecto ofreciendo retroalimentaci√≥n y contribuyendo a su desarrollo.

Bolt tiene algunas caracter√≠sticas √ļnicas:

  • Generaci√≥n din√°mica de p√°ginas: una p√°gina se puede ensamblar en funci√≥n de los datos encontrados al obtenerlos de la base de datos. Por ejemplo, cuando un usuario publica una nueva entrada en un diario en l√≠nea, se pueden agregar din√°micamente otras entradas de su blog sin tener que actualizar toda la p√°gina web. Esto permite tiempos de carga m√°s r√°pidos, especialmente con grandes cantidades de p√°ginas o elementos multimedia por categor√≠a (p. ej., todas las fotos en una galer√≠a de fotos).
  • Gesti√≥n y administraci√≥n de contenido: M√ļltiples usuarios pueden gestionar el contenido, para garantizar que cada usuario solo pueda cambiar ciertas partes de las p√°ginas. Tambi√©n se les puede restringir lo que pueden ver o editar. Por ejemplo, a la mayor√≠a de las personas no se les permite publicar nuevos art√≠culos o agregar comentarios libremente; esto est√° reservado para los administradores del sitio. Los lectores a√ļn pueden ver cualquier art√≠culo sin iniciar sesi√≥n primero, a menos que el administrador especifique lo contrario.
  • Facilidad de uso: Bolt reduce en gran medida la cantidad de esfuerzo necesario para crear p√°ginas web en comparaci√≥n con otros CMS como Joomla y Drupal. Los asistentes integrados en Bolt automatizan gran parte de su proceso de configuraci√≥n para que no tenga que preocuparse por c√≥mo funcionan las cosas debajo del cap√≥.
  • F√°cil extensibilidad: debido a que Bolt es de c√≥digo abierto, es f√°cil crear nuevos m√≥dulos que ampl√≠en o agreguen funciones a Bolt. Las nuevas funciones a menudo se integran en el software central, lo que las hace a√ļn m√°s f√°ciles de usar. Con alrededor de 40 extensiones disponibles en Modboom actualmente, puede extender f√°cilmente cualquier parte de Bolt que desee sin tener que aventurarse demasiado en la programaci√≥n de PHP.
  • BoltWire viene en varios idiomas: ingl√©s (predeterminado), alem√°n, italiano, japon√©s, polaco, portugu√©s y espa√Īol. Adem√°s de los paquetes est√°ndar de BoltWire para los idiomas anteriores, tambi√©n est√° disponible una localizaci√≥n completa en franc√©s (100 %) y holand√©s (m√°s del 50 %).

La desventaja es que hay poco soporte disponible aparte de los foros de ayuda si tiene alguna pregunta sobre cómo funcionan las cosas en su idioma local. En este sentido, es su propia responsabilidad hacer que las cosas funcionen como le gustaría. Sin embargo, si se siente cómodo usando un editor de texto y tiene tiempo para trabajar en Bolt usted mismo, entonces no hay nada que le impida crear un sitio web simple pero de aspecto profesional en minutos.

En esta guía, aprenderemos cómo instalar BoltWire en el servidor Ubuntu 20.04.

requisitos previos

  • Un servidor nuevo con Ubuntu 20.04.
  • Acceso root SSH completo o usuario con privilegios sudo.
  • Un nombre de dominio est√° registrado y apunta a su servidor.

Empezando

En primer lugar, inicie sesión en su Ubuntu con SSH.

ssh [email¬†protected]_Direcci√≥n -p N√ļmero_de_puerto

root es el usuario predeterminado en Ubuntu, reemplace ‘root’ con el nombre de su propio usuario, si usa otro.

IP_Address es la dirección de su servidor. Puedes verificar esto usando

nombre de host -I en la línea de comando. Port_number debe ser 22 para SSH.

hostname -I

el ‘-p’ le dice a ssh que use el puerto especificado. Si no especifica un n√ļmero de puerto, se utiliza 22.

Si está detrás de un firewall, es posible que el puerto 22 esté bloqueado. En ese caso, cambie Port_number a algo más como 2222.

Actualización de su sistema

Puede verificar si su sistema tiene instalada la versión adecuada de Ubuntu con el siguiente comando:

sudo lsb_release -a

Salida de muestra:

Comprobar la versión de Ubuntu

Siempre es recomendable actualizar el sistema antes de instalar paquetes.

sudo apt-get update && apt-get upgrade -y

-y es un comando que responder√° autom√°ticamente ‘S√≠’ a todas las preguntas durante el proceso de actualizaci√≥n. apt-get update actualiza las listas de paquetes y apt-get upgrade actualiza su sistema.

Salida de muestra:

Actualizar paquetes

La actualizaci√≥n puede tardar alg√ļn tiempo dependiendo de cu√°ntos paquetes deban descargarse e instalarse. Una vez que se haya completado la actualizaci√≥n, se le pedir√° que reinicie su servidor. Ejecutando el siguiente comando para reiniciar su sistema despu√©s de las actualizaciones:

sudo reboot

Instalación de paquetes necesarios

La instalación de Bolt requiere la instalación de una serie de paquetes en su sistema. Algunos de los paquetes se instalan en un orden específico. En este caso, instalaremos todo el paquete requerido para la instalación de Bolt con el siguiente comando:

sudo apt install -y curl wget vim git unzip socat bash-completion apt-transport-https

socat es para proxy, lo que hace que Bolt parezca estar ejecut√°ndose en el servidor web.

apt-transport-https permite operaciones de línea de comandos como sudo apt update para trabajar con conexiones https. bash-completion es un programa que permite que bash complete automáticamente los comandos después de escribir los primeros caracteres.

curl se usa para descargar paquetes y wget se usa para descargar archivos como la √ļltima versi√≥n de Bolt desde su sitio web.

Salida de muestra:

Instalar requisitos previos

Instalación de Nginx

Nginx se usa como un proxy inverso para administrar sus sitios web en Bolt. Nginx es liviano, f√°cil de configurar y r√°pido. Ejecutando el siguiente comando para instalar Nginx

sudo apt-get install nginx

Escriba ‘y’ si se le solicita, el proceso de instalaci√≥n comenzar√° autom√°ticamente.

Salida de muestra:

Instalar Nginx

Una vez completada la instalación, inicie el servicio nginx y permita que se ejecute al iniciar el sistema

sudo systemctl start nginx
sudo systemctl enable nginx

Para verificar y verificar si Nginx se est√° ejecutando actualmente o no, use este comando en la terminal.

sudo systemctl status nginx

Salida de muestra:

Nginx se est√° ejecutando

Configuración de Nginx

BoltWire CMS está instalado en el directorio /var/www/. Para acceder y probar BoltWire CMS, tenemos que configurar el bloque del servidor Nginx para enrutar las solicitudes a la ruta de la carpeta webroot /var/www/automáticamente para todas las solicitudes de contenido estático, así como las solicitudes de archivos de módulos y complementos.

Ejecute los siguientes comandos para crear un nuevo archivo de configuración llamado bolt.conf

sudo nano /etc/nginx/sites-available/bolt.conf

Complete el archivo de configuración con el siguiente contenido:

server {
listen 80; 
 listen [::]:80; 
 root /var/www/bolt; 
 index index.php index.html index.htm; 
 server_name bolt.example.com;

location / {
try_files      $uri $uri/ /index.php?$query_string;
}

location ~ [^/]\.php(/|$) {
try_files      /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index      index.php;
fastcgi_pass       unix:/var/run/php/php7.2-fpm.sock;
include         fastcgi_params;
fastcgi_param  PATH_INFO    $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

location = /bolt {
try_files        $uri /index.php?$query_string;
}

location ^~ /bolt/ {
try_files         $uri /index.php?$query_string;
}

}


El bloque del servidor Nginx que acabamos de crear usa la ra√≠z del documento predeterminada que est√° configurada en el directorio /var/www/. Si est√° ejecutando BoltWire CMS en un entorno de servidor diferente, edite el archivo conf y reemplace la ruta de la ra√≠z del documento seg√ļn corresponda.

La directiva server_name configura la URL que escuchará su servidor web Nginx. Reemplace bolt.example.com con el nombre de dominio o la dirección IP de su servidor real.

try_files $uri $uri/ /index.php?$query_string; Esta directiva le permite manejar las solicitudes de ruta de archivo directamente si las encuentra. Por ejemplo, si un usuario intenta acceder a la p√°gina de inicio de BoltWire CMS desde el navegador, /index.php se usar√° como archivo de √≠ndice si existe; de ‚Äč‚Äčlo contrario, recurrir√° a la respuesta PHP-FPM de retorno 404 No encontrado.

Después de realizar cambios y guardarlos en el archivo bolt.conf, vuelva a cargar Nginx y reinícielo para que la nueva configuración surta efecto.

sudo systemctl reload nginx
sudo systemctl restart nginx

Verifique la configuración de nginx ejecutando los siguientes comandos:

sudo nginx -t

Salida de muestra:

Compruebe la configuración de Nginx

Instalando MySQL

BoltWire CMS requiere como mínimo la versión 4.2 del servidor MySQL, pero BoltWire CMS no funciona con 5.x+.

Así que tiene varias opciones: Use un servidor de base de datos remoto como Microsoft SQL Server Implemente MySQL en todas las máquinas del servidor web (no recomendado) Actualice su versión de MySQL. Las primeras opciones son bastante sencillas, pero el tipo de actualización es complejo.

Para aquellos que usan una pila LAMP (Linux, Apache, MySQL y PHP), no tienen que instalar MySQL por separado porque Ubuntu ya incluye el servidor MySQL en su repositorio.

Ejecutando el siguiente comando para instalar MySQL:

sudo apt -y install mysql-server

Salida de muestra:

Instalar MySQL

Una vez completada la instalación, ejecute el siguiente comando para iniciar el demonio MySQL (servidor MySQL) para esta sesión y permitir que se ejecute al iniciar el sistema:

sudo systemctl start mysql
sudo systemctl enable mysql

Crear una base de datos

Usaremos la línea de comando para crear una base de datos llamada bolt.

Conéctese a mysql para crear una base de datos ejecutando el siguiente comando:

sudo mysql -u root -p

Ingrese la contrase√Īa de root para mysql. Ahora ha iniciado sesi√≥n en la consola mysql. Para crear una base de datos y un usuario de base de datos, ejecute el siguiente comando:

CREATE DATABASE bolt;
CREATE USER 'bolt'@'localhost' IDENTIFIED BY 'mypassword';
GRANT ALL ON bolt.* TO 'bolt'@'localhost';
FLUSH PRIVILEGES;
exit

CREAR USUARIO ‘bolt’@’localhost’ IDENTIFICADO POR ‘mypassword’ crear√° un usuario ‘bolt’ cuya contrase√Īa es ‘mypassword’. ¬°Use una contrase√Īa segura en lugar de la palabra ‘mypassword’ aqu√≠! Los privilegios de descarga volver√°n a cargar la tabla de privilegios de concesi√≥n creada anteriormente.

Instalando PHP

BoltWire CMS requiere PHP versión 7 o superior y sus encabezados de desarrollo. Agregaremos ppa:ondrej/php PPA con la versión de PHP requerida (7.2), puede cambiar esto a su versión de PHP necesaria por su cuenta. Ejecutaremos los siguientes comandos para agregar el ppa y actualizar apt-get

sudo apt -y install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

Ejecutando el siguiente comando para instalar PHP 7.2:

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

php7.2-cli es la interfaz de l√≠nea de comandos para PHP7.2 y con php7.2-common instalar√° las extensiones php7.2, el m√≥dulo del servidor web (PHP) y las extensiones CLI est√°ndar. Con php7.2 -fpm instalar√° FastCGI Process Manager, una forma com√ļn de ejecutar aplicaciones PHP desde su servidor web. php7.2-mbstring instalar√° funciones de cadena multibyte que se requieren para BoltWire CMS. php7.2-opcache instalar√° el cach√© de c√≥digo de operaci√≥n para PHP7.2, lo que proporciona un mejor rendimiento y reduce la carga en su servidor web al almacenar en cach√© los scripts compilados. php7.2-xml instalar√° extensiones de procesamiento XML para PHP7.2, necesarias para usar BoltWire CMS.

Salida de muestra:

Instalando PHP

Después de instalar PHP 7.2, ejecute los siguientes comandos para verificar su versión de PHP7.2:

php -v

Salida de muestra:

Comprobar la versión de PHP

A continuación, abra el archivo de configuración predeterminado de PHP para Nginx usando el editor de texto nano:

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

Ahora vamos a hacer los cambios en las siguientes líneas:

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = America/St. Louis
  • file_uploads = On habilita la funci√≥n de carga de archivos a BoltWire CMS.
  • allow_url_fopen = On permite direcciones URL directas o redirecci√≥n HTTP en solicitudes con archivos cargados desde el servidor web remoto.
  • memory_limit = 256M es el l√≠mite de memoria PHP 7.2 en MB para establecer para los procesos de trabajo de Nginx, ejecutar un script PHP con un alto consumo de memoria puede causar un error de tiempo de ejecuci√≥n de php.
  • upload_max_filesize = 100M es el tama√Īo m√°ximo para un solo archivo cargado en el sitio de BoltWire CMS, si desea habilitar la carga de archivos de tama√Īo ilimitado, cambie este valor a 0.
  • max_execution_time = 360 es el tiempo m√°ximo de ejecuci√≥n en segundos para que se ejecute el script PHP, si un script excede este valor, se cancelar√°.
  • date.timezone = Am√©rica/St. Louis, la zona horaria de su ubicaci√≥n para mostrar los valores de fecha y hora del cliente correctamente en el sistema BoltWire CMS.

Reinicie php7.2-fpm para aplicar los cambios anteriores:

sudo service php7.2-fpm restart

Esto debería ser suficiente para PHP7.2 requerido y paquetes relacionados, pasemos al siguiente paso.

Instalación del compositor

BoltWire CMS requiere que Composer agregue sus bibliotecas externas requeridas al sitio web, por lo que primero debemos instalarlo antes de continuar con este tutorial. Composer es un administrador de paquetes para PHP que administra las dependencias de los proyectos PHP. Es similar a npm o ruby ‚Äč‚Äčgems de NodeJS.

Primero, nos movemos al directorio de inicio y descargamos el instalador:

sudo curl -sS https://getcomposer.org/installer -o composer-setup.php

El siguiente comando instalar√° Composer:

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Lo anterior descargar√° e instalar√° Composer como un binario para todo el sistema en el directorio /usr/local/bin.

Puede optar por configurar Composer solo para su usuario reemplazando la parte /usr/local/bin del comando con ~/user_

Una vez finalizada la instalación, puede ejecutar el siguiente comando para comprobar si la instalación se ha realizado correctamente.

composer

Salida de muestra:

Compositor de PHP

Instalación de perno

Ahora que se han instalado todos los paquetes necesarios, ahora podemos continuar con la instalación de Bolt.

Primero, nos movemos al directorio /var/www/ y descargamos la √ļltima versi√≥n de Bolt CMS desde GitHub con el siguiente comando:

cd /var/www/
sudo git clone https://github.com/bolt/bolt.git

Salida de muestra:

Descargar Bolt desde Github

Una vez descargado, deber√≠a ver un directorio llamado bolt con un solo archivo llamado ¬ęcomposer.json¬Ľ, que es el archivo de configuraci√≥n del compositor para Bolt CMS.

Ahora nos movemos al directorio de Bolt e instalamos Bolt desde allí:

cd bolt
sudo composer install

Este comando instalar√° todos los archivos fuente y dependencias de Bolt necesarios en /var/www/bolt usando el administrador de paquetes Composer.

Salida de muestra:

Instalar Bolt usando el compositor

El siguiente paso es ejecutar el siguiente comando para configurar el directorio de trabajo de Bolt:

sudo chown -R www-data:www-data /var/www/bolt
sudo chmod -R 755 /var/www/bolt

El comando anterior cambiar√° la propiedad de los archivos de Bolt a www-data del usuario de Nginx, para que pueda leer y escribir el archivo cuando se acceda a la URL de Bolt.

El siguiente paso es configurar el archivo de configuración de pernos:

sudo cp app/config/config.yml.dist app/config/config.yml

Acceso a BoltWire CMS

Ahora deberíamos poder acceder a BoltWire CMS usando la siguiente URL desde un navegador en una computadora Linux o Windows:

http://localhost:8000/bolt o http://bolt.example.com/bolt

Debería obtener una página de inicio predeterminada de BoltWire CMS como la siguiente:

Perno CMS

Complete toda la información requerida en este formulario, puede acceder a su tablero de BoltWire como el siguiente:

Tablero de Bolt CMS

Ahora hemos configurado con éxito un servidor Linux para Bolt Wire CMS.

Si tiene problemas cuando intenta acceder a su BoltWire CMS recién instalado. Aquí hay una lista de los errores comunes y sus posibles soluciones:

  • ¬ęAcceso denegado – error¬ę. Esto significa que BoltWire CMS se est√° ejecutando pero no puede acceder a sus p√°ginas desde el navegador, intente verificar su directorio de configuraci√≥n de Nginx.
  • ¬ęNo se puede cargar la biblioteca din√°mica ‘/var/www/BoltWire/vendor/php72-zip/libphp7. 2.as√≠¬Ľ o ¬ęError al ejecutar el script¬Ľ. Esto significa que el directorio BoltWire CMS no tiene los permisos necesarios para ejecutar y ejecutar el archivo PHP.
  • ¬ęError al inicializar… No existe tal archivo o directorio¬ę. Esto significa que BoltWire CMS no est√° instalado correctamente. Debe verificar si ha seguido el procedimiento correcto para la instalaci√≥n de BoltWire CMS.
  • ¬ęPermiso denegado¬ę. Esto significa que no tiene acceso adecuado al directorio /var/www/bolt o /var/www.
  • ¬ęError fatal: Clase ‘PDO’ no encontrada en…¬ę. Esto significa que PHP no puede conectarse a la base de datos y es posible que deba verificar su configuraci√≥n de PHP.
  • ¬ęBuscando … ¬Ľ o ¬ęAdvertencia: Argumento no v√°lido proporcionado para foreach()…¬Ľ. Esto significa que BoltWire CMS no puede encontrar lo que le dio. Por lo general, esto se debe a la ignorancia del nombre del blog y el slug o la ruta en su configuraci√≥n. .
  • ¬ęNo se puede crear el directorio… √ćndice indefinido: datos vistos¬ę. Esto significa que BoltWire CMS no puede crear su directorio en su servidor Nginx y es posible que deba verificar la configuraci√≥n de PHP.
  • ¬ęError de an√°lisis: error de sintaxis, ‘=’ inesperado en… en…¬ę. Esto significa que BoltWire CMS no puede ejecutar su archivo o no puede leer uno de sus archivos. Esto puede suceder cuando ha utilizado una sintaxis incorrecta en su configuraci√≥n.
  • ¬ę404 no encontrado nginx/1.14.0 (ubuntu)¬ęAgregar un registro ‘A’ para bolt.example.com hacia su servidor deber√≠a ayudar.
  • ¬ę404 No encontrado¬Ľ o ¬ęLa URL solicitada… no se encontr√≥ en este servidor¬ę. Esto significa que BoltWire CMS no pudo encontrar sus archivos. Es posible que deba verificar su configuraci√≥n de BoltWire y asegurarse de haber especificado la ruta correcta en ella.

BoltWire está instalado pero no hay páginas o se muestra la página de inicio de sesión de BoltWire si BoltWire CMS está instalado, entonces Bolt buscará una plantilla de BoltWire predeterminada en la carpeta /var/www/bolt/_templates dentro del directorio de instalación de Bolt y si no es así encuentre cualquier archivo allí, Bolt utilizará un archivo index.php en el directorio de instalación de Bolt como página de inicio. Si eso tampoco funciona, es posible que algo más esté mal con la configuración de PHP o la configuración de Nginx.

Conclusión

BoltWire CMS es una gran pieza de software para ejecutar un blog o sitio web personal. Puede obtener más información sobre Bolt CMS en Sitio oficial de BoltWire CMS.

Con suerte, este artículo lo ayudará a aprender cómo instalar BoltWire en el servidor Ubuntu 20.04. Si te gusta este artículo, compártelo con tus amigos en Twitter o Facebook. Si tiene alguna pregunta, no dude en dejar un comentario a continuación.

Deja una respuesta

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