Comuni problemi di installazione e aggiornamento di Redmine
Dato che sia Redmine che Easy Redmine sono Open Source e sono più o meno indipendenti dalla piattaforma, potrebbero verificarsi alcuni problemi di installazione e aggiornamento a causa di diverse configurazioni del server, versioni del software o plugin installati. Lavoriamo sodo per individuare quelli più comuni al fine di aiutarti nella risoluzione dei problemi.
Significa che il tuo database è obsoleto e non può funzionare con la richiesta che la nostra applicazione gli invia. Semplicemente non la capisce. Soluzione
Devi aggiornare il tuo database. Come aggiornare il database?
Descrizione dettagliata nella Knowledge base.
Hai installato o aggiornato Easy Redmine con un utente con permessi insufficienti, non seguendo la nostra forte raccomandazione nelle istruzioni (almeno una volta in passato).
- Correggi i permessi con i comandi chgrp e chown in base alle impostazioni del server (ad es. chgrp -R www-data public_html)
- Esegui nuovamente l'installazione con bundle exec rake easyproject:install RAILS_ENV=production che cancellerà la cache (se lo esegui come root, non avrà successo)
- Riavvia il server
Se stai utilizzando una macchina virtuale fornita da Easy Software, esegui con l'utente easy:
sudo chown -R easy /home/easy/current
(in vecchie macchine - sudo chown -R easy /srv/easyredmine/public_html)
sudo chgrp -R easy /home/easy/current
(in vecchie macchine - sudo chgrp -R easy /srv/easyredmine/public_html)
cd /home/easy/current
(in vecchie macchine - cd /srv/easyredmine/public_html)
bundle exec rake easyproject:install RAILS_ENV=production
sudo service puma@your.domain.name restart
Ricorda di impostare i permessi per tutte le cartelle necessarie.
Ecco alcuni suggerimenti su cosa fare se si verifica un errore 500.
- Esegui Easy server requirements check e cerca di riparare le validazioni fallite
- Fai il backup del tuo database
- Scarica l'ultima versione dal Client Zone
- Assicurati che il webserver abbia le cartelle Full access public, files, log, tmp
- Esegui bundle install --without development test
- Esegui bundle exec rake easyproject:install RAILS_ENV=production
- Riavvia il server dell'applicazione
- Elimina eventuali plugin Redmine di terze parti (anche dal database)
- Scrivici su support@easyredmine.com e allega il log/production.log
Ci sono molte possibili cause di questo errore. Ecco alcuni consigli:
- problema di cache del browser - prova a eliminare la cache dal browser
- problema DNS
- problema di impostazione del server
Prima di tutto, controlla la tua connessione e la rete (verifica che il server sia raggiungibile utilizzando un comando ping o un comando traceroute). Firewall lato server.
Se tutto sembra essere a posto, prova a ottenere alcune informazioni dai registri degli errori di nginx. Controlla il file di registro degli errori di nginx lato server - /var/log/nginx/error.log
Verifica che la tua configurazione nginx corrisponda allo standard. La configurazione nginx standard può essere trovata qui:
https://www.redmine.org/projects/redmine/wiki/HowTo_configure_Nginx_to_run_Redmine
Esempio di una configurazione nginx (come quella utilizzata da Easy Software). È abbastanza simile a quella ufficiale, solo alcune variabili sono ottimizzate:
user www-data;
worker_processes 8;
worker_rlimit_nofile 60000;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 10240;
# multi_accept on;
}
http {
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # non utilizzare SSLv3 ref: POODLE
include /etc/nginx/mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 2048;
access_log /var/log/nginx/access.log;
sendfile on;
#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 on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
include /etc/nginx/sites-auto/*;
}
Altre possibili cause dell'errore 502 includono...
Unicorn non sta funzionando affatto, a causa di
- Permessi insufficienti
- Versione errata di passenger
- Versione Ruby errata
- Gem mancanti
- File system danneggiato
Per scoprire il problema esatto, è necessario controllare i registri degli errori in unicorn o apache + registro dell'applicazione da Easy Redmine (log/production.log)
Timeout
Se è configurato un timeout basso, questo errore apparirà su:
- esportazioni di grandi dimensioni
- sovraccarico del server
- attività rake eseguite dall'interfaccia grafica
Limite di connessioni MySQL
Assicurati di avere un numero sufficiente di connessioni consentite a MySQL. Dipende dal numero di utenti, ma dovresti avere almeno 100 connessioni consentite.
Questo errore si verifica dalla versione 2018 1.2 (piattaforma 04.00 e superiore)
Errore durante l'installazione dell'aggiornamento contenente uno o più dei seguenti.
[!] Si è verificato un errore di analisi di `Gemfile`:
[!] Si è verificato un errore di analisi di `Gemfile`: impossibile caricare il file --
# plugin 'rys-bundler', github: 'easysoftware/rys-bundler', branch: 'master' > Plugin.hook('rys-gemfile', self)
Bundler non può continuare.
È causato dalla versione obsoleta dell'installatore di Redmine.
Soluzione:
Prima di installare l'aggiornamento
$ gem install redmine-installer
Questo problema si verifica quando si utilizza un suffisso nell'URL di Easy Redmine, ad esempio: https://azienda.com/easyredmine/
In questo caso, è necessario assicurarsi di avere la variabile RAILS_RELATIVE_URL_ROOT configurata con il suffisso corretto /easyredmine
Bitnami:
- Crea un file di configurazione aggiuntivo config/additional_environment.rb
- config.action_controller.relative_url_root = "/easyredmine"
- quindi precompila le risorse (rake easyproject:install RAILS_ENV=production) e riavvia il server
Assicurati che wkhtmltopdf sia installato e in esecuzione ( wkhtmltopdf ha bisogno di un server X o di un'altra emulazione)
Testalo usando: "wkhtmltopdf google.com google.pdf"
Check cron configuration. It is very important that rake tasks are NOT run by root. It will cause failure due to insufficient permissions.
Let's say you are running Easy Redmine under user easy. The commands are:
View active crons crontab -u easy -l
Editing crontab -u easy -e
Apply changes sudo service cron reload
Example for running cron every 5 minutes:
*/5 * * * * /home/easy/scripts/easy_scheduler.sh &> /dev/null
#!/bin/bash -l
LOG_FILE="/home/easy/current/log/easy_scheduler_rake.log"
echo "$(date '+%Y-%m-%d %H:%M:%S') start 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 has to be an executable:
sudo chmod +x /home/easy/scripts/easy_scheduler.sh
Don't hesitate to search the internet for a more precise manual to set up cron on your server. It is not an exclusively Easy Redmine required function.
Quando si sta aggiornando Easy Redmine sulla piattaforma Windows e si riceve un messaggio di errore ExecJs ::RuntimeError
Tutto ciò che devi fare è installare NODEJS sul tuo sistema per l'aggiornamento corretto.
Se l'installazione fallisce, eseguire manualmente:
$ bundle update
$ rake db:migrate
$ rake redmine:plugins:migrate
Assicurati che il tuo server web supporti la dimensione effettiva dell'indirizzo URL
Assicurati di NON utilizzare il server web Webrick!
- assicurati di avere l'ultima versione del webserver e di Ruby
- riconfigura le query del filtro lento per mostrare meno campi
- resetta il tuo CRON per non avviarlo troppo spesso
- fai riferimento a questo caso studio - Rails speed up senza toccare il codice Ruby
- controlla la tua configurazione - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
Copia la cartella files dal tuo vecchio Redmine.
Puoi modificare la posizione predefinita dei file nel file di configurazione di Redmine o puoi utilizzare un symlink. I dispositivi di archiviazione di rete basati su LAN o cloud per gli allegati non sono consigliati a causa di problemi di affidabilità.
Configurazione:
./config/configuration.yml
# Percorso assoluto della directory in cui sono archiviati gli allegati.
# Il valore predefinito è la directory 'files' nella tua istanza di Redmine.
# La tua istanza di EasyRedmine deve avere il permesso di lettura/scrittura su questa directory.
# Esempi: attachments_storage_path: /var/www/redmine/files
Soluzione dei problemi:
Se non riesci ad aprire un allegato, consulta ./log/production.log per gli errori comuni:
Impossibile inviare l'allegato, /var/www/redmine/files/2015/08/150805095407_xxx.PNG non esiste o non è leggibile
ENOENT, Permesso negato... ecc.
Assicurati che il tuo server web abbia le cartelle Full access per public, files, log, tmp
I nuovi commit nel tuo repository non vengono riflessi in Easy Redmine a meno che non vengano recuperati dall'applicazione. È necessario impostare i webhook sul tuo client di repository (github, gitlab, TortoiseSVN,...) con informazioni sulla tua istanza di Easy Redmine.
- Vai su amministrazione >> impostazioni >> repository
- Abilita WS per la gestione del repository
- Genera una chiave API
- Salva
- Vai al tuo client di repository
- Aggiungi un webhook
Supponiamo 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=[API key]
- a seconda dell'impostazione del client, 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=[API key]
Dal punto 5, tutto dipende dal client di repository e non è correlato alle impostazioni di Easy Redmine. È qualcosa che devi verificare dopo l'installazione pulita o l'aggiornamento da Redmine.
Quando si configura il dominio del tuo Easy Redmine, assicurati di utilizzare almeno un dominio di primo livello, ad esempio http://myeasyredmine.com invece di solo http://myeasyredmine. Alcuni browser potrebbero avere problemi nel raggiungerlo.
Vai su Amministrazione >> Impostazioni >> Notifiche email
e verifica che l'indirizzo DEL mittente sia corretto.
Dovrebbe essere lo stesso (o almeno dallo stesso server SMTP) come nel file di configurazione. Altrimenti alcuni servizi email (gmail, yahoo, ecc.) potrebbero rifiutare le notifiche.
Controlla la tua configurazione secondo questo articolo nella Knowledge base.
Per verificare che la configurazione sia corretta, prova a verificare se puoi connetterti al server di posta dal tuo server Easy Redmine utilizzando telnet.
telnet il_tuo_dominio_qui numero_porta_qui (Ad esempio: telnet gmail.com 465)
Ti mostrerà se puoi realmente connetterti al tuo server di posta o se c'è un problema nella configurazione del tuo server di posta.
Quando si tenta di eseguire l'esportazione di un PDF che produce un errore (o sembra non accadere nulla), il registro di produzione elencherà errori simili a
Errno::EPIPE (Broken pipe) o wkhtmltopdf: cannot connect to X server
Causato da problemi con l'esportazione del componente wkhtmltopdf
Ecco le soluzioni proposte.
Server headless
Ottenere la versione necessaria di wkhtmltopdf da http://wkhtmltopdf.org/downloads.html
Esempio (è necessario lavorare con i dettagli del proprio 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 non headless
- È necessario avere wkhtmltopdf installato sul proprio server in PATH
(apt-get install wkhtmltox, yum install wkhtmltox)
Deve essere installato in bundler, altrimenti potrebbe non funzionare dopo l'aggiornamento di Easy Redmine - Assicurarsi che il programma funzioni correttamente (eseguire dalla console ad esempio wkhtmltopdf https://easyredmine.com homepage.pdf)
- Riavviare rake easyproject:install RAILS_ENV=production
- Riavviare il server
Installazione del plugin
- NON installare i plugin come utente ROOT
- In primo luogo, eliminare tutti i vecchi plugin Easy Gantt se esistono (plugins/easy_gantt*)
- Copiare tutti i plugin scompattati in REDMINE_ROOT/plugins
- In REDMINE_ROOT
Esegui: |
$ bundle install |
- (o bundle update) |
$ bundle exec rake db:migrate RAILS_ENV=production |
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production |
Dopo di che, riavviare il server.
Requisiti per un'installazione di successo
- Versione di Redmine: Compatibile con Redmine 3.2.x, 3.3.x, 3.4.x, 4.x.
- Versione di Ruby: 2.3+ (consigliata 2.6.)
- Tipo di database: MySQL (consigliato), PostgreSQL
Seguire la procedura di installazione in #install. Verificare che il registro di installazione non contenga errori. Se lo fa, cercare di risolverlo secondo la descrizione, o contattare support@easyredmine.com con la sezione di errore del registro allegata.
Installazione su Bitnami
Bitnami non è testato né garantito. Se l'installazione fallisce, eseguire manualmente:
Esegui: |
$ bundle update |
$ rake db:migrate |
$ rake redmine:plugins:migrate |