Come impostare un flusso di lavoro Drupal in cPanel con Git - OTraining
Pubblicato: 2022-06-29A differenza di altri CMS, l'aggiornamento del core di Drupal non è difficile, ma in qualche modo complicato a causa di tutti i dettagli coinvolti. In questo tutorial, implementeremo un'installazione locale di Drupal 9, quindi caricheremo (push) questa base di codice in un repository centrale su Bitbucket. Quindi scaricheremo (tireremo) la base di codice da questo repository al server live, dove verrà archiviato il sito Web.

Usando questo processo (orientato al terminale), sarai in grado di accelerare gli aggiornamenti del core e dei moduli di Drupal e seguirai le migliori pratiche.
Si presume che tu abbia già uno stack LAMP installato sul tuo sistema. Inoltre, è necessario l'accesso al terminale sul server web.
Continua a leggere per sapere come!
Passaggio 1: installa Drupal 9 in locale
Apri l'applicazione Terminale del tuo sistema e posiziona il cursore sulla directory del tuo server locale, in genere /var/www/html
su un sistema Linux.
- Digitare :
composer create-project drupal/recommended-project my_drupal
Questo scaricherà l'ultima versione stabile di Drupal sul tuo computer.
- Tipo :
cd my_drupal/ mkdir config cd web/sites/default/ cp default.settings.php settings.php cd .. sudo chmod -R 777 default/
Questi comandi del terminale eseguono le seguenti azioni nell'ordine:
- Accedi alla directory my_drupal
- Crea una directory chiamata config
- Accedi alla directory predefinita
- Copia il file default.settings.php e cambia il suo nome in settings.php
- Torna alla directory dei siti
- Assegna autorizzazioni globali alla directory predefinita, in modo che il sistema possa completare il processo di installazione

Una volta completato, dobbiamo creare un database.
- Digita :
mysql -u root -p
Inserisci la tua password di root MySQL.
create database my_drupal; exit;
Questo crea il database che collegherai alla tua codebase.

- Apri il tuo browser web
- Digitare : localhost/my_drupal/web
Completa il processo di installazione locale.

Passaggio 2: creazione e aggiunta di una chiave al repository remoto
Ai fini di questo tutorial, userò Bitbucket. I passaggi sono abbastanza simili a un profilo Github.
Una volta effettuato l'accesso al tuo account Bitbucket, fai clic sull'icona del tuo profilo, che si trova (al momento in cui scrivo) nell'angolo in basso a sinistra.
- Seleziona Impostazioni personali
- Fare clic su Chiavi SSH

- Fare clic su Aggiungi chiave
Verrà visualizzata una finestra popup che richiede un'etichetta e una chiave.
- Digita MyLaptop, BobsPC o qualunque cosa tu voglia identificare la tua macchina su Bitbucket

- Apri la tua applicazione terminale
- Digitare :
ls -al ~/.ssh
Il punto prima del nome ci dice, questa è una directory nascosta. Ci sono due possibilità:
- Ottieni un elenco di file, uno di questi file ha l'estensione .pub.

- Viene visualizzato il messaggio "File o directory non trovati".
Il file con estensione .pub è la chiave pubblica del tuo sistema. Se non vedi questo file, devi crearne uno. Se vedi il file, continua a leggere comunque.
- Digita :
ssh-keygen -t rsa -C "my_email@my_domain.com"
- Premere Invio per selezionare la directory predefinita in cui verrà memorizzata la chiave (.ssh).
- Inserisci due volte la stessa passphrase (puoi lasciarla vuota premendo Invio due volte).
Il sistema ti avviserà della posizione della tua chiave pubblica e della sua impronta digitale. Se avevi già la chiave .pub sul tuo sistema, torna qui.
- Apri il file .ssh/id_rsa.pub con il tuo editor di codice preferito
- Copia l'intero testo, incluso il tuo indirizzo email

- Apri il browser e incollalo nell'area di testo
- Fare clic su Aggiungi chiave

La tua macchina locale ora può connettersi a Bitbucket.
Passaggio 3: creazione del repository remoto
Sul tuo profilo Bitbucket:
- Fare clic su Crea repository
- Seleziona un'area di lavoro e un nome di progetto ( creali se è la prima volta )
- Assegna un nome proprio al tuo repository
- Non includere un file README
- Non includere un file .gitignore
- Fare clic su Crea repository

