Cómo instalar Fork CMS en Ubuntu Server 22.04

Fork es un sistema de gestión de contenidos de código abierto para principiantes y profesionales. Está diseñado para crear un entorno fácil de usar para construir, controlar y actualizar tu sitio web. Se lanzó principalmente como un CMS que proporciona módulos adicionales como blogs, páginas y usuarios. Sus potentes aplicaciones y temas te ayudan a personalizar tu sitio web según tus necesidades. Tiene una interfaz de usuario fácil de usar que ayuda a los usuarios a crear sitios web de forma rápida y sencilla.

Este tutorial te mostrará cómo instalar Fork CMS con Apache y Let’s Encrypt SSL en Ubuntu 22.04.

Requisitos previos

  • Un servidor que ejecute Ubuntu 22.04.
  • Un nombre de dominio válido apuntando a la IP de tu servidor.
  • Una contraseña de root está configurada en el servidor.

Instalar Apache, MariaDB y PHP

En primer lugar, instala el servidor web Apache y el servidor MariaDB utilizando el siguiente comando:

apt-get install apache2 mariadb-server -y

A continuación, tendrás que instalar la versión 7.4 de PHP y otras extensiones en tu servidor. Sin embargo, la versión PHP 7.4 no está incluida en el repositorio por defecto de Ubuntu. Así que tendrás que añadir el repositorio Ondrej PHP a tu servidor. Puedes añadirlo con el siguiente comando:

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

Una vez añadido el repositorio PHP, puedes instalar PHP con otras extensiones necesarias mediante el siguiente comando:

apt-get install php7.4 libapache2-mod-php7.4 php7.4-xml php7.4-cli php7.4-zip php7.4-common php7.4-sqlite3 php7.4-curl php7.4-intl php7.4-mbstring php7.4-xmlrpc php7.4-mysql php7.4-gd wget unzip -y

Después de instalar todos esos paquetes, edita el archivo de configuración de PHP y cambia los ajustes por defecto:

nano /etc/php/7.4/apache2/php.ini

Cambia los siguientes ajustes según tus necesidades:

memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 360
file_uploads = On
date.timezone = UTC

Guarda y cierra el archivo y reinicia el servicio Apache para aplicar los cambios de configuración:

systemctl restart apache2

Crear la base de datos Fork CMS

En primer lugar, tendrás que asegurar MariaDB y establecer la contraseña raíz de MariaDB. Puedes ejecutar el siguiente script para asegurar la instalación de MariaDB:

mysql_secure_installation

Este script establecerá una contraseña de root, eliminará los usuarios anónimos, no permitirá el inicio de sesión de root de forma remota y eliminará la base de datos de prueba, como se muestra a continuación:

Set root password? [Y/n] n
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
Once MariaDB is secured, log in to MariaDB shell:

A continuación, accede al shell de MariaDB con el siguiente comando:

mysql -u root -p

Introduce la contraseña de root y crea una base de datos y un usuario para Fork CMS:

MariaDB [(none)]> CREATE DATABASE forkdb;
MariaDB [(none)]> CREATE USER 'forkuser'@'localhost' IDENTIFIED BY 'password';

A continuación, concede privilegios a la base de datos Fork CMS con el siguiente comando:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON forkdb.* TO 'forkuser'@'localhost';

A continuación, ejecuta el comando FLUSH PRIVILEGES para que MariaDB vuelva a cargar la tabla de privilegios:

MariaDB [(none)]> FLUSH PRIVILEGES;

Por último, sal del intérprete de comandos de MariaDB con el siguiente comando:

MariaDB [(none)]> EXIT;

Instalar Fork CMS

En primer lugar, tendrás que instalar el Compositor en tu sistema. Puedes instalarlo con el siguiente comando:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

Obtendrás la siguiente salida:

All settings correct for using Composer
Downloading...

Composer (version 2.4.4) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

A continuación, navega hasta el directorio raíz web de Apache y descarga el Fork CMS utilizando el Composer:

cd /var/www/html/
composer create-project forkcms/forkcms

A continuación, establece el permiso y la propiedad adecuados para el directorio FOrk CMS:

chown -R www-data:www-data /var/www/html/forkcms
chmod -R 775 /var/www/html/forkcms

Una vez que hayas terminado, puedes continuar con el siguiente paso.

Crear un host virtual Apache para Fork CMS

A continuación, tendrás que crear un archivo de configuración de host virtual Apache para servir Fork CMS a través de Internet. Puedes crearlo con el siguiente comando:

