Wordpress Siti: differenze tra le versioni

Da Webmobili Wiki.
Nessun oggetto della modifica
 
(117 versioni intermedie di 5 utenti non mostrate)
Riga 1: Riga 1:
== Setup Iniziale ==
== Setup Iniziale ==
=== Ambiente di test ===
=== Ambiente di test ===
* '''Creare dominio di test''' da Register (es. <code>nomedominio.dbdemo47.com</code>)
* '''Creare dominio di test''' da Register (es. <code>nomedominio.dbdemo47.com</code>) che punti a <code>34.198.89.2</code> ''AWS Staging Apache'' ip pubblico elastico
* '''Aggiungere il dominio al loopback''' di Merida in <code>/etc/hosts</code>
* '''Aggiungere il dominio al loopback''' di AWS Apache Staging in <code>/etc/hosts</code>
* '''Lanciare lo script di creazione''' <code>/opt/script-bash/createvirtualhost.sh</code>
* '''Lanciare lo script di creazione''' <code>/opt/script-bash/createvirtualhost.sh</code> (commentare parte con www)
* '''Installare Wordpress''' recandosi da browser su <code>https://nomedominio.dbdemo47.com</code>
Specificare come utente
<syntaxhighlight lang="bash">
admin_designbest
@lAr^jIESYINQ71zSupn6DU8
</syntaxhighlight>
* '''Inserire la basic auth''' nel file <code>.htaccess</code> che è stato creato
<syntaxhighlight lang="bash">
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /var/www/auth/.htpasswd
Require valid-user
</syntaxhighlight>


* Aggiungere il nuovo dominio al loopback di Merida <code>/etc/hosts</code>
=== Ambiente di Prod ===
* Usare Script in <code>/opt/script-bash/createvirtualhost.sh</code> per: creare database, scaricare ultima versione di wordpress nel nuovo folder del sito, creare virtualhost e certificato ssl
* Girare i DNS dal provider corrente del cliente, puntare il Record A al nostro ip elastico pubblico su AWS 18.205.64.202
* Il comando copy <code>cp</code> non include il file <code>.htaccess</code> che deve essere creato da WP
* Ricordarsi di impostare il '''redirect''' da http per dominio.xx e www.dominio.xx
 
==== TIPS ====
In caso di problemi con le COLLATE
 
sostituire <code>utf8mb4_unicode_520_ci</code>
con <code>utf8mb4_general_ci</code>
 
sostituire <code>CHARSET=utf8mb4</code>
con <code>CHARSET=utf8</code>
 
sostituire </code>ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;</code>
 
con </code>ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;</code>
 
== Wordpress ==
Adesso abbiamo Wordpress attivo e pulito.
 
=== Plugin necessari ===
* Nicepage -> licenza acquistata caricare zip
* WP Restore and Enable Classic Widgets Plugin No Expiration Di: Bill Minozzi
* Child Theme Configurator di Lilaea Media
* Customize Admin Di: Johan van der Wijk
* NextGen Gallery  Di: Imagely
* Contact Form 7
* Flamingo - per avere su database i messaggi del form contatti
* Yoast SEO
* WP Armour - Honeypot Anti Spam  Di: Dnesscarkey
* WP Mail SMTP Di: WP Mail SMTP
* WP ROCKET
 
=== Tema ===
 
* Scelta tema e successivamente creare il relativo child
 
 
=== Nicepage ===
 
Nel caso serva avere lo stesso header e footer delle pagine di Nicepage anche negli articoli del blog:
* Usare '''Nicepage App''' e creare il tema con header e footer desiderati;
* successivamente esportare il progetto come tema Wordpress senza contenuti;
* Da Wordpress importare il tema;
* Nicepage -> Settings -> Header and Footer -> e settare Theme header and footer


== DNS ==
== DNS ==
* Puntare DNS del nuovo domino a Merida (con e senza www) <code>62.173.163.234</code>
* Puntare DNS per siti demo a AWS Staging Apache<code>34.198.89.2</code>
* Puntare DNS per siti in produzione a AWS Apache<code>18.205.64.202</code>
 
== Backup ==
Ricordarsi di aggiornare i file <br/>
<pre>/opt/script-bash/wordpressbackup
/etc/automysqlbackup/automysqlbackup.conf</pre>
sulla macchina ''MERIDA''
 
=== Wordpress backup ===
<pre>
# Copio i file di [dominio]
tar cvzf /media/discodati/backup/sites/"$DATE"_[dominio].tar.gz /media/discodati/www/[dominio]
 
# Carico il file di [dominio] su Drive
python3 $SCRIPT_PYTHON /media/discodati/backup/sites/"$DATE"_[dominio].tar.gz
rm /media/discodati/backup/sites/"$DATE"_[dominio].tar.gz
 
</pre>


