Ubuntu, clonare facilmente un progetto da GitHub

Clonare facilmente un progetto da GitHub direttamente nella cartella web di Ubuntu utilizzando la shell. Ecco come puoi farlo:

1. Accedi al Server via SSH

Accedi al server tramite SSH (se non lo hai già fatto):

ssh username@server_ip_address

2. Naviga nella Cartella Web

Naviga nella cartella web dove vuoi clonare il progetto. Supponendo che la tua directory web sia /var/www/lasciamidire.com/web, puoi usare il comando:

cd /var/www/lasciamidire.com/web

3. Clona il Repository da GitHub

Usa il comando git clone per clonare il repository GitHub nella cartella corrente. Ecco un esempio:

git clone https://github.com/username/repository-name.git

Sostituisci https://github.com/username/repository-name.git con l’URL del repository GitHub che vuoi clonare. Questo comando creerà una nuova cartella con il nome del repository nella directory web.

4. Opzionalmente, Rinomina la Cartella

Se vuoi che il contenuto del repository sia direttamente all’interno di una cartella specifica (ad esempio easy-pictograms), puoi rinominare la cartella o specificare il nome della cartella durante il clone:

git clone https://github.com/username/repository-name.git easy-pictograms

Questo comando clonerà il contenuto del repository nella cartella easy-pictograms.

5. Verifica il Clonaggio

Dopo che il processo di clonazione è completato, puoi verificare che il contenuto sia stato clonato correttamente:

ls easy-pictograms

6. Configurazione e Avvio dell’Applicazione

Dopo aver clonato il progetto, potresti dover installare le dipendenze e configurare l’applicazione prima di avviarla:

cd easy-pictograms
npm install
pm2 start npm --name "easy-pictograms" -- start

Questo avvierà l’applicazione usando PM2 con il nome easy-pictograms.

Note Aggiuntive

  • Permessi: Assicurati che i permessi delle directory siano correttamente impostati per l’utente o il processo che esegue il server web.
  • Ambiente: Se il repository include un file .env.example, potresti doverlo rinominare in .env e configurarlo con i parametri corretti.

Seguendo questi passaggi, potrai clonare il progetto da GitHub direttamente nella tua cartella web e configurarlo per l’esecuzione.

Linux Ubuntu Directory Structure Overview

Su un server Linux basato su Ubuntu, la struttura delle directory è organizzata secondo il Filesystem Hierarchy Standard (FHS), che definisce la disposizione e il contenuto delle directory principali. Ecco una panoramica delle directory più importanti:

  1. / (Root)
    • La radice del filesystem. Tutte le altre directory si trovano sotto questa directory.
  2. /bin
    • Contiene i binari essenziali per il sistema, utilizzati sia dagli utenti che dal sistema stesso. Ad esempio, ls, cp, mv, ecc.
  3. /boot
    • Contiene i file necessari per l’avvio del sistema, inclusi il kernel e i file di configurazione del bootloader (come GRUB).
  4. /dev
    • Contiene i file di dispositivo, che rappresentano le periferiche del sistema. Ad esempio, /dev/sda per il disco rigido, /dev/tty per i terminali, ecc.
  5. /etc
    • Contiene i file di configurazione del sistema. Ad esempio, passwd per gli utenti, fstab per i punti di montaggio, ecc.
  6. /home
    • Directory che contiene le home directory degli utenti. Ad esempio, /home/uby per l’utente “uby”.
  7. /lib
    • Contiene le librerie di sistema essenziali necessarie per eseguire i binari in /bin e /sbin.
  8. /media
    • Punti di montaggio per supporti rimovibili come CD, DVD, e unità USB.
  9. /mnt
    • Directory temporanea per montare file system. Solitamente utilizzata per montaggi temporanei di dispositivi.
  10. /opt
    • Utilizzata per installare pacchetti software aggiuntivi. Generalmente, software che non fanno parte della distribuzione standard.
  11. /proc
    • File system virtuale che fornisce informazioni sul sistema e sui processi in esecuzione. Ad esempio, /proc/cpuinfo contiene informazioni sulla CPU.
  12. /root
    • Home directory dell’utente root.
  13. /run
    • Directory per file di runtime che contengono dati variabili come i PID dei processi.
  14. /sbin
    • Contiene binari di sistema essenziali riservati all’amministratore di sistema. Ad esempio, ifconfig, iptables, ecc.
  15. /srv
    • Contiene dati specifici per i servizi forniti dal sistema. Ad esempio, dati per server web o FTP.
  16. /sys
    • File system virtuale che espone informazioni sul kernel, sui dispositivi e sui driver.
  17. /tmp
    • Directory per file temporanei, spesso pulita ad ogni riavvio del sistema.
  18. /usr
    • Contiene i programmi e le librerie per gli utenti. Questa directory ha diverse sottodirectory:
      • /usr/bin: Binari per tutti gli utenti.
      • /usr/sbin: Binari di sistema non essenziali.
      • /usr/lib: Librerie per i binari in /usr/bin e /usr/sbin.
      • /usr/local: Gerarchia per programmi installati localmente.
  19. /var
    • Contiene dati variabili come log, spool e file temporanei persistenti. Ad esempio:
      • /var/log: File di log.
      • /var/spool: Dati di spool per la posta, stampa, ecc.
      • /var/tmp: File temporanei che devono persistere tra i riavvii.

Questa struttura aiuta a mantenere il sistema organizzato e facilita la gestione e manutenzione del server.