Các vấn đề thường gặp khi cài đặt và cập nhật Redmine
Vì cả Redmine và Easy Redmine đều là mã nguồn mở và khá độc lập với nền tảng, nên có thể xảy ra một số vấn đề về cài đặt và nâng cấp do cấu hình máy chủ, phiên bản phần mềm hoặc các plugin đã cài đặt. Chúng tôi nỗ lực để theo dõi những vấn đề phổ biến nhất để giúp bạn khắc phục.
Trong quá trình cập nhật ứng dụng, một thông báo lỗi chứa "Bạn có một lỗi trong cú pháp SQL của bạn; hãy kiểm tra hướng dẫn tương ứng với phiên bản máy chủ MySQL của bạn để sử dụng cú pháp đúng gần đó ..." xuất hiện trong nhật ký.
Nguyên nhân
Điều này có nghĩa là cơ sở dữ liệu của bạn đã lỗi thời và không thể hoạt động với yêu cầu mà ứng dụng của chúng tôi gửi đến nó. Nó chỉ đơn giản là không hiểu nó.
Giải pháp
Bạn cần cập nhật cơ sở dữ liệu của mình.
Làm thế nào để cập nhật cơ sở dữ liệu?
Mô tả chi tiết trong Cơ sở kiến thức.
- Chỉnh sửa quyền bằng các lệnh chgrp và chown theo cài đặt máy chủ (ví dụ: chgrp -R www-data public_html)
- Chạy lại quá trình cài đặt bundle exec rake easyproject:install RAILS_ENV=production để xóa bộ nhớ cache (nếu bạn chạy bằng tài khoản root, quá trình này sẽ không thành công)
- Khởi động lại máy chủ
Nếu bạn đang sử dụng máy ảo do Easy Software cung cấp, hãy chạy dưới người dùng easy:
sudo chown -R easy /home/easy/current
(trên các máy cũ - sudo chown -R easy /srv/easyredmine/public_html)
sudo chgrp -R easy /home/easy/current
(trên các máy cũ - sudo chgrp -R easy /srv/easyredmine/public_html)
cd /home/easy/current
(trên các máy cũ - cd /srv/easyredmine/public_html)
bundle exec rake easyproject:install RAILS_ENV=production
sudo service puma@your.domain.name restart
Hãy nhớ thiết lập quyền cho tất cả các thư mục cần thiết.
Dưới đây là một số gợi ý về những gì bạn có thể làm nếu gặp lỗi 500.
- chạy Kiểm tra yêu cầu máy chủ Easy và thử sửa các kiểm tra không thành công
- sao lưu cơ sở dữ liệu của bạn
- tải gói mới nhất từ Khu vực Khách hàng
- đảm bảo rằng máy chủ web có quyền truy cập đầy đủ vào các thư mục public, files, log, tmp
- chạy bundle install --without development test
- chạy bundle exec rake easyproject:install RAILS_ENV=production
- khởi động lại máy chủ ứng dụng
- xóa bất kỳ plugin Redmine của bên thứ ba nào (cũng từ cơ sở dữ liệu)
- viết cho chúng tôi qua support@easyredmine.com và đính kèm log/production.log
There are many possible causes of this error. Here are a few tips:
- browser cache problem - try deleting cache from the browser
- dns problem
- server setting problem
First check your connection and network (verify that server is reachable by using a ping command or traceroute command). Firewall server side.
If all above seems fine, try to get some information from nginx error.logs. Check nginx error.log at the server side - /var/log/nginx/error.log
Double check that your nginx configuration matches the standard. Standard nginx configuration can be found here:
https://www.redmine.org/projects/redmine/wiki/HowTo_configure_Nginx_to_run_Redmine
Example of an nginx configuration (as is used by Easy Software). It's quite similar to official one only few variables are optimized:
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; # dont use 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/*;
}
Other possible causes of 502 error include...
Unicorn is not running at all, due to
- Insufficient permissions
- Wrong version of passenger
- Wrong Ruby version
- Missing gems
- Broken filesystem
To find out the exact problem, you need to check error logs in unicorn or apache + application log from Easy Redmine (log/production.log)
Timeout
If low timeout is configured, this error will appear on:
- large exports
- overload of server
- rake tasks run from the GUI
Limit of MySQL connections
Make sure you have a sufficient number of connections allowed to MySQL. It depends on the number of users, but you should have at least a 100 allowed.
Lỗi này xảy ra từ phiên bản 2018 1.2 (nền tảng 04.00 và cao hơn)
Lỗi trong quá trình cài đặt nâng cấp chứa một số lỗi sau đây.
[!] Đã xảy ra lỗi khi phân tích `Gemfile`:
[!] Đã xảy ra lỗi khi phân tích `Gemfile`: không thể tải được tệp --
# plugin 'rys-bundler', github: 'easysoftware/rys-bundler', branch: 'master' > Plugin.hook('rys-gemfile', self)
Bundler không thể tiếp tục.
Điều này do phiên bản cài đặt redmine đã lỗi thời.
Giải pháp:
Trước khi cài đặt bản nâng cấp
$ gem install redmine-installer
Vấn đề này xảy ra khi bạn sử dụng hậu tố trên URL Easy Redmine của bạn, ví dụ: https://company.com/easyredmine/
Trong trường hợp này, bạn cần đảm bảo rằng bạn đã cấu hình biến RAILS_RELATIVE_URL_ROOT với hậu tố chính xác /easyredmine của bạn
Bitnami:
- Tạo một tệp cấu hình bổ sung config/additional_environment.rb
- config.action_controller.relative_url_root = "/easyredmine"
- sau đó biên dịch tài sản (rake easyproject:install RAILS_ENV=production) và khởi động lại máy chủ
Hãy đảm bảo wkhtmltopdf đã được cài đặt và đang chạy ( wkhtmltopdf cần X server hoặc mô phỏng khác)
Thử nó bằng cách sử dụng: "wkhtmltopdf google.com google.pdf"
Thêm vào cấu hình proxy của bạn:
proxy_set_header X-Forwarded-Proto https
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.
Khi bạn đang cập nhật Easy Redmine trên nền tảng Windows và gặp thông báo lỗi ExecJs ::RuntimeError
Tất cả những gì bạn cần làm là cài đặt NODEJS trên hệ thống của bạn để có cập nhật đúng.
Nếu quá trình cài đặt thất bại, chạy thủ công:
$ bundle update
$ rake db:migrate
$ rake redmine:plugins:migrate
Hãy đảm bảo máy chủ web của bạn hỗ trợ kích thước thực của địa chỉ URL
Hãy đảm bảo bạn không sử dụng máy chủ web Webrick!
- đảm bảo bạn có phiên bản mới nhất của máy chủ web và Ruby
- cấu hình lại các truy vấn bộ lọc chậm để hiển thị ít trường hơn
- đặt lại CRON của bạn để không khởi chạy quá thường xuyên
- tham khảo nghiên cứu trường hợp này - Tăng tốc Rails mà không cần sửa mã Ruby
- kiểm tra cấu hình của bạn - https://www.easyredmine.com/resources/installation/1885-recommended-optimal-configuration-of-easy-redmine-server
Sao chép thư mục files từ Redmine cũ của bạn.
Bạn có thể thay đổi vị trí mặc định của tệp trong tệp cấu hình của Redmine hoặc bạn có thể sử dụng liên kết tượng trưng. Lưu trữ đính kèm trên mạng LAN hoặc đám mây không được khuyến nghị do vấn đề về đáng tin cậy.
Cấu hình:
./config/configuration.yml
# Đường dẫn tuyệt đối đến thư mục lưu trữ tệp đính kèm.
# Mặc định là thư mục 'files' trong phiên bản Redmine của bạn.
# Phiên bản EasyRedmine của bạn cần có quyền đọc/ghi trên thư mục này.
# Ví dụ: attachments_storage_path: /var/www/redmine/files
Khắc phục sự cố:
Nếu bạn không thể mở tệp đính kèm, hãy xem ./log/production.log để tìm các lỗi thông thường:
Không thể gửi tệp đính kèm, /var/www/redmine/files/2015/08/150805095407_xxx.PNG không tồn tại hoặc không thể đọc được
ENOENT, Từ chối quyền... v.v.
Hãy đảm bảo rằng máy chủ web của bạn có các thư mục Full access public, files, log, tmp
New commits into your repository are not reflected in Easy Redmine unless they are fetched by the application. You need to set webhooks on your repository client (github, gitlab, TortoiseSVN,...) with information about your Easy Redmine instance.
- Go to administration >> settings >> repositories
- Enable WS for repository management
- Generate an API key
- Save
- Go to your repository client
- Add a webhook
Let's say your site is easyredmine.company.com
For git - https://easyredmine.company.com/sys/git_fetcher
or https://easyredmine.company.com/sys/git_fetcher?key=[API key]
- depending on client setting, it can require a single URL or the key into a different field
For SVN - https://easyredmine.company.com/sys/fetch_changesets
or https://easyredmine.company.com/sys/fetch_changesets?key=[API key]
From point 5, it is all up to the repository client and not related to Easy Redmine settings. It is something you must verify after clean installation or upgrade from Redmine.
Khi cấu hình miền của Easy Redmine của bạn, hãy đảm bảo sử dụng ít nhất miền cấp độ đầu tiên, ví dụ như http://myeasyredmine.com thay vì chỉ http://myeasyredmine. Một số trình duyệt có thể gặp vấn đề khi truy cập nó.
Đi đến Quản trị >> Cài đặt >> Thông báo qua email
và xác minh rằng ĐỊA CHỈ GỬI là chính xác.
Nó nên giống như trong tệp cấu hình (hoặc ít nhất từ cùng máy chủ SMTP). Nếu không, một số dịch vụ email (gmail, yahoo, v.v.) có thể từ chối thông báo.
Kiểm tra cấu hình của bạn theo bài viết này trong Cơ sở kiến thức.
Để xác minh rằng cấu hình là chính xác, hãy thử kiểm tra xem có thể kết nối đến máy chủ email từ máy chủ Easy Redmine của bạn bằng cách sử dụng telnet.
telnet your.domain.here port_number_here (Ví dụ: telnet gmail.com 465)
Nó sẽ cho bạn biết liệu bạn có thể kết nối đến máy chủ email của bạn thực sự hay có vấn đề trong cấu hình máy chủ email của bạn.
Khi bạn cố gắng xuất PDF và gặp lỗi (hoặc không có phản ứng gì). Nhật ký sản xuất sẽ liệt kê lỗi tương tự như
Errno::EPIPE (Đường ống bị hỏng) hoặc wkhtmltopdf: không thể kết nối đến máy chủ X
Gây ra bởi vấn đề với thành phần xuất wkhtmltopdf
Đây là các giải pháp đề xuất.
Máy chủ không có giao diện đồ họa
Lấy phiên bản cần thiết của wkhtmltopdf từ http://wkhtmltopdf.org/downloads.html
Ví dụ (bạn phải làm việc với chi tiết của môi trường của riêng bạn):
- 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
Chỉ áp dụng cho máy chủ không có giao diện đồ họa
- Bạn cần phải cài đặt wkhtmltopdf trên máy chủ của bạn trong PATH
(apt-get install wkhtmltox, yum install wkhtmltox)
Nó phải được cài đặt trong bundler, nếu không có thể không hoạt động sau khi cập nhật Easy Redmine - Đảm bảo rằng chương trình hoạt động đúng (chạy từ console ví dụ như wkhtmltopdf https://easyredmine.com homepage.pdf)
- chạy lại rake easyproject:install RAILS_ENV=production
- khởi động lại máy chủ
Cài đặt plugin
- ĐỪNG cài đặt plugin với quyền ROOT
- Trước tiên, xóa tất cả các plugin Easy Gantt cũ nếu có (plugins/easy_gantt*)
- Sao chép tất cả các plugin đã giải nén vào thư mục REDMINE_ROOT/plugins
- Trong thư mục REDMINE_ROOT
Chạy: |
$ bundle install |
- (hoặc bundle update) |
$ bundle exec rake db:migrate RAILS_ENV=production |
$ bundle exec rake redmine:plugins:migrate RAILS_ENV=production |
Sau đó, khởi động lại máy chủ.
Yêu cầu để cài đặt thành công
- Phiên bản Redmine: Tương thích với Redmine 3.2.x, 3.3.x, 3.4.x, 4.x.
- Phiên bản Ruby: 2.3+ (khuyến nghị 2.6.)
- Loại cơ sở dữ liệu: MySQL (khuyến nghị), PostgreSQL
Thực hiện quy trình cài đặt trong #install. Xác minh xem nhật ký cài đặt không chứa bất kỳ lỗi nào. Nếu có, hãy cố gắng giải quyết theo mô tả hoặc liên hệ support@easyredmine.com với phần mô tả lỗi đính kèm.
Cài đặt trên Bitnami
Bitnami không được kiểm tra hoặc đảm bảo. Nếu quá trình cài đặt thất bại, chạy thủ công:
Chạy: |
$ bundle update |
$ rake db:migrate |
$ rake redmine:plugins:migrate |