GNU/Linux >> Tutoriales Linux >  >> Fedora

Cómo instalar Fuel CMS con Nginx en Fedora 31

Fuel CMS es un sistema de gestión de contenido de código abierto para sitios web y blogs de primer nivel. Está construido sobre CodeIgniter, un marco web PHP popular. Este tutorial cubrirá cómo instalar Fuel CMS en un servidor basado en Fedora 31.

Requisitos

  • Un servidor que ejecuta Fedora 31 configurado con LEMP Stack. Puedes seguir nuestra guía para hacerlo.

  • Un usuario sudo no root.

  • Asegúrate de que todo esté actualizado.

    $ sudo dnf upgrade
    

Configurar MariaDB para Fuel CMS

Primero, necesitamos configurar una base de datos para usar con Fuel CMS. Para hacerlo, inicie sesión en el indicador de MySQL.

$ sudo mysql

Una vez que se le solicite, ingrese los siguientes comandos que configurarán una base de datos llamada fuelcms y un usuario de base de datos llamado fueluser y concédale acceso a la base de datos.

mysql> CREATE DATABASE fuelcms;
mysql> CREATE USER 'fueluser'@'localhost' IDENTIFIED BY 'yourpassword';
mysql> GRANT ALL PRIVILEGES ON fuelcms.* TO 'fueluser'@'localhost';
mysql> exit

Configurar PHP para Fuel CMS

En nuestra guía, instalamos PHP 7.4 pero Fuel CMS aún no es compatible con él en el momento de este tutorial. Cuando sea compatible, puede omitir este paso.

Ahora, necesitamos instalar PHP 7.3 junto con PHP 7.4. Esto se puede hacer fácilmente usando el siguiente comando.

$ sudo dnf install php73-php-fpm php73-php-mysqlnd php73-php-cli -y

Esto instala PHP 7.3 como una colección que le permite ejecutarlo simultáneamente con PHP 7.4.

Inicie y habilite el servicio PHP 7.3.

$ sudo systemctl start php73-php-fpm
$ sudo systemctl enable php73-php-fpm

Para verificar si está instalado correctamente, ejecute el siguiente comando.

$ php73 --version
PHP 7.3.16 (cli) (built: Mar 17 2020 10:18:38) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.16, Copyright (c) 1998-2018 Zend Technologies

Abra el archivo /etc/opt/remi/php73/php-fpm.d/www.conf .

$ sudo nano /etc/opt/remi/php73/php-fpm.d/www.conf

Necesitamos configurar el usuario/grupo de procesos PHP de Unix en nginx . Encuentra el user=apache y group=apache líneas en el archivo y cámbielas a nginx.

...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...

Además, busque la variable listen.acl_users y cambie su valor de la siguiente manera.

listen.acl_users = nginx

Además, tome nota de la escucha variable. Le dará la ruta sobre dónde escuchar el proceso PHP-FPM. Para nosotros, muestra lo siguiente.

listen = /var/opt/remi/php73/run/php-fpm/www.sock

Copie la ruta porque la necesitaremos.

Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.

Reinicie el proceso PHP-fpm.

$ sudo systemctl restart php73-php-fpm

Configurar Nginx

Ejecute el siguiente comando para agregar un archivo de configuración para Fuel CMS.

$ sudo nano /etc/nginx/sites-available/fuel.conf

Pegue el siguiente código en el editor.

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

  location / {
    try_files $uri $uri/ /index.php?q=$uri&$args;
  }

access_log /var/log/nginx/fuel.example.com.access.log;
error_log /var/log/nginx/fuel.example.com.error.log; location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

Este archivo asume que instalaremos Fuel CMS en el dominio example.com y en el directorio /var/www/fuel . También usamos el valor de escuchar variable de arriba para especificar un valor para fastcgi_pass .

Active este archivo de configuración vinculándolo a sites-enabled directorio.

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

Pruebe la configuración de Nginx.

$ sudo nginx -t

Debería ver el siguiente resultado que indica que su configuración es correcta.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Vuelva a cargar el servicio Nginx.

$ sudo systemctl reload nginx

Instalar Fuel CMS

Cree una carpeta raíz de documentos vacía para Fuel CMS.

$ sudo mkdir -p /var/www/fuel

La -p El argumento asegura que los directorios principales var y www se crean automáticamente si no existen.

Navegue a la carpeta raíz del documento.

$ cd /var/www/fuel

Obtenga la última versión de Fuel CMS de su repositorio Git.

$ sudo wget https://github.com/daylightstudio/FUEL-CMS/archive/master.zip

Extraiga el archivo en /var/www/fuel carpeta.

