Problemi comuni di installazione e aggiornamento di Redmine
Dal momento che sia Redmine e Easy Redmine sono Open Source e sono più o meno indipendenti dalla piattaforma, Un po 'di installazione e aggiornamento problemi possono verificarsi a causa di varie configurazioni di server, versioni software o plugin installati. Lavoriamo duramente per tenere traccia di quelli più comuni, al fine di aiutare la risoluzione dei problemi.
Qui ci sono alcuni suggerimenti che cosa si può fare se si esegue in errore 500.
- eseguire il Controllare i requisiti del server e cercare di riparare le convalide fallite
- back-up del tuo database
- scaricare l'ultimo pacchetto dall'Area Cliente
- verificare che il webserver abbia accesso completo public, file, log, tmp e cartelle
- eseguire il pacchetto di installazione, senza il test di sviluppo
- eseguire il bundle exec rake easyproject:install RAILS_ENV=production
- application server restart
- eliminare eventuali plugin Redmine di terze parti (anche dal database)
- scrivici a support@easyredmine.com e allega log / production.log
Ci sono molte possibili cause di questo errore. Ecco alcuni suggerimenti:
- problema della cache del browser - prova a cancellarla
- problema di DNS
- problema di impostazione del server
Per prima cosa controlla la connessione e la rete (verifica che il server sia raggiungibile utilizzando un comando ping o traceroute). Lato server firewall.
Se tutto quanto sopra sembra a posto, prova a ottenere alcune informazioni da nginx error.logs. Controlla nginx error.log sul lato server - /var/log/nginx/error.log
Verifica nuovamente che la tua configurazione nginx corrisponda allo standard indicato qui:
https://www.redmine.org/projects/redmine/wiki/HowTo_configure_Nginx_to_run_Redmine
Un esempio di configurazione nginx (come utilizzato da Easy Software). Molto simile a quello ufficiale, sono state ottimizzate solo alcune variabili:
user www-data;
worker_processes 8;
worker_rlimit_nofile 60000;
log_errore /var/log/nginx/error.log;
pid /var/run/nginx.pid;
eventi {
worker_connections 10240;
# multi_accept on;
}
http {
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # non utilizzare SSLv3 ref: POODLE
includere /etc/nginx/mime.types;
default_type application / octet-stream;
server_names_hash_bucket_size 2048;
access_log /var/log/nginx/access.log;
sendfile su;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
send_timeout 1800;
client_body_timeout 1800;
client_header_timeout 1800;
proxy_read_timeout 1800;
client_max_body_size 220m;
fastcgi_buffer_size 64K;
fastcgi_buffers 128 16k;
proxy_max_temp_file_size 0;
types_hash_max_size 4096;
types_hash_bucket_size 128;
proxy_busy_buffers_size 256k;
proxy_buffers 8 256k;
proxy_buffer_size 256k;
gzip su;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
includere /etc/nginx/conf.d/*.conf;
include / etc / nginx / sites-enabled / *;
include / etc / nginx / siti-auto / *;
}
Altre possibili cause dell'errore 502 possono essere...
Unicorn non in esecuzione, a causa di
- autorizzazioni insufficienti
- versione sbagliata di passeggeri
- versione errata di Ruby
- Gem mancanti
- filesystem rotto
Per scoprire l'esatto problema, è necessario controllare i log di errore in Unicorn o Apache + il log dell'applicazione da Easy Redmine (log/production.log)
timeout
Se bassa timeout è configurato, verrà visualizzato questo errore su:
- grandi esportazioni
- sovraccarico del server
- esecuzione dei task rake dalla GUI
Limite di connessioni MySQL
Assicurarsi di avere un numero sufficiente di connessioni consentite a MySQL. Essa dipende dal numero di utenti, ma si dovrebbe avere almeno un 100 permesso.
Questo errore si verifica dalla versione 2018 1.2 (piattaforma 04.00 e successiva)
Errore durante l'installazione dell'aggiornamento che contiene alcuni dei seguenti.
[!] Si è verificato un errore durante l'analisi di `Gemfile`:
[!] Si è verificato un errore durante l'analisi di `Gemfile`: impossibile caricare tale file -
# plugin 'rys-bundler', github: 'easysoftware / rys-bundler', branch: 'master'> Plugin.hook ('rys-gemfile', self)
Bundler non può continuare.
È causato dalla versione obsoleta del programma di installazione di Redmine.
Soluzione:
Prima di installare l'aggiornamento
$ gem install redmine-installer
Questo problema si verifica quando si utilizza un suffisso sul tuo URL Facile Redmine, ad esempio: https://company.com/easyredmine/
In questo caso, è necessario assicurarsi di avere il RAILS_RELATIVE_URL_ROOT variabile configurato a proprio suffisso corretto / easyredmine
BitNami:
- Crea un ulteriore file di configurazione config/additional_environment.rb
- config.action_controller.relative_url_root = "/ easyredmine"
- poi precompila gli asset (rake easyproject:install RAILS_ENV=production) e riavvia il server
Assicurarsi che wkhtmltopdf è installato e in esecuzione (wkhtmltopdf richiede il server X o un'altra emulazione)
Testalo usando: "wkhtmltopdf google.com google.pdf"
Aggiungi questo alla tua configurazione proxy:
proxy_set_header X-Forwarded-Proto https
Controllare la configurazione di cron. È molto importante che i compiti rake sono NON eseguito da root. Ciò causerà il fallimento a causa di autorizzazioni insufficienti.
Diciamo che stai eseguendo Easy Redmine come utente Easy. I comandi sono:
Visualizza cron attivi -u crontab facile -l
Editing -u crontab facile -e
Applica i cambiamenti sudo service cron reload
Esempio per l'esecuzione di cron ogni 5 minuti:
* / 5 * * * * /home/easy/scripts/easy_scheduler.sh &> / dev / null
#! / bin / bash -l
LOG_FILE = "/ home / facile / corrente / log / easy_scheduler_rake.log"
echo "$ (date '+% Y-% m-% d% H:% M:% S') avvia rake" >> $ {LOG_FILE}
cd / home / easy / current && bundle exec rake easyproject: scheduler: run_tasks RAILS_ENV = production >> $ {LOG_FILE}
echo "$ (date '+% Y-% m-% d% H:% M:% S') end rake" >> $ {LOG_FILE}
/home/easy/scripts/easy_scheduler.sh deve essere un eseguibile:
sudo chmod + x /home/easy/scripts/easy_scheduler.sh
Non esitare a fare ricerche in rete per un manuale che spieghi con maggiore precisione l'impostazione di cron sul tuo server. Non costituisce infatti una funzione richiesta solamente da Easy Redmine.
Quando si sta aggiornando Facile Redmine su piattaforma Windows e ha colpito il messaggio di errore ExecJs :: RuntimeError
Tutto quello che dovete fare è install NODEJS sul sistema per l'aggiornamento corretto.
Se l'installazione fallisce, eseguirla manualmente:
$ Aggiornamento fascio
$ rake db:migrate
$ Rake Redmine: plugins: migrate
Assicurarsi che il proprio webserver supporti la dimensione reale dell'indirizzo URL
Assicurati di essere NON stare utilizzando WEBrick webserver!
- assicurarsi di avere l'ultima versione del server web e Ruby
- riconfigurare le slow filter query in modo da mostrare meno campi
- resetta il tuo CRON in maniera tale che non si lanci tanto spesso
- fare riferimento a questo caso di studio - Rails si velocizza senza toccare il codice Ruby
- controllare la propria configurazione - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
Copia file cartella dal vecchio Redmine.
È possibile modificare la posizione predefinita dei file nel file di configurazione di Redmine, oppure si può utilizzare un collegamento simbolico. Archivi di rete in LAN o basati sul cloud per gli allegati sono sconsigliati a causa di problemi di affidabilità.
Configurazione:
./config/configuration.yml
# Percorso assoluto della directory in cui sono memorizzati gli allegati.
# Il valore predefinito è la directory 'files' nella propria istanza Redmine.
# Il vostro esempio EasyRedmine ha bisogno di essere di lettura / scrittura su questa directory.
# Esempi: attachments_storage_path: /var/www/redmine/files
Risoluzione dei problemi:
Se non è possibile aprire un allegato, vedere ./log/production.log per gli errori più comuni:
Non è possibile inviare allegati, /var/www/redmine/files/2015/08/150805095407_xxx.PNG non esiste o non è leggibile
ENOENT, Autorizzazione negata... eccetera.
Assicurati che il tuo server web abbia accesso completo public, file, log, tmp e cartelle
Nuovi commit nel repository non si riflettono in Easy Redmine meno che non siano recuperati dall'applicazione. È necessario impostare webhooks sul tuo repository client (GitHub, gitlab, TortoiseSVN, ...) con le informazioni relative all'istanza Facile Redmine.
- Vai su Amministrazione >> Impostazioni >> Repository
- Abilita WS per la gestione dei repository
- Genera una chiave API
- Risparmi
- Vai al tuo repository client
- Aggiungi un webhook
Diciamo che il tuo sito sia easyredmine.company.com
per git - https://easyredmine.company.com/sys/git_fetcher
o https://easyredmine.company.com/sys/git_fetcher?key=[Chiave API]
- In base all'impostazione del cliente, si può richiedere un singolo URL o la chiave in un campo diverso
per SVN - https://easyredmine.company.com/ sys / fetch_changesets
o https://easyredmine.company.com/sys/fetch_changesets?key=[Chiave API]
Dal punto 5, riguarda tutto il repository client e non le impostazioni di Easy Redmine. Costituisce qualcosa da verificare dopo una corretta installazione o aggiornamento da Redmine.
Quando si configura il dominio del tuo Facile Redmine, assicurarsi di utilizzare almeno il primo dominio di primo livello, per esempio http://myeasyredmine.com invece di un semplice http://myeasyredmine . Alcuni browser possono avere problemi nel raggiungerlo.
Vai su Amministrazione >> Impostazioni >> Notifiche e-mail
e verificare che l'indirizzo DA sia corretto.
Dovrebbe essere lo stesso (o almeno dallo stesso server SMTP) come nel file di configurazione. In caso contrario alcuni servizi di posta elettronica (gmail, yahoo, ecc.) Potrebbero rifiutare le notifiche.
Controllare la configurazione in base alle questo articolo nella Knowledge base.
Per verificare che la configurazione sia corretta, provare a verificare se è possibile connettersi al server di posta dal server Easy Redmine utilizzando telnet.
telnet your.domain.here port_number_here (Ad esempio: telnet gmail.com 465)
Ti mostrerà se davvero puoi connetterti al tuo server di posta o c'è un problema nella configurazione del tuo server di posta.
Quando si tenta di esportare un PDF che provoca un errore (o si comporta come se non succedesse nulla). Il registro di produzione elenca un errore simile a
Errno :: EPIPE (tubo rotto) or wkhtmltopdf: non può connettersi al server X
Causato da problemi con l'esportazione del componente wkhtmltopdf
Ecco le soluzioni proposte.
Server senza testa
Ottieni la versione necessaria di wkhtmltopdf da http://wkhtmltopdf.org/downloads.html
Esempio (devi lavorare con i dettagli del tuo ambiente):
- sudo apt-get install xvfb xauth
- wget https://bitbucket.org/wkhtmltopdf/wkhtmltopdf/downloads/wkhtmltox-0.13.0-alpha-7b36694_linux-jessie-amd64.deb
- sudo dpkg -i wkhtmltox-0.13.0-alpha-7b36694_linux-jessie-amd64.deb
- sudo apt-get -f install
- sudo mv / usr / local / bin / wkhtmltopdf / usr / local / bin / xwkhtmltopdf
- echo 'exec xvfb-run -a -s "-screen 0 640x480x16" xwkhtmltopdf "$ @"' | sudo tee / usr / local / bin / wkhtmltopdf> / dev / null
- sudo chmod a + x / usr / local / bin / wkhtmltopdf
Solo server senza testa
- Devi avere wkhtmltopdf installato sul server PERCORSO
(Apt-get install wkhtmltox, yum install wkhtmltox)
Deve essere installato in bundler, altrimenti potrebbe non funzionare dopo l'aggiornamento facile Redmine - Assicurarsi che il programma funziona correttamente (eseguito dalla console, per esempio wkhtmltopdf https://easyredmine.com homepage.pdf)
- ri-eseguire rake EasyProject: installare RAILS_ENV = produzione
- riavviare il server
È stato installato o aggiornato Facile Redmine sotto utente con autorizzazioni insufficienti, non seguendo il nostro forte raccomandazione in istruzioni (almeno una volta).
- Autorizzazioni corrette per i comandi chgrp ed chown in base alle impostazioni del server (ad es. chgrp -R www-data public_html)
- Eseguire nuovamente l'installazione del bundle exec rake easyproject:install RAILS_ENV=production che cancellerà la cache (se lo esegui dal root, non avrai successo)
- Riavviare il server
Se si utilizza la macchina virtuale fornito da Easy Software, eseguila con un utente Easy:
sudo chown -R facile / Home / facile / corrente
(su macchine più vecchie - sudo chown -R easy / srv / easyredmine / public_html)
sudo chgrp -R facile / Home / facile / corrente
(su macchine precedenti - sudo chgrp -R easy / srv / easyredmine / public_html)
cd / Home / facile / corrente
(nelle macchine più vecchie - cd / srv / easyredmine / public_html)
bundle exec rake easyproject:install RAILS_ENV=production
sudo service puma@tuo.nome.dominio riavvia
Ricordate di impostare le autorizzazioni per tutte le cartelle necessarie.
Durante l'aggiornamento dell'applicazione viene visualizzato un messaggio di errore contenente "Hai un errore nella sintassi SQL; controlla il manuale che corrisponde alla versione del tuo server MySQL per la sintassi corretta da usare vicino ... "appare nel registro.
Causare
Significa che il tuo database è obsoleto e non può funzionare con la richiesta che la nostra applicazione gli invia. Semplicemente non lo capisce.
Soluzione
Devi aggiornare il tuo database.
Come aggiornare il database?
Descrizione dettagliata nel Knowledge Base.
Installazione del plugin
- NON installare i plugin come utente root
- Innanzitutto, elimina tutti i vecchi plug-in Easy Gantt, se esistenti (plugins/easy_gantt*)
- Copia tutti i plugin decompressi in REDMINE_ROOT/plugins
- In REDMINE_ROOT
Esegui: |
$ Bundle install |
- (o aggiornamento bundle) |
$ Fascio exec rake db: migrate RAILS_ENV = produzione |
$ Fascio exec redmine rake: plugins: migrare RAILS_ENV = produzione |
Successivamente, riavvia il server.
Requisiti per la corretta installazione
- Versione Redmine: compatibile con Redmine 3.2.x, 3.3.x, 3.4.x, 4.x., 5.x.
- Versione Rubino: 2.3 + (consigliato 2.6.)
- Tipo di database: MySQL (consigliato), PostgreSQL
Seguire la procedura di installazione presentata in #installazione. Verificare che il log di installazione non contenga errori. In tal caso, provare a risolverlo in base alla descrizione, o contattare support@easyredmine.com allegando la sezione del log riferita all'errore.
Installazione su Bitnami
Bitnami non è testato né garantita. Se l'installazione non riesce, eseguire manualmente:
Esegui: |
$ Aggiornamento fascio |
$ rake db:migrate |
$ Rake Redmine: plugins: migrate |