=== Mysql database backup ===
Aggiungere nome del database alle variabili:
<pre>
CONFIG_db_names
CONFIG_db_month_names
</pre>


== Approfondimenti utili ==  
== Approfondimenti utili ==  
Riga 17: Riga 98:


https://mhagemann.medium.com/correct-way-to-delete-a-certbot-ssl-certificate-e8ee123e6e01
https://mhagemann.medium.com/correct-way-to-delete-a-certbot-ssl-certificate-e8ee123e6e01
Generazione certificato Let's Encrypt.
<code>sudo certbot --apache -d dominio.xx -d www.dominio.xx</code>
Attenzione a non rinominare la cartella creata per il certificato in <code>/etc/letsencrypt/live</code>
Ricordarsi di riavviare apache
<code> sudo systemctl restart apache2.service</code>

Versione attuale delle 15:43, 14 ott 2025

Setup Iniziale

[modifica]

Ambiente di test

[modifica]
  • Creare dominio di test da Register (es. nomedominio.dbdemo47.com) che punti a 34.198.89.2 AWS Staging Apache ip pubblico elastico
  • Aggiungere il dominio al loopback di AWS Apache Staging in /etc/hosts
  • Lanciare lo script di creazione /opt/script-bash/createvirtualhost.sh (commentare parte con www)
  • Installare Wordpress recandosi da browser su https://nomedominio.dbdemo47.com

Specificare come utente

admin_designbest
@lAr^jIESYINQ71zSupn6DU8
  • Inserire la basic auth nel file .htaccess che è stato creato
AuthName "Dialog prompt"
AuthType Basic
AuthUserFile /var/www/auth/.htpasswd
Require valid-user

Ambiente di Prod

[modifica]
  • Girare i DNS dal provider corrente del cliente, puntare il Record A al nostro ip elastico pubblico su AWS 18.205.64.202
  • Il comando copy cp non include il file .htaccess che deve essere creato da WP
  • Ricordarsi di impostare il redirect da http per dominio.xx e www.dominio.xx

TIPS

[modifica]

In caso di problemi con le COLLATE

sostituire utf8mb4_unicode_520_ci con utf8mb4_general_ci

sostituire CHARSET=utf8mb4 con CHARSET=utf8

sostituire ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;

con ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

Wordpress

[modifica]

Adesso abbiamo Wordpress attivo e pulito.

Plugin necessari

[modifica]
  • Nicepage -> licenza acquistata caricare zip
  • WP Restore and Enable Classic Widgets Plugin No Expiration Di: Bill Minozzi
  • Child Theme Configurator di Lilaea Media
  • Customize Admin Di: Johan van der Wijk
  • NextGen Gallery Di: Imagely
  • Contact Form 7
  • Flamingo - per avere su database i messaggi del form contatti
  • Yoast SEO
  • WP Armour - Honeypot Anti Spam Di: Dnesscarkey
  • WP Mail SMTP Di: WP Mail SMTP
  • WP ROCKET

Tema

[modifica]
  • Scelta tema e successivamente creare il relativo child


Nicepage

[modifica]

Nel caso serva avere lo stesso header e footer delle pagine di Nicepage anche negli articoli del blog:

  • Usare Nicepage App e creare il tema con header e footer desiderati;
  • successivamente esportare il progetto come tema Wordpress senza contenuti;
  • Da Wordpress importare il tema;
  • Nicepage -> Settings -> Header and Footer -> e settare Theme header and footer
  • Puntare DNS per siti demo a AWS Staging Apache34.198.89.2
  • Puntare DNS per siti in produzione a AWS Apache18.205.64.202

Backup

[modifica]

Ricordarsi di aggiornare i file

/opt/script-bash/wordpressbackup
/etc/automysqlbackup/automysqlbackup.conf

sulla macchina MERIDA

Wordpress backup

[modifica]
# Copio i file di [dominio]
tar cvzf /media/discodati/backup/sites/"$DATE"_[dominio].tar.gz /media/discodati/www/[dominio]

# Carico il file di [dominio] su Drive
python3 $SCRIPT_PYTHON /media/discodati/backup/sites/"$DATE"_[dominio].tar.gz
rm /media/discodati/backup/sites/"$DATE"_[dominio].tar.gz

Mysql database backup

[modifica]

Aggiungere nome del database alle variabili:

CONFIG_db_names
CONFIG_db_month_names

Approfondimenti utili

[modifica]

Creazione certificato SSL

[modifica]

https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-debian-11

https://mhagemann.medium.com/correct-way-to-delete-a-certbot-ssl-certificate-e8ee123e6e01

Generazione certificato Let's Encrypt.

sudo certbot --apache -d dominio.xx -d www.dominio.xx

Attenzione a non rinominare la cartella creata per il certificato in /etc/letsencrypt/live

Ricordarsi di riavviare apache

sudo systemctl restart apache2.service