$ sudo unzip master.zip
$ sudo rm master.zip
$ sudo mv FUEL-CMS-master/* .
$ sudo rm -r FUEL-CMS-master

Crea las sessions directorio.

$ sudo mkdir /var/www/fuel/fuel/application/sessions

Abra el archivo /var/www/fuel/application/config/database.php .

$ sudo nano /var/www/fuel/fuel/application/config/database.php

Configure los parámetros de la base de datos que creamos antes.

$db['default'] = array(
        'dsn'   => '',
        'hostname' => 'localhost',
        'username' => 'fueluser',
        'password' => 'yourpassword',
        'database' => 'fuelcms',
        'dbdriver' => 'mysqli',

Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.

Importe el /var/www/fuel/install/fuel_schema.sql archivo en la base de datos recién creada.

$ mysql -u fueluser -p fuelcms < /var/www/fuel/fuel/install/fuel_schema.sql

Genere una clave de cifrado aleatoria utilizando OpenSSL. Puede usar cualquier número en lugar de 20.

$ openssl rand -base64 20

Obtendrá una clave aleatoria como salida. Cópialo.

Abra el archivo /var/www/fuel/fuel/application/config/config.php .

$ sudo nano /var/www/fuel/fuel/application/config/config.php

Cambie el valor de $config[‘encryption_key’] a la clave que obtuviste en el paso anterior.

$config['encryption_key'] = 'nisT56baLm+U24ZYFRvVbVKIdOE=';

A continuación, busque el valor $config['sess_save_path'] y cambiar su valor de NULL a la ruta de la sesión que creamos arriba.

$config['sess_save_path'] = APPPATH.'sessions/';

RUTA DE APLICACIÓN aquí se refiere a /var/www/fuel/fuel/applications/ directorio. Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.

A continuación, debemos habilitar el panel de administración. Para eso, abra el archivo /var/www/fuel/fuel/application/config/MY_fuel.php .

$  sudo nano /var/www/fuel/fuel/application/config/MY_fuel.php

Realice el siguiente cambio.

// whether the admin backend is enabled or not
$config['admin_enabled'] = TRUE;
....
$config['fuel_mode'] = 'auto';

Configuración del modo_combustible a automático permite que Fuel CMS verifique primero la página en su base de datos y, si no la encuentra, tomará la página de su carpeta de vista. Puede cambiar otras configuraciones, como el nombre del sitio en el panel de administración, el tamaño de carga de la imagen, establecer un correo electrónico, el tamaño de carga del archivo, seleccionar un editor de texto, establecer un motor de análisis y su configuración y establecer una lista de módulos permitidos.

Guarde el archivo presionando Ctrl + X e ingresando Y cuando se le solicite.

El paso final es otorgar los permisos adecuados a /var/www/fuel directorio.

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

La configuración ahora está completa. Abra fuel.example.com/fuel en su navegador e inicie sesión con las credenciales que creó anteriormente y comience a desarrollar.

Configuración de Fuel CMS

Una vez que inicie sesión en el panel de administración, se le pedirá que cambie la contraseña. Haga clic en Cambiar contraseña para continuar.

En la página que se abre, puede cambiar su contraseña. También debe cambiar su nombre de usuario predeterminado y agregar una dirección de correo electrónico. También deberá ingresar su nombre para continuar. Guarde para continuar cuando haya terminado.

Para obtener más información, consulte la documentación oficial de Fuel CMS.

Configurar HTTPS usando Let's Encrypt

Para usar Let's encrypt, necesitamos instalar el Certbot paquete.

Instale Certbot.

$ sudo dnf install certbot certbot-nginx -y

Instale el certificado.

$ sudo certbot --nginx -d fuel.example.com

Si es la primera vez que usa la herramienta en este servidor, debe aceptar los términos e ingresar su dirección de correo electrónico. Di no cuando se le pregunte si desea compartir su correo electrónico con la fundación EFF.

Si tiene éxito, certbot le preguntará cómo le gustaría configurar sus ajustes de HTTPS.

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

Seleccione 2 y luego presione ENTER . Su certificado ya está instalado y activado.

Ejecute el siguiente comando para configurar la renovación automática.

$ echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null

Inicie https://fuel.example.com en su navegador para verificar.

Conclusión

Esto concluye nuestro tutorial. Ahora puede usar Fuel CMS para crear sus sitios web. Si tiene alguna pregunta, publíquela en los comentarios.


Fedora
  1. Cómo instalar InvoicePlane con Nginx en CentOS 7

  2. Cómo instalar Bolt CMS en Fedora 29

  3. Cómo instalar Phorum con Nginx en CentOS 7

  4. Cómo instalar Phorum con Nginx en Fedora 30

  5. Cómo instalar PHP 8 en Fedora 35

Cómo instalar Fork CMS con NGINX en CentOS 8

Cómo instalar InvoicePlane con Nginx en Debian 9

Cómo instalar Nginx con PHP y MariaDB (LEMP Stack) en Fedora 31

Cómo instalar Grav CMS con Nginx en Ubuntu 20.04

Cómo instalar Grav CMS con Nginx en Debian 9

Cómo instalar Nginx en Fedora 35