La shell del sito è bash nella cartella del sito, con l'utente del sito. Ci trovi wp, composer,
git e php, e node se il server lo ha. I file che crei hanno subito il proprietario giusto. La
shell gira nello stesso sandbox e con gli stessi limiti di CPU e memoria del PHP del sito: gli altri
siti e la configurazione del server non ci sono, e non c'è sudo.
Attiva la shell
Solo un amministratore può farlo, e solo da una sessione nel pannello: un token API non basta.
- Apri il sito e vai alla scheda SFTP / SSH.
- Controlla che l'Accesso SFTP sia attivo: la shell accede solo mentre lo è.
- Nella sezione Shell SSH, accendi Consenti la shell alle chiavi “shell”.
- Leggi l'avviso, che elenca le chiavi che apriranno una shell, e conferma.
I Dati di connessione mostrano ora anche Utente shell (cg-shell-<id>) e Comando shell.
Aggiungi una chiave shell
- Nella sezione Chiavi SSH, incolla la chiave pubblica in Chiave pubblica.
- Scegli il Tipo Shell.
- Premi Aggiungi chiave.
Una chiave Shell vale anche per SFTP. Finché la shell è spenta vale solo per SFTP, e nell'elenco compare come shell · spenta.
Collegati
Usa il Comando shell dei dati di connessione:
ssh cg-shell-<id>@<host>
Con SSH su una porta diversa dalla 22 il comando contiene -p <porta>. La sessione interattiva
parte nella cartella current del sito, se esiste, altrimenti nella cartella del sito. Anche un
comando singolo funziona, e parte nella cartella del sito: ssh cg-shell-<id>@<host> wp --version.
La shell accetta solo chiavi, mai password. Ogni sito ha al massimo 8 sessioni aperte insieme.
Tutto quello che una sessione avvia, anche con nohup, finisce con la sessione.
Dal checkout al rilascio
La cartella ~/src è dell'utente del sito: clona lì il tuo repository e pubblicalo come rilascio
dalla scheda Rilasci, riquadro Nuovo rilascio, con Un checkout in ~/src e Crea
rilascio. Oppure con cgctl, dal server:
cgctl deploy <id-sito> /srv/sites/<dominio>/src/<app>
Il rilascio si promuove e si annulla come tutti gli altri. Il pannello non esegue niente del
checkout: niente hook di git, niente composer.
Spegni la shell
Spegni Consenti la shell alle chiavi “shell” e conferma. Le sessioni aperte terminano subito. Le chiavi mantengono il loro tipo e tornano ad aprire una shell quando la riaccendi. Anche Disattiva nell'accesso SFTP chiude le shell aperte.
Prossimo passo
Decidi chi può fare cosa nel pannello: utenti e ruoli.