Passaggio 4: aggiungi il repository locale a Bitbucket
- Tipo :
cd /var/www/html/my_drupal/web mv example.gitignore .gitignore git init git add . git commit -m 'Fresh Drupal installation'
Stai accedendo alla directory principale della tua installazione di Drupal, cambiando il nome del file example.gitignore in .gitignore, inizializzando il tuo repository locale, aggiungendo i file all'area di staging di git e, infine, eseguendo questi "modifiche" (il repository era inizialmente vuoto) nel repository.
- Tipo :
git remote add origin [email protected]:[MY_PROJECT]/my-drupal.git git push -u origin master
Puoi copiare e incollare questi due comandi dalla pagina del repository su Bitbucket.


- Digitare sì, se richiesto
- Inserisci la tua passphrase
Controlla il repository su Bitbucket. Quasi tutti i file all'interno della directory web ( il tuo repository locale ) sono stati copiati nel tuo repository remoto. Dai un'occhiata alla directory sites/default.

Si noti che il file settings.php è mancante. Questo perché è incluso all'interno del file .gitignore.
- Apri il tuo terminale e
- Digita : nano .gitignore

- Digita Ctrl+x per chiudere il nano editor
Se dai un'occhiata alle carte nella prima immagine di questo tutorial, noterai che abbiamo già terminato i compiti della carta 1 e c'è solo un compito rimasto nella carta 2. Continuiamo con l'ultima parte di questo processo .
Passaggio 5: crea un database live
Apri la tua dashboard presso il tuo provider di hosting e crea un nuovo account Drupal con il tuo nome di dominio.
- Fare clic sul "programma di installazione con un solo pulsante" di Drupal.
- Fare clic su Crea account
Questo può variare da provider a provider, quindi devi trovare la via d'uscita qui.

Riceverai un'e-mail con un utente Drupal (admin) e una password Drupal. Inoltre, riceverai anche il nome utente e la password per il tuo account cPanel. Questi sono quelli di cui abbiamo bisogno. Sono disponibili anche sulla dashboard del tuo provider di hosting.

- Fare clic su Abilita SSH , così possiamo avere accesso al terminale sul server live.

- Fare clic sul collegamento cPanel
- Digita
databases
nella casella di ricerca - Seleziona Database MySQL
Il programma di installazione con un clic ha creato un database. Elimina questo database.

- Inserisci un nome proprio per il tuo database.
Notare il prefisso del database aggiunto automaticamente da cPanel ( nella maggior parte dei casi il tuo nome utente ).

Passaggio 6: importa il database locale
- Apri la tua applicazione terminale
- Tipo :
mysqldump -u root p my_drupal > ~/[path/to/your/desktop]/[cpanel_sql_db_name].sql
- Inserisci la tua password di root SQL
Questo creerà una copia del tuo database e lo posizionerà sul desktop. Questo database sul desktop deve avere lo stesso nome di quello che hai creato su cPanel.
Se hai MySQL versione 8 sulla tua macchina, molto probabilmente dovrai adattare il database per funzionare con MySQL 5 ( disponibile presso il tuo provider di hosting ).
- Tipo :
sed -i -e 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' [cpanel_sql_db_name].sql
Questo è il comando Linux per eseguire questa operazione.

- Apri la dashboard di cPanel
- Digita
phpMyAdmin
nella casella di ricerca e selezionalo - Clicca sul nome del tuo database per selezionarlo. Dovrebbe essere vuoto ( nessuna tabella trovata nel database )
- Fare clic su Importa

- Fare clic su Scegli file
- Seleziona il database dal desktop
- Scorri verso il basso e fai clic su Vai
Ci vorranno un paio di minuti, quindi sii paziente.


Passaggio 7: reindirizza il tuo dominio
Drupal è memorizzato all'interno della directory web, quindi per accedere al tuo sito devi inserire l'URL: https://yoursite.xxx/web
Se utilizzi un servizio cloud, questo non è un problema, puoi modificare il file hosts. Con cPanel, questo non è possibile (per quanto ne so). Devi creare un reindirizzamento URL permanente.
- Apri la dashboard di cPanel
- Digita
Redirects
nella casella di ricerca - Premi Invio
- Seleziona Reindirizzamento permanente (301)
- Scegli il nome del tuo dominio dal menu a tendina
- Aggiungi il link di reindirizzamento
- Fare clic su Aggiungi

- Digita
Domains
nella casella di ricerca - Premi Invio
- Fare clic sull'interruttore Forza reindirizzamento HTTPS

Passaggio 8: carica la codebase
- Apri la dashboard di cPanel
- Digita File Manager nella casella di ricerca
- Premi Invio
- Fare doppio clic sulla directory public_html
- Fare clic sul pulsante Impostazioni nella parte in alto a destra dello schermo
- Seleziona Mostra file nascosti (dotfile)
- Fare clic su Salva
- Fare clic su Seleziona tutto
- Fare clic su Elimina

