Migrazione Magazine su Wordpress: differenze tra le versioni

Da Webmobili Wiki.
Nessun oggetto della modifica
 
(100 versioni intermedie di 3 utenti non mostrate)
Riga 1: Riga 1:
Progetto '''concluso''' il giorno '''17 ottobre 2022'''.<br/><br/>
Il progetto ha l'obiettivo di spostare tutti gli articoli di '''Magazine''' (Episerver) su una nuova istanza aggiornata di '''Wordpress'''.
Il progetto ha l'obiettivo di spostare tutti gli articoli di '''Magazine''' (Episerver) su una nuova istanza aggiornata di '''Wordpress'''.


Partendo dall'estrazione per i post del magazine <br/>
Partendo dall'estrazione per i post del magazine <br/>
<code>https://magazine.designbest.com/api/GetAllArticles</code><br/>
<code>https://magazine.designbest.com/api/GetAllArticlesForWordpress</code><br/>
e utilizzando le '''API di Wordpress''' è possibile trasferire tutti gli articoli sul database di Wordpress.
e utilizzando le '''API di Wordpress''' è possibile trasferire tutti gli articoli sul database di Wordpress.


Riga 9: Riga 11:
impostiamo l'ambiente di sviluppo.
impostiamo l'ambiente di sviluppo.
<syntaxhighlight lang="yaml">
<syntaxhighlight lang="yaml">
version: '2'
version: '3.1'
 
services:
services:
   mariadb:
 
     image: docker.io/bitnami/mariadb:10.3
   wordpress:
     image: wordpress   
    ports:
      - 8080:80
     environment:
     environment:
       # ALLOW_EMPTY_PASSWORD is recommended only for development.
       WORDPRESS_DB_HOST: db
       - ALLOW_EMPTY_PASSWORD=yes
       WORDPRESS_DB_USER: webmobili
       - MARIADB_USER=bn_magento
       WORDPRESS_DB_PASSWORD: w3bm0b1l1
       - MARIADB_DATABASE=bitnami_magento
       WORDPRESS_DB_NAME: webmobili
      WORDPRESS_DEBUG: 1
      TZ: "Europe/Rome"
     volumes:
     volumes:
       - 'mariadb_data:/bitnami/mariadb'
       - wordpress:/var/www/html
   magento:
 
     image: docker.io/bitnami/magento:2
   db:
     image: mysql:5.7   
     ports:
     ports:
       - '80:8080'
       - 3306:3306
      - '443:8443'
     environment:
     environment:
       - MAGENTO_HOST=localhost
       MYSQL_DATABASE: webmobili
       - MAGENTO_DATABASE_HOST=mariadb
       MYSQL_USER: webmobili
       - MAGENTO_DATABASE_PORT_NUMBER=3306
       MYSQL_PASSWORD: w3bm0b1l1
       - MAGENTO_DATABASE_USER=bn_magento
       MYSQL_ROOT_PASSWORD: w3bm0b1l1
      - MAGENTO_DATABASE_NAME=bitnami_magento
      - ELASTICSEARCH_HOST=elasticsearch
      - ELASTICSEARCH_PORT_NUMBER=9200
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      - ALLOW_EMPTY_PASSWORD=yes
     volumes:
     volumes:
       - 'magento_data:/bitnami/magento'
       - db:/var/lib/mysql
    depends_on:
 
      - mariadb
      - elasticsearch
  elasticsearch:
    image: docker.io/bitnami/elasticsearch:7
    volumes:
      - 'elasticsearch_data:/bitnami/elasticsearch/data'
volumes:
volumes:
   mariadb_data:
   wordpress:
    driver: local
   db:
   magento_data:
    driver: local
  elasticsearch_data:
    driver: local
</syntaxhighlight>
</syntaxhighlight>


== Abilitare le API ==
<b>php.ini</b><br/>
Le API di Wordpress sono attive di default.<br/>
Per conoscere il folder del file di configurazione di PHP -> <code>cd $PHP_INI_DIR/</code><br/>
Le chiamate pubbliche non richiedono nessuna autenticazione, le chiamate che modificano dati vogliono la '''basic athentication'''.
Andare in <code>/usr/local/etc/php/conf.d</code><br/>
 
Creare ad esempio un file uploads.ini con la direttiva -> <code>upload_max_filesize=10M;</code>
== POSTMAN - upload immagini ==
Chiamata alle API Wordpress per caricare le immagini<br/>
<code>/wp-json/wp/v2/media/</code>
 
=== Sezione Authorization ===
 
Settare Basic Auth -> nome utente e password admin di wordpress
 
=== Sezione Header ===
 
[[File:POSTMAN WP-uploads-image.png]]


=== Sezione Body ===
== Release in produzione ==
Il giorno in cui saliremo in produzione dovremo:


[[File:POSTMAN WP-uploads-image-01.png]]
* Togliere la password da <code>designbestmagazine.com</code>
* Attivare sito ''OldMagazineRedirect''
* Inserire binding <code>old.magazine.dbdemo47.com</code> in sito ''DesignbestMagazine'' e togliere <code><del>magazine.designbest.com</del></code> (sia certificato che senza) e attivare la Basic Auth
* Inserire binding <code>magazine.designbest.com</code> a ''OldMagazineRedirect'' (con certificato SSL e senza)
* Rel di Designbest senza Magazine
* Testare i redirect
* Sul "vecchio" Magazine ricordarsi di cambiare il dominio dall'admin Episerver: <code>old.magazine.dbdemo47.com/episerver</code>
* Vecchio magazine sotto password

Versione attuale delle 09:44, 28 ott 2022

Progetto concluso il giorno 17 ottobre 2022.

Il progetto ha l'obiettivo di spostare tutti gli articoli di Magazine (Episerver) su una nuova istanza aggiornata di Wordpress.

Partendo dall'estrazione per i post del magazine
https://magazine.designbest.com/api/GetAllArticlesForWordpress
e utilizzando le API di Wordpress è possibile trasferire tutti gli articoli sul database di Wordpress.

Wordpress su docker

[modifica]

Utilizzando questo docker-compose.yml
impostiamo l'ambiente di sviluppo.

version: '3.1'

services:

  wordpress:
    image: wordpress    
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: webmobili
      WORDPRESS_DB_PASSWORD: w3bm0b1l1
      WORDPRESS_DB_NAME: webmobili
      WORDPRESS_DEBUG: 1
      TZ: "Europe/Rome"
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:5.7    
    ports:
      - 3306:3306
    environment:
      MYSQL_DATABASE: webmobili
      MYSQL_USER: webmobili
      MYSQL_PASSWORD: w3bm0b1l1
      MYSQL_ROOT_PASSWORD: w3bm0b1l1
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:

php.ini
Per conoscere il folder del file di configurazione di PHP -> cd $PHP_INI_DIR/
Andare in /usr/local/etc/php/conf.d
Creare ad esempio un file uploads.ini con la direttiva -> upload_max_filesize=10M;

Release in produzione

[modifica]

Il giorno in cui saliremo in produzione dovremo:

  • Togliere la password da designbestmagazine.com
  • Attivare sito OldMagazineRedirect
  • Inserire binding old.magazine.dbdemo47.com in sito DesignbestMagazine e togliere magazine.designbest.com (sia certificato che senza) e attivare la Basic Auth
  • Inserire binding magazine.designbest.com a OldMagazineRedirect (con certificato SSL e senza)
  • Rel di Designbest senza Magazine
  • Testare i redirect
  • Sul "vecchio" Magazine ricordarsi di cambiare il dominio dall'admin Episerver: old.magazine.dbdemo47.com/episerver
  • Vecchio magazine sotto password