Il deploy di un sito web o un’applicazione web con capistrano su uno spazio di hosting gestito tramite ispconfig non è affatto immediato; ciò dipende dall’architettura, o meglio dalla struttura delle directory del virtual host, prevista da ispconfig.
L’alberatura delle directory di un virtual host di ispconfig è di questo tipo
- cgi-bin - log - private - ssl - tmp - web - webdav
La directory di nostro interesse in questo momento è web, in quanto quella che contiene tutto il codice del nostro sito web o applicazione.
Capistrano prevede invece una struttura diversa, di questo tipo
- current - releases -- 20200108143420 -- 20200109104523 -- 20200109133325
Il codice della nostra applicazione risiede nelle directory contenute in releases e current.
In current troviamo la versione on-line della nostra applicazione; quesato in realtà è un link simbolico alla directory vera e propria, che nell’albertaura mostrata sopra è releases/0200109133325
Risulta evidente la differenza.
Con queste diversa gestione delle directory, con capistrano il deploy su ispconfig non è fattibile.
Premesso che non è possibile rinominare o sostituire la directory web di ispconfig, possiamo integrare i due sistemi in questo modo:
La configurazione è così completa.
E’ importante che l’utente con cui capistrano si collega alla macchina abbia i permessi per
Come sappiamo ISPconfig crea un utente per ogni virtual host, il cui nome è composto da web e dal numero del vh stesso, ad esempio web100.
Affinchè capistrano possa fare il deploy e le directory del progetto vengano assegnate all’utente ispconfig corretto, nel nostro esempio web100, dobbiamo
Questo un esempio di configurazione di capistrano
server "xxx.xxx.xxx.xxx", :app, :web, :db, :primary => true
set :deploy_to, "/ispconfig_user_home/deploy/"
set :branch, 'master'
set :ssh_options, {user: 'ispconfig_user', forward_agent: true}
set :user, "ispconfig_user"
set :use_sudo, false
set :keep_releases, 5
dove
Fatto ciò dobbiamo fare un’ultima cosa, autorizzare l’utente ispconfig web100 all’accesso al repository git. Per fare ciò dobbiamo
Buon deploy!
Il progetto che prevedeva uno script bash per il monitoraggio, tramite crontab, delle risorse di…
Portare un progetto editoriale sullo smartphone non significa necessariamente riscriverlo da zero. Con RicetteUmbre abbiamo…
Reading Time: 2 minutesMonitorare le risorse di un server o computer linux in modo semplice…
Reading Time: < 1 minuteEsclusione di una serie di prodotti selezionati tramite l'apposito menù e…
Reading Time: < 1 minuteNel video che vedete di seguito, a titolo di esempio, ho…
Reading Time: 2 minutesVediamo come è possibile fare il restart di php-fpm con capistrano dopo…