WonderCMS è un sistema di gestione dei contenuti gratuito, open source, semplice e leggero per la creazione di siti Web e blog semplici. È un CMS flat-file e non richiede alcun database. Il processo di installazione è molto semplice e non richiede alcuna configurazione iniziale. Offre un ricco set di funzionalità tra cui supporto WYSIWYG, framework CSS flessibile, SEO friendly e molto altro.
In questo tutorial, ti mostreremo come installare WonderCMS su CentOS 8 e proteggerlo con Let's Encrypt SSL.
Prerequisiti
- Un server che esegue CentOS 8.
- Sul tuo server è configurata una password di root.
Installa Apache e PHP
Innanzitutto, installa il server web Apache, PHP e altre estensioni PHP con il seguente 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 volta completata l'installazione, apri il file php.ini e modifica alcune impostazioni:
nano /etc/php.ini
Modifica il valore secondo le tue esigenze:
memory_limit = 128M post_max_size = 32M upload_max_filesize = 16M max_execution_time = 300 date.timezone = Asia/Kolkata
Salva e chiudi il file quando hai finito. Quindi, avvia il servizio Apache e riavvialo per avviarlo dopo il riavvio del sistema con il seguente comando:
systemctl start httpd
systemctl enable httpd
Scarica WonderCMS
Innanzitutto, scarica l'ultima versione di WonderCMS dal repository Git:
cd /var/www/html
git clone https://github.com/robiso/wondercms.git
Una volta completato il download, dai i permessi appropriati alla directory scaricata con il seguente comando:
chown -R apache:apache /var/www/html/wondercms
chmod -R 775 /var/www/html/wondercms
Configura Apache per WonderCMS
Innanzitutto, crea un nuovo file di configurazione dell'host virtuale Apache per WonderCMS con il seguente comando:
nano /etc/httpd/conf.d/wondercms.conf
Aggiungi le seguenti righe:
<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>
Salva e chiudi il file. Quindi, riavvia il servizio Apache con il seguente comando:
systemctl restart httpd
Puoi anche controllare lo stato del servizio Apache con il seguente comando:
systemctl status httpd
Dovresti vedere il seguente output:
? 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...
Proteggi WonderCMS con Let's Encrypt SSL
Quindi, installa il client Certbot Let's Encrypt con il seguente 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
Ora, esegui il seguente comando per ottenere e installare un certificato SSL per il tuo sito web WonderCMS.
certbot-auto --apache -d wonder.linuxbuz.com
Il comando precedente installerà prima tutte le dipendenze richieste sul tuo server. Una volta installato, ti verrà chiesto di fornire un indirizzo email e di accettare i termini del servizio come mostrato di seguito:
Nota :Se ricevi un errore relativo al certificato SSL, riavvia il servizio Apache ed esegui nuovamente il comando precedente.
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
Successivamente, dovrai scegliere se reindirizzare o meno il traffico HTTP su HTTPS come mostrato di seguito:
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
Digita 2 e premi Invio continuare. Al termine dell'installazione, dovresti vedere il seguente output:
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
Configura Firewall e SELinux
Successivamente, dovrai creare una regola firewall per consentire il servizio HTTP e HTTPS da reti esterne. Puoi consentirlo con il seguente comando:
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload
Successivamente, dovrai configurare SELinux per WonderCMS. Puoi configurare SELinux usando il seguente 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
Infine, riavvia il servizio Apache per applicare le modifiche:
systemctl restart httpd
Accedi a WonderCMS
Ora apri il tuo browser web e digita l'URL https://wonder.linuxbuz.com. Verrai reindirizzato alla home page di WonderCMS:
Ora, copia la password dalla pagina sopra e fai clic su Cleccare per accedere pulsante. Dovresti vedere la seguente pagina:
Incolla la password e fai clic su Accedi pulsante. Dovresti vedere la seguente pagina:
Quindi, fai clic su Impostazioni => Sicurezza . Dovresti vedere la seguente pagina:
Modifica l'URL di accesso, la password e fai clic su MODIFICA PASSWORD pulsante.
Conclusione
Congratulazioni! hai installato e protetto con successo WonderCMS su CentOS 8 con Let's Encrypt SSL. Ora puoi ospitare facilmente il tuo blog e sito web utilizzando WonderCMS.