Установка redmine на ubuntu 14.04/16.04
Устанавливать будем redmian 3.3.0
Нам понадобится:
1. redmine-3.3.0.tar.gz
2. ubuntu-server 14.04 + установить дополнительно пакеты:
3. ruby
4. Настройка сервера apache2
redmine можно скачать с официального сайта
PS. 14-09-2017. Проверил установку на ubuntu 16.04 (x64) особых изменений нет, все встало без ошибок. Необходимые замечания добавлены в текст. Ставил Redmine 3.4.2.stable, Ruby version 2.4.1-p111 (2017-03-22) [x86_64-linux]
http://www.redmine.org/releases/ нужную версию (в моем случае redmine-3.3.0.tar.gz), и распаковываем в /opt/redmine-3.3.0
Заведем в системе пользователя redmine и всю дальнейшую установку будем делать от этого пользователя
root@red-test:/root# useradd -m redmine -s /bin/bash root@red-test:/root# usermod -a -G sudo redmine root@red-test:/root# passwd redmine root@red-test:/root# chown redmine:redmine -R /opt/redmine-3.3.0/ root@red-test:/root# su redmine redmine@red-test:/opt/redmine-3.3.0$
Устанавливаем дополнительные пакеты
Для ubuntu 16.04 замените имя пакета apache2-threaded-dev на apache2-dev
redmine@red-test:/root$ sudo apt-get update redmine@red-test:/root$ sudo apt-get upgrade redmine@red-test:/root$ sudo apt-get install imagemagick libmagickwand-dev mysql-client libmysqlclient-dev mysql-server make apache2 libcurl4-openssl-dev apache2-threaded-dev libapr1-dev libaprutil1-dev
Устанавливаем ruby при помощи rvm
redmine@red-test:~$ \curl -sSL https://get.rvm.io | bash -s stable --rails
Для ubuntu 16.04 поставил ruby 2.4.1 (09-2017) ни каких ошибок при последующей установки не возникло.
На момент написания статьи (2015 г) устанавливается последняя версия ruby 2.3.0
rvm list rvm rubies =* ruby-2.3.0 [ x86_64 ]
С этой версией у меня возникли проблемы при компиляции модуля для apache2 появились следующие ошибки, и решить их быстро не получилось.
passenger-install-apache2-module /home/redmine/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/specification.rb:2158:in `method_missing': undefined method `this' for # (NoMethodError) from /home/redmine/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/specification.rb:1057:in `find_active_stub_by_path' from /home/redmine/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:64:in `require' from /home/redmine/.rvm/gems/ruby-2.3.0/gems/passenger-5.0.30/bin/passenger-install-apache2-module:34:in `' from /home/redmine/.rvm/gems/ruby-2.3.0/bin/passenger-install-apache2-module:23:in `load' from /home/redmine/.rvm/gems/ruby-2.3.0/bin/passenger-install-apache2-module:23:in `' from /home/redmine/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval' from /home/redmine/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `'
с версией 2.2.0 тоже возникли мелкие проблемы, но все встало и даже работало, а вот с 2.1.0 все встало на ура, ни каких проблем. Поэтому буду ставить на 2.1
После установки не забываем выполнить скрипт source /home/redmine/.rvm/scripts/rvm, а лучше его добавить в .bashrc
echo "source /home/redmine/.rvm/scripts/rvm" >> ~/.bashrc
redmine@red-test:~$ rvm install 2.1.0 redmine@red-test:~$ rvm use 2.1.0 redmine@red-test:~$ rvm --default use 2.1.0
полностью установка и возможные проблемы описаны в статье установка ruby
Приступаем к установке redmine
подготавливаем Db в MySQL
redmine@red-test:/opt/redmine-3.3.0$ mysql -p -u root Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> CREATE DATABASE redmine CHARACTER SET utf8; mysql> CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password'; mysql> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
Редактируем файл конфигурации redmine
redmine@red-test:/opt/redmine-3.3.0$ cp config/database.yml.example config/database.yml redmine@red-test:/opt/redmine-3.3.0$ vim config/database.yml
необходимо изменить секцию подключения к базе данных
production: adapter: mysql2 database: redmine host: localhost username: redmine password: "my_password" encoding: utf8
Устанавливаем bundler
redmine@red-test:/opt/redmine-3.3.0$ gem install bundler
Устанавливаем gem-ы
bundle install --without development test
Установка должна завершиться примерно следующими сообщениями.
… Installing rails-dom-testing 1.0.7 Installing activejob 4.2.6 Installing activerecord 4.2.6 Installing protected_attributes 1.1.3 Installing actionview 4.2.6 Installing actionpack 4.2.6 Installing actionmailer 4.2.6 Installing actionpack-action_caching 1.1.1 Installing actionpack-xml_parser 1.0.2 Installing railties 4.2.6 Installing sprockets-rails 3.2.0 Installing jquery-rails 3.1.4 Installing roadie-rails 1.1.1 Installing rails 4.2.6 Bundle complete! 31 Gemfile dependencies, 56 gems now installed. Gems in the groups development and test were not installed. Use `bundle show [gemname]` to see where a bundled gem is installed.
redmine@red-test:/opt/redmine-3.3.0$ bundle exec rake generate_secret_token
Создаем структуру базы данных
redmine@red-test:/opt/redmine-3.3.0$ bundle exec rake db:migrate RAILS_ENV="production" == 1 Setup: migrating ========================================================= -- create_table("attachments", {:force=>true}) -> 0.0222s -- create_table("auth_sources", {:force=>true}) -> 0.0240s -- create_table("custom_fields", {:force=>true}) -> 0.0164s -- create_table("custom_fields_projects", {:id=>false, :force=>true}) -> 0.0194s -- create_table("custom_fields_trackers", {:id=>false, :force=>true}) -> 0.0447s -- create_table("custom_values", {:force=>true}) … … == 20160529063352 AddRolesSettings: migrating ================================= -- add_column(:roles, :settings, :text) -> 0.0694s == 20160529063352 AddRolesSettings: migrated (0.0698s) ========================
Выставим права
sudo chown -R redmine:redmine files log tmp public/plugin_assets sudo chmod -R 755 files log tmp public/plugin_assets
На этом установка закончена, можно тестировать.
Тестирование установки
для тестирования запустим сервер командой:
redmine@rednew:/opt/redmine-3.3.0$ ruby bin/rails server -b 0.0.0.0 -e production => Booting WEBrick => Rails 4.2.6 application starting in production on http://0.0.0.0:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server [2016-09-09 18:06:58] INFO WEBrick 1.3.1 [2016-09-09 18:06:58] INFO ruby 2.1.0 (2013-12-25) [x86_64-linux] [2016-09-09 18:06:58] INFO WEBrick::HTTPServer#start: pid=15194 port=3000
Ключ -b 0.0.0.0 нужен для того что бы сервис был доступен на всех интерфейса, иначе по умолчанию будет использоваться localhost и с удаленного компьютера проверить не удасться.
Если вы смогли подключиться по адресу http://ip_сервера:3000 и увидели интерфейс redmine значит установка прошла без ошибок и вы близки к завершению.
Вход по умолчанию
login: admin
password: admin
Устанавливаем модуль для apache2
gem install passenger
redmine@red-test:/opt/redmine-3.3.0$ gem install passenger Building native extensions. This could take a while... Successfully installed passenger-5.0.30 Parsing documentation for passenger-5.0.30 Done installing documentation for passenger after 6 seconds 1 gem installed
Далее необходимо подготовить модуль для apache2. Если при выполнении вы получаете подобную ошибку:
passenger-install-apache2-module /home/redmine/.rvm/gems/ruby-2.1.0/gems/bundler-1.13.0/lib/bundler/rubygems_ext.rb:23:in `source': uninitialized constant Gem::Source (NameError) from /home/redmine/.rvm/gems/ruby-2.1.0/gems/bundler-1.13.0/lib/bundler/rubygems_ext.rb:65:in `extension_dir' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/specification.rb:1782:in `gem_build_complete_path' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/specification.rb:1996:in `missing_extensions?' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/basic_specification.rb:66:in `contains_requirable_file?' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:64:in `block in require' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:63:in `each' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:63:in `find' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_require.rb:63:in `require' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/source.rb:1:in `' from /home/redmine/.rvm/gems/ruby-2.1.0/gems/bundler-1.13.0/lib/bundler/rubygems_ext.rb:23:in `source' from /home/redmine/.rvm/gems/ruby-2.1.0/gems/bundler-1.13.0/lib/bundler/rubygems_ext.rb:35:in `full_gem_path' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/basic_specification.rb:144:in `block in full_require_paths' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/basic_specification.rb:143:in `map' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/basic_specification.rb:143:in `full_require_paths' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/specification.rb:1370:in `add_self_to_load_path' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/specification.rb:1283:in `activate' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/specification.rb:1314:in `block in activate_dependencies' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/specification.rb:1300:in `each' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/specification.rb:1300:in `activate_dependencies' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/specification.rb:1282:in `activate' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:67:in `block in gem' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:66:in `synchronize' from /home/redmine/.rvm/rubies/ruby-2.1.0/lib/ruby/site_ruby/2.1.0/rubygems/core_ext/kernel_gem.rb:66:in `gem' from /home/redmine/.rvm/gems/ruby-2.1.0/bin/passenger-install-apache2-module:22:in `' from /home/redmine/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `eval' from /home/redmine/.rvm/gems/ruby-2.1.0/bin/ruby_executable_hooks:15:in `'
То в качестве решения можно заменить версию bundler
gem uninstall bundler -v1.13 gem install bundler -v1.12
После этого все должно получиться.
redmine@red-test:/opt/redmine-3.3.0$ passenger-install-apache2-module Welcome to the Phusion Passenger Apache 2 module installer, v5.0.30. This installer will guide you through the entire installation process. It shouldn't take more than 3 minutes in total. Here's what you can expect from the installation process: 1. The Apache 2 module will be installed for you. 2. You'll learn how to configure Apache. 3. You'll learn how to deploy a Ruby on Rails application. Don't worry if anything goes wrong. This installer will advise you on how to solve any problems. Press Enter to continue, or Ctrl-C to abort.
Нажимаем Enter
Which languages are you interested in? Use <space> to select. If the menu doesn't display correctly, press '!' ‣ ⬢ Ruby ⬢ Python ⬡ Node.js ⬡ Meteor
Checking for required software... * Checking for C compiler... Found: yes Location: /usr/bin/cc * Checking for C++ compiler... Found: yes Location: /usr/bin/c++ * Checking for Curl development headers with SSL support... Found: no Error: Cannot find the `curl-config` command. * Checking for OpenSSL development headers... Found: yes Location: /usr/include/openssl/ssl.h * Checking for Zlib development headers... Found: yes Location: /usr/include/zlib.h * Checking for Apache 2... Found: yes Location of httpd: /usr/sbin/apache2 Apache version: 2.4.7 * Checking for Apache 2 development headers... Found: no * Checking for Rake (associated with /usr/local/rvm/gems/ruby-2.2.1/wrappers/ruby)... Found: yes Location: /usr/local/rvm/gems/ruby-2.2.1/wrappers/rake * Checking for OpenSSL support for Ruby... Found: yes * Checking for RubyGems... Found: yes * Checking for Ruby development headers... Found: yes Location: /usr/local/rvm/rubies/ruby-2.2.1/include/ruby-2.2.0/ruby.h * Checking for rack... Found: yes * Checking for Apache Portable Runtime (APR) development headers... Found: no * Checking for Apache Portable Runtime Utility (APU) development headers... Found: no Some required software is not installed. But don't worry, this installer will tell you how to install them. Press Enter to continue, or Ctrl-C to abort.
Нажимаем Enter и видим какие пакеты нам необходимо установить.
Installation instructions for required software * To install Curl development headers with SSL support: Please run apt-get install libcurl4-openssl-dev or libcurl4-gnutls-dev, whichever you prefer. * To install Apache 2 development headers: Please install it with apt-get install apache2-threaded-dev * To install Apache Portable Runtime (APR) development headers: Please install it with apt-get install libapr1-dev * To install Apache Portable Runtime Utility (APU) development headers: Please install it with apt-get install libaprutil1-dev If the aforementioned instructions didn't solve your problem, then please take a look at our documentation for troubleshooting tips: https://www.phusionpassenger.com/library/install/apache/ https://www.phusionpassenger.com/library/admin/apache/troubleshooting/
Ставим пакеты которые не поставили в начале. Эти пакеты добавлю в начало статьи что бы не возникала подобная ситуация.
sudo apt-get install libcurl4-openssl-dev sudo apt-get install apache2-threaded-dev sudo apt-get install libapr1-dev sudo apt-get install libaprutil1-dev
Теперь запускаем установку заново, компиляция должна завершится примерно следующими сточками
redmine@red-test:/opt/redmine-2.5.3$ passenger-install-apache2-module … сдесь отображается ход компиляции … … <IfModule mod_passenger.c> PassengerRoot /usr/local/rvm/gems/ruby-2.2.1/gems/passenger-5.0.20 PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.2.1/wrappers/ruby </IfModule> Almost there! Please edit your Apache configuration file, and add these lines: LoadModule passenger_module /home/redmine/.rvm/gems/ruby-2.1.0/gems/passenger-5.0.30/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /home/redmine/.rvm/gems/ruby-2.1.0/gems/passenger-5.0.30 PassengerDefaultRuby /home/redmine/.rvm/gems/ruby-2.1.0/wrappers/ruby </IfModule> After you restart Apache, you are ready to deploy any number of web applications on Apache, with a minimum amount of configuration! Press ENTER when you are done editing. After you restart Apache, you are ready to deploy any number of web applications on Apache, with a minimum amount of configuration! Press ENTER when you are done editing.
создадим в папке /etc/apache2/conf-available/ файл mod_passenger.conf
touch /etc/apache2/conf-available/mod_passenger.conf
redmine@red-test:/opt/redmine-2.5.3$ sudo vim /etc/apache2/conf-available/mod_passenger.conf
и разместим следующее содержание (оно нам выведено ранее)
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.2.1/gems/passenger-5.0.20/buildout/apache2/mod_passenger.so <IfModule mod_passenger.c> PassengerRoot /usr/local/rvm/gems/ruby-2.2.1/gems/passenger-5.0.20 PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.2.1/wrappers/ruby </IfModule>
Создадим символическую ссылку, скорректируем virtual host (или создадим новый) и перезапустим apache2
пример:
redmine@red-test:/opt/redmine-3.3.0$ cat /etc/apache2/sites-enabled/000-default.conf <VirtualHost *:80> # !!! Be sure to point DocumentRoot to 'public'! DocumentRoot /opt/redmine-3.3.0/public <Directory /opt/redmine-3.3.0/public > # This relaxes Apache security settings. AllowOverride all # MultiViews must be turned off. Options -MultiViews # Uncomment this if you're on Apache >= 2.4: Require all granted #PassengerUseGlobalQueue on </Directory> </VirtualHost>
redmine@red-test:/opt/redmine-3.3.0$ sudo ln -s /etc/apache2/conf-available/mod_passenger.conf /etc/apache2/conf-enabled/mod_passenger.conf redmine@red-test:/opt/redmine-3.3.0$ sudo service apache2 restart * Restarting web server apache2 [ OK ]
Если все сделано правильно apache2 должен запуститься без ошибок. Можно подключаться к серверу http://red-test/
Информация по установке была взята с официального сайта redmine.org.
(EN) http://www.redmine.org/projects/redmine/wiki/RedmineInstall
Comments (1)
Виталий
| #
Доброго времени суток! Спасибо за отличный мануал! Для тех, кто будет ставить на 16.04 — доп.пакет в начале темы apache2-threaded-dev замените на apache2-dev (первый входит во второй) . Заработало на ruby 2.1.0, выше версии не пробовал.
Reply