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.