- Apri il File Manager del tuo sistema
- Comprimi l'intera cartella my_drupal
- Apri il File Manager di cPanel
- Fare clic su Carica all'interno della directory public_html
- Fare clic su Seleziona file
- Carica il file zip
- Fare clic su Torna indietro una volta che il file è stato caricato sul server
- Fare clic con il pulsante destro del mouse sul file zip e selezionare Estrai > Estrai file > Chiudi
- Fare doppio clic sulla cartella my_drupal
- Assicurati di aver attivato l'opzione Mostra file nascosti
- Fare clic su Seleziona tutto
- Fare clic su Sposta
- Seleziona la directory public_html
- Fare clic su Sposta file

- Fare clic su Su di un livello
- Fare clic con il pulsante destro del mouse sul file zip e fare clic su Elimina
- Rimuovi anche il file zip dal tuo server locale

- Apri il tuo terminale o file manager
- Copia il file settings.php dell'installazione locale sul desktop

- Apri il file con il tuo editor di codice preferito
- Sostituisci il nome utente con il nome utente fornito dal tuo provider di hosting ( Fai lo stesso con il nome del database e la password – vedi Passaggio n. 5 )
- Salva e chiudi il file

- Apri il File Manager nella dashboard di cPanel
- Fare clic su public_html/web/sites/default
- Fare clic su Carica
- Seleziona il file settings.php dal desktop
- Fare clic su Sì per sovrascrivere il file
- Fare clic su Torna indietro
- Modifica le autorizzazioni di file e directory in base all'immagine seguente

- Fare clic su Su di un livello
- Modificare le autorizzazioni della cartella predefinita in 0755
Passaggio 9: imposta la versione PHP sul tuo server
Drupal richiede almeno PHP 7.3.
- Apri la dashboard di cPanel
- Digita
Select PHP
nella casella di ricerca - Premi Invio
- Seleziona 7.4
- Fare clic su Imposta come corrente
- Controlla l'estensione opcache

- Digita
[yoursite.xxx/web]
nella barra degli indirizzi del tuo browser - Fai clic su Accedi con il nome utente e la password della tua installazione Drupal locale
- Fare clic sulla scheda Modifica e, se necessario, modificare la password
Passaggio 10: aggiungi la chiave del server di produzione a Bitbucket
- Apri la dashboard di cPanel
- Digita
Terminal
nella casella di ricerca - Fare clic su Invio
- Fare clic su Capisco e voglio procedere
- Ripetere il processo descritto nel passaggio n. 2

- Digita:
less ~/.ssh/id_rsa.pub
less è un editor di terminale
- Copia e incolla la chiave come mostrato nel passaggio n. 2, questa volta per la macchina server
- Tipo :
q
Questo ti permetterà di uscire di meno.
Avrai una chiave per ogni macchina ( o macchina virtuale ) connessa a Bitbucket.

Passaggio 11: clonare il repository remoto sul server di produzione
- Apri l'applicazione terminale del tuo server
- Tipo :
cd public_html rm -rf web git clone [email protected]:[YOUR_PROJECT]/my-drupal.git web

Stai eliminando la cartella Web e sostituendola con il repository remoto. Ottieni l'ultimo comando da terminale se apri il repository Bitbucket e fai clic sul pulsante Clona ( non dimenticare di aggiungere web alla fine del comando! ) .

Passaggio 12: installa un modulo o un tema
- Apri l'applicazione terminale del tuo sistema locale
- Tipo :
cd /var/www/html/my_drupal composer require drupal/bootstrap

- Digita
cd web
per entrare nella directory web - Tipo :
git add . git commit -m 'Bootstrap theme installation' git status

- Digita
git push
- Immettere la passphrase se richiesta

- Apri il terminale sul tuo server remoto.
- Digita ( inserisci la passphrase se richiesta ):
git fetch git status

Se vedi: Il tuo ramo è dietro 'origin/master' di 1 commit e può essere fatto avanzare velocemente,
- Digita :
git merge
Questo unirà il codice nel tuo server con il codice estratto dal repository remoto.
- Vai alla sezione dei temi del tuo backend Drupal, il tema Bootstrap dovrebbe essere lì

NOTA: Devi solo ripetere quest'ultimo passaggio, ogni volta che scarichi un modulo, aggiorni Drupal core o modifichi il codice CSS del tuo tema.
Risoluzione dei problemi
Se ricevi 404 pagine di errore dopo aver installato Drupal sul server di produzione,
- Elimina il file .htaccess
- Caricalo di nuovo sul server

Spero che questo tutorial ti sia piaciuto. Grazie per aver letto!