WonderCMS es un sistema de gestión de contenido gratuito, de código abierto, sencillo y ligero para crear sitios web y blogs sencillos. Es un CMS de archivo plano y no requiere ninguna base de datos. El proceso de instalación es muy sencillo y no requiere ninguna configuración inicial. Ofrece un amplio conjunto de características que incluyen soporte WYSIWYG, marco de CSS flexible, compatibilidad con SEO y muchas más.
En este tutorial, le mostraremos cómo instalar WonderCMS en CentOS 8 y asegurarlo con Let's Encrypt SSL.
Requisitos
- Un servidor que ejecuta CentOS 8.
- Se ha configurado una contraseña raíz en su servidor.
Instalar Apache y PHP
Primero, instale el servidor web Apache, PHP y otras extensiones de PHP con el siguiente comando:
dnf install httpd php php-mysqlnd php-curl php-opcache php-xml php-xmlrpc php-gd php-mbstring php-zip php-json wget unzip git -y
Una vez que se haya completado la instalación, abra el archivo php.ini y cambie algunas configuraciones:
nano /etc/php.ini
Cambie el valor según sus requisitos:
memory_limit = 128M post_max_size = 32M upload_max_filesize = 16M max_execution_time = 300 date.timezone = Asia/Kolkata
Guarde y cierre el archivo cuando haya terminado. Luego, inicie el servicio Apache y reinícielo para que comience después de reiniciar el sistema con el siguiente comando:
systemctl start httpd
systemctl enable httpd
Descargar WonderCMS
Primero, descargue la última versión de WonderCMS desde el repositorio de Git:
cd /var/www/html
git clone https://github.com/robiso/wondercms.git
Una vez que se complete la descarga, otorgue los permisos adecuados al directorio descargado con el siguiente comando:
chown -R apache:apache /var/www/html/wondercms
chmod -R 775 /var/www/html/wondercms
Configurar Apache para WonderCMS
Primero, cree un nuevo archivo de configuración de host virtual de Apache para WonderCMS con el siguiente comando:
nano /etc/httpd/conf.d/wondercms.conf
Agregue las siguientes líneas:
<VirtualHost *:80> ServerName wonder.linuxbuz.com DirectoryIndex index.php DocumentRoot /var/www/html/wondercms Redirect /wondercms/loginURL /loginURL ErrorLog /var/log/httpd/linuxbuz.com-error.log CustomLog /var/log/httpd/linuxbuz.com-access.log combined <Directory /var/www/html/wondercms> Options FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>
Guarde y cierre el archivo. Luego, reinicie el servicio de Apache con el siguiente comando:
systemctl restart httpd
También puede verificar el estado del servicio Apache con el siguiente comando:
systemctl status httpd
Debería ver el siguiente resultado:
? httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d ??php-fpm.conf Active: active (running) since Wed 2020-02-19 08:51:34 EST; 1min 25s ago Docs: man:httpd.service(8) Main PID: 4716 (httpd) Status: "Total requests: 6; Idle/Busy workers 100/0;Requests/sec: 0.0759; Bytes served/sec: 812 B/sec" Tasks: 278 (limit: 12558) Memory: 43.1M CGroup: /system.slice/httpd.service ??4716 /usr/sbin/httpd -DFOREGROUND ??4718 /usr/sbin/httpd -DFOREGROUND ??4719 /usr/sbin/httpd -DFOREGROUND ??4720 /usr/sbin/httpd -DFOREGROUND ??4721 /usr/sbin/httpd -DFOREGROUND ??4935 /usr/sbin/httpd -DFOREGROUND Feb 19 08:51:34 centos8 systemd[1]: Starting The Apache HTTP Server...
Asegure WonderCMS con Let's Encrypt SSL
A continuación, instale el cliente Certbot Let's Encrypt con el siguiente comando:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chown root /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
Ahora, ejecute el siguiente comando para obtener e instalar un certificado SSL para su sitio web WonderCMS.
certbot-auto --apache -d wonder.linuxbuz.com
El comando anterior instalará primero todas las dependencias requeridas en su servidor. Una vez instalado, se le pedirá que proporcione una dirección de correo electrónico y acepte el término del servicio como se muestra a continuación:
Nota :Si obtiene algún error relacionado con el certificado SSL, reinicie el servicio Apache y ejecute el comando anterior nuevamente.
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache 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.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing 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 Obtaining a new certificate Performing the following challenges: http-01 challenge for wonder.linuxbuz.com Waiting for verification... Cleaning up challenges Deploying Certificate to VirtualHost /etc/nginx/conf.d/wondercms.conf
A continuación, deberá elegir si desea redirigir o no el tráfico HTTP a HTTPS, como se muestra a continuación:
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): 2
Tipo 2 y pulsa Intro continuar. Una vez finalizada la instalación, debería ver el siguiente resultado:
Redirecting all traffic on port 80 to ssl in /etc/nginx/conf.d/wondercms.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://wonder.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=wonder.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/wonder.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/wonder.linuxbuz.com/privkey.pem Your cert will expire on 2020-03-23. To obtain a new or tweaked version of this certificate in the future, simply run certbot-auto again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot-auto renew" - 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
Configurar Firewall y SELinux
A continuación, deberá crear una regla de firewall para permitir el servicio HTTP y HTTPS desde redes externas. Puedes permitirlo con el siguiente comando:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
A continuación, deberá configurar SELinux para WonderCMS. Puede configurar SELinux usando el siguiente comando:
setsebool httpd_can_network_connect on -P
chcon -R -u system_u -t httpd_sys_rw_content_t -r object_r /var/www/html/wondercms
Finalmente, reinicie el servicio Apache para aplicar los cambios:
systemctl restart httpd
Acceder a WonderCMS
Ahora, abra su navegador web y escriba la URL https://wonder.linuxbuz.com. Será redirigido a la página de inicio de WonderCMS:
Ahora, copie la contraseña de la página anterior y haga clic en Chaga clic para iniciar sesión botón. Debería ver la siguiente página:
Pegue la contraseña y haga clic en Iniciar sesión botón. Debería ver la siguiente página:
A continuación, haga clic en Configuración => Seguridad . Debería ver la siguiente página:
Cambie su URL de inicio de sesión, contraseña y haga clic en CAMBIAR CONTRASEÑA botón.
Conclusión
¡Felicidades! Ha instalado y asegurado con éxito WonderCMS en CentOS 8 con Let's Encrypt SSL. Ahora puede alojar su propio blog y sitio web fácilmente con WonderCMS.