Dimensione: 22596
Commento:
|
Dimensione: 23704
Commento: Quarto intervento
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 8: | Linea 8: |
<<Indice(depth=2)>> | <<Indice>> |
Linea 15: | Linea 15: |
La sua funzionalità principale consiste nella gestione di progetti. E' possibile gestire le persone coinvolte, creare requisiti, issue per l'avanzamento del progetto, definire delle milestone, associare documentazione e wiki al progetto e via dicendo. Permette anche la gestione delle risorse, mediante strumenti dedicati come il [[Ufficio/GanttProject|Gantt]] ed un calendario. | La sua funzionalità principale consiste nella gestione di progetti. è possibile gestire le persone coinvolte, creare requisiti, issue per l'avanzamento del progetto, definire delle milestone, associare documentazione e wiki al progetto e via dicendo. Permette anche la gestione delle risorse, mediante strumenti dedicati come il [[Ufficio/GanttProject|Gantt]] ed un calendario. |
Linea 21: | Linea 21: |
'''Redmine''' è un'applicazione web basata su [[Programmazione/RubyOnRails|Ruby on Rails]]. Occorre quindi installare il corrispettivo ambiente. Inoltre si appoggia a dei database. E' possibile utilizzare diversi database mediante appositi driver, ma in questa fase di installazione ci limiteremo ad utilizzare i driver per [[Server/MySql|MySQL]]. | '''Redmine''' è un'applicazione web basata su [[Programmazione/RubyOnRails|Ruby on Rails]]. Occorre quindi installare il corrispettivo ambiente. Inoltre si appoggia a dei database. È possibile utilizzare diversi database mediante appositi driver, ma in questa fase di installazione ci limiteremo ad utilizzare i driver per [[Server/MySql|MySQL]]. |
Linea 27: | Linea 27: |
0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://redmine redmine-mysql, git libfftw3-dev, libfftw3-bin, fonts-noto, fonts-freefont-ttf, fonts-texgyre, ghostscript-x cups-common, libjs-jquery-ui-docs, liblcms2-utils, libmagickcore-6.q16-6-extra, poppler-utils, ruby-fcgi, darcs|redmine redmine-mysql, git libfftw3-dev, libfftw3-bin, fonts-noto, fonts-freefont-ttf, fonts-texgyre, ghostscript-x cups-common, libjs-jquery-ui-docs, liblcms2-utils, libmagickcore-6.q16-6-extra, poppler-utils, ruby-fcgi, darcs]]. | 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] i pacchetti [[apt://redmine redmine-mysql, git libfftw3-dev, libfftw3-bin, fonts-noto, fonts-freefont-ttf, fonts-texgyre, ghostscript-x cups-common, libjs-jquery-ui-docs, liblcms2-utils, libmagickcore-6.q16-6-extra, poppler-utils, ruby-fcgi, darcs|medmine redmine-mysql, git libfftw3-dev, libfftw3-bin, fonts-noto, fonts-freefont-ttf, fonts-texgyre, ghostscript-x cups-common, libjs-jquery-ui-docs, liblcms2-utils, libmagickcore-6.q16-6-extra, poppler-utils, ruby-fcgi, darcs]]. |
Linea 36: | Linea 36: |
Al termine, in caso d'esito positivo procedere a configurare il [[Server/Apache| server web Apache]].<<BR>> In caso di esito negativo occorre analizzare i log di '''Apache''' in modo tale da trovare l'errore ed eventualmente risolverlo. |
Al termine, in caso d'esito positivo, procedere a configurare il [[Server/Apache| server web Apache]].<<BR>> In caso di esito negativo occorre analizzare i log di '''Apache''', in modo tale da trovare l'errore ed eventualmente risolverlo. |
Linea 62: | Linea 62: |
0. [[AmministrazioneSistema/ComandiBase#touch|Creare]] un file vuoto di nome '''Gemfile.lock''' :{{{ | 0. [[AmministrazioneSistema/ComandiBase#touch|Creare]] e coi [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] un file vuoto di nome '''Gemfile.lock''' :{{{ |
Linea 65: | Linea 65: |
0. [[AmministrazioneSistema/PermessiFile|Assegnare]] l'utente '''www-data''' al file appena creato, in maniera tale da poterlo fare gestire a '''Redmine'''{{{ | 0. [[AmministrazioneSistema/PermessiFile|Assegnare]] l'utente '''www-date''' al file appena creato, in maniera tale da poterlo fare gestire a '''Redmine'''{{{ |
Linea 80: | Linea 80: |
Per importare i dati di Redmine occorre importare due (o tre ?) tipologie di dati: | Per importare i dati di '''Redmine''' occorre importare due (o tre ?) tipologie di dati: |
Linea 98: | Linea 98: |
Quando s'esegue il backup rimembrare d'abilitare l'opzione '''create schema''' nel caso si utilizzi il server [[Server/MySqlWorkbench|mysqlworkbench]], poiché il database di ripristino e' vuoto e quindi si devono creare le tabelle. | Quando s'esegue il backup rimembrare d'abilitare l'opzione '''create scheme''' nel caso si utilizzi il server [[Server/MySqlWorkbench|mysqlworkbench]], poiché il database di ripristino è vuoto e quindi si devono creare le tabelle. |
Linea 121: | Linea 121: |
Il database adesso e' importato (migrato ? come verifica la corretta importazione (migrazione) ?). | Il database adesso è importato (migrato ? come verifica la corretta importazione (migrazione) ?). |
Linea 173: | Linea 173: |
Adesso occorre configurare '''Redmine''' per integrarsi con [[ |Git]]. Questo serve se un progetto viene sviluppato attraverso '''Git''' e si vuole sincronizzare il progetto con il suo repository. | Adesso occorre configurare '''Redmine''' per integrarsi con [[ https://it.wikipedia.org/wiki/Git_(software)|Git]]. Questo serve se un progetto viene sviluppato attraverso '''Git''' e si vuole sincronizzare il progetto con il suo repository. |
Linea 180: | Linea 182: |
Adesso occorre impostare la chiave (di che tipo ? scaricata da dove e quando ?), copiando sul server la chiave di redmine associata ai repository git, e installandola. | Adesso occorre impostare la chiave (di che tipo ? scaricata da dove e quando ?), copiando sul server la chiave di '''Redmine''' associata ai repository '''Git''', e installandola. |
Linea 202: | Linea 204: |
Il repository adesso dovrebbe essere clonato. Adesso bisogna andare nella pagina del progetto (quale pagina ?) e impostare il repository git (come ?). | Il repository adesso dovrebbe essere clonato. Adesso bisogna andare nella pagina del progetto (quale pagina ?) e impostare il repository '''Git''' (come ?). |
Linea 208: | Linea 210: |
Vediamo adesso come risolvere alcuni problemi che possono capitare durante l'utilizzo di Redmine. | Vediamo adesso come risolvere alcuni problemi che possono capitare durante l'utilizzo di '''Redmine'''. |
Linea 213: | Linea 215: |
Nel rilascio '''Focal 20.04''' di '''Ubuntu''' possono capitare incompatibilità col server smtp che usano una vecchia versione di ssl, ad esempio i server Aruba. Questo e' dovuto ad una configurazione del server '''Ubuntu''', che occorre modificare. |
Col rilascio '''Focal 20.04''' di '''Ubuntu''' possono capitare incompatibilità col server '''Smtp''' che usano una vecchia versione di '''ssl''', ad esempio i server '''Aruba'''. Questo è dovuto alla configurazione del server '''Ubuntu''', che occorre modificare. |
Linea 242: | Linea 244: |
In presenza di errori dovrebbe essere mostrata una schermata del tipo: {{{ |
In presenza di errori dovrebbe essere mostrata una schermata del tipo:{{{ |
Linea 261: | Linea 259: |
lib/redmine/sudo_mode.rb:63:in `sudo_mode' | lib/redmine/sudo_mode.rb:63:in `sudo_modè |
Linea 265: | Linea 263: |
0. Sostituire alla riga 279 la stringa:{{{ | 0. Sostituire alla riga 279 la stringa: {{{ |
Linea 269: | Linea 268: |
{{{ | {{{ |
Linea 278: | Linea 277: |
0. Modificare il crontab di '''www-data''':{{{ | 0. Modificare il crontab di '''www-date''':{{{ |
Linea 295: | Linea 294: |
0. Sostituire alla riga 59 la stringa:{{{ | 0. Sostituire alla riga 59 la stringa: {{{ |
Linea 299: | Linea 299: |
{{{ | {{{ |
Linea 310: | Linea 310: |
0. Per ulteriori informazioni di log [[AmministrazioneSistema_ComandiBase#cat_e_less|leggere]] il file del webserver `/var/log/apache2/error.log`. | 0. Per ulteriori informazioni log [[AmministrazioneSistema_ComandiBase#cat_e_less|leggere]] il file del webserver `/var/log/apache2/error.log`. |
Linea 314: | Linea 314: |
Quando si esporta un elenco di issue in formato CSV, non e' possibile personalizzare il tipo di separatore, perlomeno non dall'interfaccia grafica, in quanto e' collegato al locale utilizzato da Redmine. Nel caso in cui ci sia la necessita' di modificare il separatore, occorre andare a configurare manualmente il file corrispettivo al locale utilizzato. Andare prima di tutto nella pagina di amministrazione di Redmine '''Administration->Settings->Display''' per prendere nota della lingua utilizzata. Occorre quindi modificare il file '''/usr/local/redmine/config/locales/XXX.yml''', dove '''XXX''' e' il locale utilizzato dal programma. In questo file occorre modificare la voce '''general_csv_separator''' settando quindi il separatore che si vuole utilizzare. |
Quando si esporta un elenco di issue in formato '''CSV''', non è possibile personalizzare il tipo di separatore, perlomeno non dall'interfaccia grafica, in quanto è collegato al locale usato da '''Redmine'''. Nel caso in cui ci sia la necessità di modificare il separatore (sarebbe il separatore ?), occorre configurare manualmente il file corrispondente al locale utilizzato. Andare prima di tutto nella pagina di amministrazione di '''Redmine''' '''Administration->Settings->Display''' per prendere nota della lingua utilizzata. (questo passaggio non l'ho capito). 0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/usr/local/redmine/config/locales/XXX.yml`, dove `XXX` è la sigla del locale utilizzato dal programma. 0. Modificare la voce '''general_csv_separator''' impostando il separatore (sarebbe il separatore ?) da usare. |
Linea 325: | Linea 325: |
Quando si importa un CSV in redmine puo' comparire un errore. Il log mostra qualcosa come: {{{ |
Quando si importa un CSV in '''Redmine''' può comparire un errore. Il file `[[#log|log]]` mostrerà una schermata del tipo:{{{ |
Linea 344: | Linea 344: |
app/controllers/imports_controller.rb:35:in `create' lib/redmine/sudo_mode.rb:63:in `sudo_mode' }}} Possiamo vedere che non ci sono permessi in '''/usr/share/redmine/tmp'''. Occorre quindi creare la cartella, nel caso non esistesse, e dare i permessi all'utente '''www-data''': {{{ |
app/controllers/imports_controller.rb:35:in `creatè lib/redmine/sudo_mode.rb:63:in `sudo_modè }}} Possiamo leggere che non ci sono i permessi in `/usr/share/redmine/tmp`. 0. [[AmministrazioneSistema/ComandiBase#mkdir|Creare]] coi [[AmministrazioneSistema/Sudo|privilegi di amministrazione]] la cartella, nel caso non esista, `/usr/share/redmine/tmp`. 0. [[AmministrazioneSistema/PermessiFile|Assegnare i permessi]] i permessi alla cartella creata:{{{ |
Linea 358: | Linea 357: |
E' possibile fare in modo di mandare email al redmine per poter per esempio aprire nuove segnalazioni o rispondere a quelli già aperti senza la necessità di entrare dal Browser, l'unico requisito è che la mail del mittente sia associata ad un utente già registrato. La parte di acquisizione delle mail da parte del redmine, è gestita dal file '''/redmine/extra/mail_handler/rdm-mailhandler.rb''' che deve avere permessi di esecuzione. {{{ sudo chmod +x /opt/redmine/extra/mail_handler/rdm-mailhandler.rb }}} Per poter attivare la funzione di ricezione è necessaria una '''Chiave API''' generata dal redmine stesso, attivando la voce. |
È possibile mandare '''mail''' al '''Redmine''', ad esempio per aprire nuove segnalazioni o rispondere a quelle già aperte, senza la necessità d'avviare il Browser. L'unico prerequisito è che la '''mail''' del mittente sia associata ad un utente già registrato nel file `/redmine/extra/mail_handler/rdm-mailhandler.rb`., che dev'essere reso eseguibile. 0. [[AmministrazioneSistema/PermessiFile|Assegnare i permessi]] d'esecuzione al file `/redmine/extra/mail_handler/rdm-mailhandler.rb`. (questo passaggio è da interfaccia grafica ?) Per poter attivare la funzione di ricezione è necessaria una '''Chiave API''' generata dal redmine stesso, attivando la voce (quale ?). |
Linea 372: | Linea 370: |
Per funzionare correttametne è necessario che sul server sia presente un utente specifico dotato di mailbox interna, va quindi creato e i permessi cambiati. {{{ |
Per funzionare correttamente è necessario che sul server sia presente un utente specifico dotato di mailbox interna. 0. Creare l'utente della '''mailbox''' (dove ?):{{{ |
Linea 376: | Linea 374: |
}}} 0. Modificare l'account e assegnare i permessi dell'utente:{{{ |
|
Linea 379: | Linea 379: |
Configurare Passenger modifificando il file di configurazione '''/etc/apache2/mods-available/passenger.conf''' {{{ |
0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/apache2/mods-available/passenger.conf`. 0. Modificare la sezione:{{{ |
Linea 389: | Linea 387: |
}}} Ora bisogna installare postfix e configurarlo. {{{ sudo apt install postfix }}} Nel file di configurazione dei virtualhost va indicato l'indirizzo email del server e l'utente interno a cui deve essere mandato, per fare ciò aggiungere una rigua come segue al file '''/etc/virtual''' {{{ |
}}} (modificare in cosa ?) 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://postfix|postfix]] 0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/virtual` per impostare il server e l'utente ricevente. 0. Copiare alla fine del file (corretto ?) la stringa:{{{ |
Linea 402: | Linea 394: |
Ora va configurato il file '''/etc/aliases''' aggiungendo una riga dove viene indicato cosa deve fare postfix quando arriva una mail, in questa riga va indicato la '''Chiave API''' generato in precedenza: {{{ |
0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] il file `/etc/aliases`. 0. Per impostare cosa deve fare postfix quando arriva una mail, cercare questa linea e riportare la '''Chiave API''' generata in precedenza:{{{ |
Linea 407: | Linea 397: |
}}} * NOTA: le categorie sono quelle configurate nel tracker delle segnalazioni del redmine (es: --allow-override project,tracker,priority,custom_field) Infine va avvisato il servizio di postfix che sono state fatte modifiche. {{{ |
}}}{{{#!wiki note Le categorie sono quelle configurate nel tracker delle segnalazioni del redmine (es: --allow-override project,tracker,priority,custom_field). }}} 0. Aggiornare '''Postfix''' alle modifiche fatte:{{{ |
Linea 420: | Linea 406: |
In alcuni casi (problemi o altro), può essere di aiuto pulire la cache. {{{ cd /redmine |
In caso di problemi o altro, può essere di aiuto pulire la cache. 0. [[AmministrazioneSistema/ComandiBase#cd|Spostarsi]] nella cartella `/redmine`. (percorso corretto ?). 0. Eseguire la pulizia col comando:{{{ |
Linea 427: | Linea 413: |
Linea 430: | Linea 415: |
Il redmine dispondi di una buona scelta di plugin aggiuntivi gratuiti e a pagamento, li si possono trovare qui: |
Il '''Redmine''' dispone di molti plugin aggiuntivi gratuiti e a pagamento, possono essere trovati qui:{{{ |
Linea 433: | Linea 417: |
Per l'installazione degli stessi fare riferimento alla documentazione del plugin stesso. Alcuni buoni plugin sono: |
}}} Per l'installazione e l'uso dei medesimi fare riferimento alla documentazione allegata. Alcuni utili plugin sono: |
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Redmine è un applicativo per il project management.
La sua funzionalità principale consiste nella gestione di progetti. è possibile gestire le persone coinvolte, creare requisiti, issue per l'avanzamento del progetto, definire delle milestone, associare documentazione e wiki al progetto e via dicendo. Permette anche la gestione delle risorse, mediante strumenti dedicati come il Gantt ed un calendario.
Redmine inoltre è estensibile nelle funzionalità dato che supporta un'architettura a plugin reperibili in rete.
Installazione
Redmine è un'applicazione web basata su Ruby on Rails. Occorre quindi installare il corrispettivo ambiente. Inoltre si appoggia a dei database. È possibile utilizzare diversi database mediante appositi driver, ma in questa fase di installazione ci limiteremo ad utilizzare i driver per MySQL.
I pacchetti necessari vanno installati secondo una precisa sequenza, seguendo i seguenti passaggi:
Installare i pacchetti apache2, libapache2-mod-passenger.
Installare i pacchetti mysql-server, mysql-client, se si desidera usare il database in locale.
Installare i pacchetti medmine redmine-mysql, git libfftw3-dev, libfftw3-bin, fonts-noto, fonts-freefont-ttf, fonts-texgyre, ghostscript-x cups-common, libjs-jquery-ui-docs, liblcms2-utils, libmagickcore-6.q16-6-extra, poppler-utils, ruby-fcgi, darcs.
All'apparire della domanda Configure database for redmine/instances/default with dbconfig-common selezionare Yes.
- Impostare una password.
Installare i pacchetti ruby-dev, libssl-dev, libmagickwand-dev, libmysqlclient-dev, build-essential.
Aggiornare l'ambiente di Ruby, utilizzando il comando gem:
sudo gem update sudo gem install bundler
Al termine, in caso d'esito positivo, procedere a configurare il server web Apache.
In caso di esito negativo occorre analizzare i log di Apache, in modo tale da trovare l'errore ed eventualmente risolverlo.
Configurare Apache
Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/apache2/mods-available/passenger.conf.
Inserire come prima opzione della sezione (quale sezione ?) la seguente riga:
PassengerDefaultUser www-data
Creare un collegamento simbolico nello spazio dei servizi web:
sudo ln -s /usr/share/redmine/public /var/www/html/redmine
Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/apache2/sites-available/000-default.conf.
Copiare alla fine del file la seguente sezione necessaria per usare e configurare Redmine:
<cartella /var/www/html/redmine> RailsBaseURI /redmine PassengerResolveSymlinksInDocumentRoot on </cartella>
Sostituire /redmine con / se di desidera che l'applicazione Redmine compaia nella document root, ovvero se si vuole che compaia quando nella barra degli indirizzi del browser si digita l'indirizzo del server; altrimenti in mancanza della sostituzione l'indirizzo sarà serveraddress/redmine.
Impostare sempre nello stesso file il parametro DocumentRoot affinché punti all'applicativo Redmine:
... DocumentRoot /var/www/html/redmine ...
Creare e coi privilegi di amministrazione un file vuoto di nome Gemfile.lock :
sudo touch /usr/share/redmine/Gemfile.lock
Assegnare l'utente www-date al file appena creato, in maniera tale da poterlo fare gestire a Redmine
sudo chown www-data:www-data /usr/share/redmine/Gemfile.lock
Riavviare il server web Apache
sudo service apache2 restart
Se tutti i passaggi sono stati eseguiti correttamente, puntando all'indirizzo IP si dovrebbe vedere la pagina principale di Redmine.
Migrazione
Può capitare che occorra importare dei dati da una versione precedente di Redmine. In questo caso occorre seguire i seguenti passaggi del paragrafo.
Nel caso in cui invece l'installazione sia nuova e non occorra importare nulla, potete saltare questi passaggi.
Per importare i dati di Redmine occorre importare due (o tre ?) tipologie di dati:
- Database
- Files
- Plugins
Importazione dei database
Creare il database tramite il server mysql o mysqlworkbench.
Creare un utente dedicato per questo database, per evitare d'operare come superutente che può fare danni.
Assegnare i permessi all'utente creato per gestire il database.
Quando si crea lo schema impostare il charset in utf8 e la collation in utf8_bin (in un file, una variabile ?).
Importare il database esistente in quello creato:
(quale comando o procedura ?)
Creare il backup del database preesistente di Redmine:
(con quale procedura o comando ? E non sarebbe meglio __prima__ backuppare e __poi__ importare in quello nuovo col passaggio precedente ?)
Quando s'esegue il backup rimembrare d'abilitare l'opzione create scheme nel caso si utilizzi il server mysqlworkbench, poiché il database di ripristino è vuoto e quindi si devono creare le tabelle.
Una volta esportato si può importare. (cioè ?)
A questo punto dovremmo avere il nuovo database che può essere modificato a piacimento.
Non toccare mai il database di una versione in produzione.
Adesso occorre impostare Redmine a puntare al database creato per aggiornarlo.
Aprire con i privilegi di amministrazione e con un editor di testo il file /usr/share/redmine/config/database.yml.
- Modificare i parametri di connessione con quelli del database che si vuole utilizzare. (esempio di parametri ?).
Riavviare il servizio per poter caricare il nuovo database:
sudo service apache2 (il nome è corretto ?) restart
Spostarsi nella cartella /usr/share/redmine per importare (migrare ?) il database.
Eseguire l'importazione digitando il seguente comando:
sudo bundle exec rake db:migrate RAILS_ENV=production
Il database adesso è importato (migrato ? come verifica la corretta importazione (migrazione) ?).
Importazione dei file
Adesso occorre importare i file dal database preesistente a quello creato.
La locazione predefinita ove sono salvati i file è /var/lib/redmine/default/files/.
È possibile caricare un file, ad esempio chiamato FINDME.txt, dall'interfaccia di Redmine, per successivamente cercarlo sul server, in modo di essere sicuri di trovare la cartella corretta. Quando lo cercate rimembrate che Redmine antepone un prefisso al salvataggio d'un file nel suo server, quindi dovete cercare *FINDME.txt.
Copiare i file dal database preesistente a quello creato, coi seguenti comandi:
sudo scp -r rmadmin@192.168.100.225:/data/redmine/redmine/files/* /var/lib/redmine/default/files sudo chown -R www-data:www-data /var/lib/redmine/default/files
Sistemare il percorso del database preesistente in quello creato nel caso fosse necessario. Adesso i file sono aggiornati. (come verificare l'avvenuto aggiornamento ?)
Configurazione posta
Adesso occorre configurare Redmine per inviare la posta.
Spostarsi nella cartella /usr/share/redmine/config.
Copiare coi privilegi di amministrazione il file configuration.yml.example in configuration.yml.
Aprire con i privilegi di amministrazione e con un editor di testo il file configuration.yml.
Cercare la sezione email_delivery e inserire i dati dell'account di posta che si vuole utilizzare, ad esempio nel caso di un account SMTP:
email_delivery: delivery_method: :smtp smtp_settings: ssl: true enable_starttls_auto: true address: "smtps.ubuntu.it" port: 465 authentication: :login domain: "dominio-mail.it" user_name: "ubuntu@dominio-mail.it" password: "12345678?"
Sostituire i parametri d'esempio con quelli reali del proprio account di posta elettronica.
Copiare coi privilegi di amministrazione il file configuration.yml nella cartella /etc/redmine/default.
Riavviare il server web Apache
sudo service apache2 restart
In questo modo la posta elettronica è abilitata.
In caso di problemi consultare questa sezione. (come verificare la congruità delle impostazioni ?)
Git
Adesso occorre configurare Redmine per integrarsi con Git.
Questo serve se un progetto viene sviluppato attraverso Git e si vuole sincronizzare il progetto con il suo repository.
Creare con i privilegi di amministrazione la cartella /var/lib/redmine/gitrepositories.
Assegnare i permessi alla cartella creata:
sudo chown -r www-data:www-data /var/lib/redmine/gitrepositories
Adesso occorre impostare la chiave (di che tipo ? scaricata da dove e quando ?), copiando sul server la chiave di Redmine associata ai repository Git, e installandola.
Spostarsi nella cartella /var/www.
Creare coi privilegi di amministrazione la cartella .ssh.
Copiare coi privilegi di amministrazione la chiave redminesshkey nella cartella .ssh.
Assegnare i permessi alla cartelle genitore e figlie create:
sudo chown -R www-data:www-data .ssh sudo chmod 0700 .ssh sudo chmod 0600 .ssh/id_rsa
Clonazione del repository
sudo -su www-data (per quel che ne so la sinossi dovrebbe essere [sudo -su <nomeutente> <comando>], puoi chiarire ?)
Spostarsi nella cartella /var/lib/redmine/gitrepositories.
Scaricare il repository:
git clone --mirror git@192.168.1.2:cgf.git
Il repository adesso dovrebbe essere clonato. Adesso bisogna andare nella pagina del progetto (quale pagina ?) e impostare il repository Git (come ?).
In caso di problemi consultare questa sezione. (come verificare la congruità delle impostazioni ?)
Risoluzione problemi
Vediamo adesso come risolvere alcuni problemi che possono capitare durante l'utilizzo di Redmine.
Impostazioni posta elettronica in Ubuntu 20.04
Col rilascio Focal 20.04 di Ubuntu possono capitare incompatibilità col server Smtp che usano una vecchia versione di ssl, ad esempio i server Aruba.
Questo è dovuto alla configurazione del server Ubuntu, che occorre modificare.
Se si dovesse verificare occorre modificare le impostazioni ssl del server Ubuntu.
Aprire con i privilegi di amministrazione e con un editor di testo /etc/ssl/openssl.cnf e aggiungere all'inizio del file la stringa:
openssl_conf = default_conf
Nello stesso file alla fine del file aggiungere la sezione:
[ default_conf ] ssl_conf = ssl_sect [ ssl_sect ] system_default = ssl_default_sect [ ssl_default_sect ] MinProtocol = TLSv1 CipherString = DEFAULT:@SECLEVEL=1
Riavviare il server web Apache
sudo service apache2 restart
(procedura corretta ?)
Problema clonazione repository
In presenza di errori dovrebbe essere mostrata una schermata del tipo:
Started GET "/projects/cgf_login/repository" for 172.16.10.108 at 2020-06-24 14:20:36 +0000 Processing by RepositoriesController#show as HTML Parameters: {"id"=>"cgf_login"} Current user: NomeUtente(id=4) Completed 500 Internal Server Error in 35ms (ActiveRecord: 6.6ms) FrozenError (can't modify frozen String: ""): lib/redmine/scm/adapters/abstract_adapter.rb:279:in `force_encoding' lib/redmine/scm/adapters/abstract_adapter.rb:279:in `scm_iconv' lib/redmine/scm/adapters/git_adapter.rb:136:in `entries' app/models/repository/git.rb:98:in `scm_entries' app/models/repository.rb:204:in `entries' app/controllers/repositories_controller.rb:86:in `show' lib/redmine/sudo_mode.rb:63:in `sudo_modè
Aprire con i privilegi di amministrazione e con un editor di testo il file /usr/share/redmine/lib/redmine/scm/adapters/abstract_adapter.rb.
- Sostituire alla riga 279 la stringa:
str.force_encoding(from)
- colla stringa:
str.dup.force_encoding(from)
Riavviare il server web Apache
sudo service apache2 restart
(corretta la procedura ?)
Una volta funzionante, occorre creare un cronjob (come ?) per poter automatizzare il fetch (come ?) del repository per averlo sempre aggiornato.
Modificare il crontab di www-date:
sudo crontab -e -u www-data */5 * * * * cd /var/lib/redmine/gitrepositories/cgf && git remote update --prune
In presenza di malfunzionamenti analizzare pure i log.
Deve essere creata una riga per ogni repository.
Problema export
Modificare il file /usr/share/redmine/lib/redmine/codeset_util.rb in presenza d'un errore di export.
Aprire con i privilegi di amministrazione e con un editor di testo il file /usr/share/redmine/lib/redmine/codeset_util.rb.
- Sostituire alla riga 59 la stringa:
str.force_encoding('UTF-8')
colla stringa:str = str.dup.force_encoding('UTF-8')
Riavviare il server web Apache
sudo service apache2 restart
(corretta la procedura ?)
Visualizzare log di Redmine
Per analizzare i log di Redmine leggere il file /usr/share/redmine/instances/default/log/production.log.
Per ulteriori informazioni log leggere il file del webserver /var/log/apache2/error.log.
Separatore CSV
Quando si esporta un elenco di issue in formato CSV, non è possibile personalizzare il tipo di separatore, perlomeno non dall'interfaccia grafica, in quanto è collegato al locale usato da Redmine.
Nel caso in cui ci sia la necessità di modificare il separatore (sarebbe il separatore ?), occorre configurare manualmente il file corrispondente al locale utilizzato.
Andare prima di tutto nella pagina di amministrazione di Redmine Administration->Settings->Display per prendere nota della lingua utilizzata. (questo passaggio non l'ho capito).
Aprire con i privilegi di amministrazione e con un editor di testo il file /usr/local/redmine/config/locales/XXX.yml, dove XXX è la sigla del locale utilizzato dal programma.
Modificare la voce general_csv_separator impostando il separatore (sarebbe il separatore ?) da usare.
Errore di upload CSV
Quando si importa un CSV in Redmine può comparire un errore.
Il file [[#log|log]] mostrerà una schermata del tipo:
Processing by ImportsController#new as HTML Current user: DanieleLupo (id=4) Rendering imports/new.html.erb within layouts/base Rendered issues/_sidebar.html.erb (4.2ms) Rendered imports/new.html.erb within layouts/base (6.0ms) Completed 200 OK in 82ms (Views: 65.0ms | ActiveRecord: 8.2ms) Started POST "/imports" for 172.16.10.198 at 2020-07-24 14:08:57 +0000 Processing by ImportsController#create as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"b52D75w/j8HmKiE1FzGlPSNq5yP3s3emDro/lXxOL7LzhTl1cYm5LtibrhjJDkPD9xezxbqoJJ2JRVskRHy8Rw==", "file"=>#<ActionDispatch::Http::UploadedFile:0x00007f7ad91e0b80 @tempfile=#<Tempfile:/tmp/RackMultipart20200724-1091606-54pfjd.csv>, @original_filename="issues.csv", @content_type="application/vnd.ms-excel", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"issues.csv\"\r\nContent-Type: application/vnd.ms-excel\r\n">} Current user: NomeUtente(id=4) Completed 500 Internal Server Error in 12ms (ActiveRecord: 3.7ms) Errno::EACCES (Permission denied @ dir_s_mkdir - /usr/share/redmine/tmp/imports): lib/redmine/utils.rb:49:in `save_upload' app/models/import.rb:47:in `file=' app/controllers/imports_controller.rb:35:in `creatè lib/redmine/sudo_mode.rb:63:in `sudo_modè
Possiamo leggere che non ci sono i permessi in /usr/share/redmine/tmp.
Creare coi privilegi di amministrazione la cartella, nel caso non esista, /usr/share/redmine/tmp.
Assegnare i permessi i permessi alla cartella creata:
sudo chown -R www-data:www-data /usr/share/redmine/tmp
Ricezione e-mail
È possibile mandare mail al Redmine, ad esempio per aprire nuove segnalazioni o rispondere a quelle già aperte, senza la necessità d'avviare il Browser.
L'unico prerequisito è che la mail del mittente sia associata ad un utente già registrato nel file /redmine/extra/mail_handler/rdm-mailhandler.rb., che dev'essere reso eseguibile.
Assegnare i permessi d'esecuzione al file /redmine/extra/mail_handler/rdm-mailhandler.rb.
(questo passaggio è da interfaccia grafica ?) Per poter attivare la funzione di ricezione è necessaria una Chiave API generata dal redmine stesso, attivando la voce (quale ?).
Andare in: Amministrazione > Impostazioni > Email in arrivo...
- Attivare il flag su: Abilita WS per le email in arrivo
- Premere: Genera una chiave
Per funzionare correttamente è necessario che sul server sia presente un utente specifico dotato di mailbox interna.
Creare l'utente della mailbox (dove ?):
sudo useradd -r -m -d /redmine/ -c 'Redmine user' -s /bin/bash redmine
Modificare l'account e assegnare i permessi dell'utente:
sudo usermod -g www-data redmine sudo chown -R redmine:www-data /redmine/
Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/apache2/mods-available/passenger.conf.
Modificare la sezione:
PassengerRoot /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini PassengerDefaultRuby /usr/bin/ruby PassengerUserSwitching on PassengerUser redmine PassengerGroup www-data
(modificare in cosa ?)Installare il pacchetto postfix
Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/virtual per impostare il server e l'utente ricevente.
Copiare alla fine del file (corretto ?) la stringa:
indirizzo@dominio2.dominio1 redmine
Aprire con i privilegi di amministrazione e con un editor di testo il file /etc/aliases.
Per impostare cosa deve fare postfix quando arriva una mail, cercare questa linea e riportare la Chiave API generata in precedenza:
redmine: "|/usr/bin/ruby /redmine/extra/mail_handler/rdm-mailhandler.rb --url http://indirizzo.sito-redmine.it --key <mettere_chiave_api> --no-check-certificate --allow-override <mettere_categorie_da_gestire>
Le categorie sono quelle configurate nel tracker delle segnalazioni del redmine (es: --allow-override project,tracker,priority,custom_field).
Aggiornare Postfix alle modifiche fatte:
sudo newaliases
Pulire la cache
In caso di problemi o altro, può essere di aiuto pulire la cache.
Spostarsi nella cartella /redmine. (percorso corretto ?).
Eseguire la pulizia col comando:
bundle exec rake tmp:cache:clear tmp:sessions:clear RAILS_ENV=production
Plugins
Il Redmine dispone di molti plugin aggiuntivi gratuiti e a pagamento, possono essere trovati qui:
https://www.redmine.org/plugins
Per l'installazione e l'uso dei medesimi fare riferimento alla documentazione allegata.
Alcuni utili plugin sono:
- Mega Calendar plugin: Mostra un bel calendario con tutte le issue inserite nel sistema con la possibilità di applicare filtri di visualizzazione
- Redmine Base Deface plugin: Pre-requisito del plugin che comunica la maintenance del sistema
- Redmine Maintenance Mode: Mostra un avviso evidente che segnala la schedulazione della manutenzione e la attiva/disattiva quando prestabilito
- Image Clipboard Paste: Permette di allegare un immagine quando viene premuto CTRL+V
- Redmine Mentions: Permette di inviare mail agli utenti menzionati con @username nelle segnalazioni