nano /etc/apache2/sites-available/forkcms.conf

Añade las siguientes líneas:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/forkcms
     ServerName forkcms.example.com

     <Directory /var/www/html/forkcms/>
          Options FollowSymlinks
          AllowOverride All
          Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Guarda y cierra el archivo y, a continuación, activa el Fork CMS y habilita el módulo de reescritura de Apache con el siguiente comando:

a2ensite forkcms.conf
a2enmod rewrite

A continuación, reinicia el servicio Apache para aplicar los cambios:

systemctl restart apache2

También puedes comprobar el estado del servicio Apache con el siguiente comando:

systemctl status apache2

Obtendrás la siguiente salida:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-12-13 05:35:24 UTC; 1s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 94668 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 94672 (apache2)
      Tasks: 6 (limit: 2238)
     Memory: 13.4M
        CPU: 45ms
     CGroup: /system.slice/apache2.service
             ??94672 /usr/sbin/apache2 -k start
             ??94673 /usr/sbin/apache2 -k start
             ??94674 /usr/sbin/apache2 -k start
             ??94675 /usr/sbin/apache2 -k start
             ??94676 /usr/sbin/apache2 -k start
             ??94677 /usr/sbin/apache2 -k start

Dec 13 05:35:24 ubuntu2204 systemd[1]: apache2.service: Deactivated successfully.
Dec 13 05:35:24 ubuntu2204 systemd[1]: Stopped The Apache HTTP Server.
Dec 13 05:35:24 ubuntu2204 systemd[1]: Starting The Apache HTTP Server...

Una vez que hayas terminado, puedes continuar con el siguiente paso.

Accede a la Interfaz Web de Fork CMS

Ahora, abre tu navegador web y escribe la URL http://forkcms.example.com/install/2. Serás redirigido a la siguiente página:

Aquí, selecciona el idioma que desees y haz clic en el botón Siguiente. Deberías ver la siguiente página:

Selecciona el módulo que deseas instalar y pulsa el botón Siguiente. Deberías ver la página siguiente:

Proporciona los datos de tu base de datos y pulsa el botón Siguiente. Deberías ver la siguiente página:

Aquí, proporciona tu dirección de correo electrónico, nombre de usuario y contraseña de administrador, luego haz clic en el botón Finalizar la instalación. Deberías ver la siguiente página:

Ahora, haz clic en el botón Iniciar sesión en Fork CMS. Deberías ver la pantalla de inicio de sesión de Fork CMS en la siguiente página:

Ahora, proporciona tu nombre de usuario y contraseña de administrador, y haz clic en el botón Iniciar sesión. Serás redirigido al panel de control de Fork CMS como se muestra en la siguiente imagen:

Asegura ForkCMS con Let’s Encrypt SSL

Para instalar Let’s Encrypt SSL en el sitio web ForkCMS, necesitarás instalar el paquete certbot en tu servidor.

Primero, instala el gestor de paquetes Snap con el siguiente comando:

apt install snapd

A continuación, actualiza el paquete Snap a la última versión:

snap install core
snap refresh core

A continuación, instala el paquete certbot con el siguiente comando:

snap install --classic certbot

A continuación, crea un enlace simbólico para el binario de Certbot en la ubicación del sistema:

ln -s /snap/bin/certbot /usr/bin/certbot

A continuación, ejecuta el siguiente comando para descargar e instalar los certificados SSL de Let’s Encrypt:

certbot --apache -d forkcms.example.com

Se te pedirá que proporciones tu dirección de correo electrónico y que aceptes las condiciones del servicio:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
 (Enter 'c' to cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

Escribe Y y pulsa la tecla Intro para descargar e instalar los certificados SSL para tu dominio:

Account registered.
Requesting a certificate for forkcms.example.com

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/forkcms.example.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/forkcms.example.com/privkey.pem
This certificate expires on 2023-02-28.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Deploying certificate
Successfully deployed certificate for forkcms.example.com to /etc/nginx/conf.d/mastodon.conf
Congratulations! You have successfully enabled HTTPS on https://forkcms.example.com

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
 * Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
 * Donating to EFF:                    https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Conclusión

En este post, hemos explicado cómo instalar Fork CMS con Apache y Let’s Encrypt SSL en un servidor Ubuntu 22.04. Ahora puedes crear, supervisar y actualizar tu sitio web desde la intuitiva interfaz web de Fork CMS. No dudes en preguntarme si tienes alguna duda.

Scroll al inicio