Неожиданно для самого себя подкралась мне задачка: на тестовом сервере установить Redmine для экспериментов. Первая мысль которая у меня всплыла в голове "Да плёвое дело! Не первый раз ставлю разного рода программы, и с этим справимся!!!" Не ожидал я того, что меня ждёт целый квест, на выполнение которого уйдёт ни много ни мало - 2 дня!!! (тут должен быть смайл бьющийся головой об стену, но решил сильно не драматизировать ситуацию).
Первым делом конечно же нырнул на сайт производителя, покурить маны, как там и что ставится. С первого взгляда, все понятно и просто. Однако, первое что меня смутило, что работает он под управлением Ruby. Так как мне ни разу не приходилось им пользоваться, решил всё таки "погуглить" на момент подводных камней при установке, чтобы быть во всеоружии. Google тут же щедро поделился ссылкой на блог, где кто то уже пытался установить Redmine на CentOS. Ну так вообще замечательно!!! Как говорится: то что доктор прописал. Да вот не задачка: блог написан коряво, да ещё английский вперемешку с японским языком. С английским я более менее могу справиться, но вот с японским!!! Собственно, не мудрствуя лукаво, решил оставить себе "узелок на память" и записать последовательность своих действий, не подозревая какая эпопея меня поджидает.
Сначала маленькое отступление от сути статьи. Redmine нужно было установить не то, что на UNIX-систему, а именно на CentOS.
Во первых, не кривя душой скажу прямо: не люблю я Linux ни в каком его проявлении. Я привык работать с FreeBSD и за последние примерно 10 лет только с "фрей" и работал. Успокаивало только одно: Linux - unix-подобная система. И хоть её развитие пошло в инородном направлении от BSD-систем, всё равно прородитель её является именно UNIX.
Во-вторых, если бы мне пришлось устанавливать Redmine на FreeBSD, думаю, что эта бы статья так бы никогда и не увидела свет. Много ли ума надо, чтобы набрать в консоли "make install clean"? Чего там описывать? Тем не менее, случилось то что должно было случиться.
Теперь к сути статьи.
Все ставиться будет на 64-битную CentOS 6.2. Сильно расписывать ничего не стал, некоторые моменты вывода информации на консоль, которые не играют ключевой роли, я опускал (вы часто увидите лейбл "[...skipped...]"). Думаю и так будет всё понятно.
Так же хочу обратить внимание, что некоторые моменты установки можно было оптимизировать. Однако, весь ход установки записан в хронологическом порядке, то есть так как это было на самом деле.
Если вы решите обратиться не ко всей статье, а только к какому то одному моменту установки, обращайте внимание на путь текущего каталога, так как в некоторых местах он играет важную роль.
Собственно, если есть какие то погрехи в статье или у вас возникли вопросы по написанному, пишите в комментариях, попробуем вместе разобраться.
Итак, набираемся терпения и... поехали!
Качаем пакет с исходниками Ruby с сайта http://www.ruby-lang.org/en/downloads/ (на момент установки была доступна версия http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz)
Качаем пакет с исходниками RubyGems с сайта http://rubyforge.org/frs/?group_id=126 (на момент установки была доступна версия http://rubyforge.org/frs/download.php/76073/rubygems-1.8.24.tgz).
Чтобы определить, какая требуется версия Rails для Redmine, нужно посмотреть сводную таблицу на странице WIKI Redmine (источник [3]). Так как будет устанавливаться версия Redmine 2.0.3, ему требуется установка Rails версии 3.2.6.
Доступный пакет для установки можно найти по адресу http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/, далее выбирается версия CentOS (major version), далее битность системы:
Продолжение статьи "Установка Redmine на CentOS 6.2 (Часть 2)".
Первым делом конечно же нырнул на сайт производителя, покурить маны, как там и что ставится. С первого взгляда, все понятно и просто. Однако, первое что меня смутило, что работает он под управлением Ruby. Так как мне ни разу не приходилось им пользоваться, решил всё таки "погуглить" на момент подводных камней при установке, чтобы быть во всеоружии. Google тут же щедро поделился ссылкой на блог, где кто то уже пытался установить Redmine на CentOS. Ну так вообще замечательно!!! Как говорится: то что доктор прописал. Да вот не задачка: блог написан коряво, да ещё английский вперемешку с японским языком. С английским я более менее могу справиться, но вот с японским!!! Собственно, не мудрствуя лукаво, решил оставить себе "узелок на память" и записать последовательность своих действий, не подозревая какая эпопея меня поджидает.
Сначала маленькое отступление от сути статьи. Redmine нужно было установить не то, что на UNIX-систему, а именно на CentOS.
Во первых, не кривя душой скажу прямо: не люблю я Linux ни в каком его проявлении. Я привык работать с FreeBSD и за последние примерно 10 лет только с "фрей" и работал. Успокаивало только одно: Linux - unix-подобная система. И хоть её развитие пошло в инородном направлении от BSD-систем, всё равно прородитель её является именно UNIX.
Во-вторых, если бы мне пришлось устанавливать Redmine на FreeBSD, думаю, что эта бы статья так бы никогда и не увидела свет. Много ли ума надо, чтобы набрать в консоли "make install clean"? Чего там описывать? Тем не менее, случилось то что должно было случиться.
Теперь к сути статьи.
Все ставиться будет на 64-битную CentOS 6.2. Сильно расписывать ничего не стал, некоторые моменты вывода информации на консоль, которые не играют ключевой роли, я опускал (вы часто увидите лейбл "[...skipped...]"). Думаю и так будет всё понятно.
Так же хочу обратить внимание, что некоторые моменты установки можно было оптимизировать. Однако, весь ход установки записан в хронологическом порядке, то есть так как это было на самом деле.
Если вы решите обратиться не ко всей статье, а только к какому то одному моменту установки, обращайте внимание на путь текущего каталога, так как в некоторых местах он играет важную роль.
Собственно, если есть какие то погрехи в статье или у вас возникли вопросы по написанному, пишите в комментариях, попробуем вместе разобраться.
Итак, набираемся терпения и... поехали!
-
Содержание:
- Проверка текущей версии CentOS.
- Подготовка к установке. Установка дополнительных пакетов.
- Установка Ruby.
- Установка RubyGems.
- Установка Rails.
- Установка Extra Packages for Enterprise Linux 6 (EPEL).
- Установка MySQL.
- Конфигурация MySQL.
- Первый запуск MySQL.
- Создание пароля для root и удаление анонимного подключения к MySQL.
- Создание базы данных и пользователя для Redmine.
- Установка автоматического запуска MySQL.
- Установка ImageMagick.
- Установка поддержки шрифтов TrueType.
- Установка RMagick.
- Установка Redmine.
- Установка Apache.
- Начальная настройка Redmine.
- Установка модуля MySQL для подключения через Ruby.
- Настройка файла configuration.yml.
- Установка Passenger.
- Подключение и настройка модуля Passenger к Apache.
- Изменение конфигурации, если используется SELinux.
- Запуск Apache и установка его автозагрузки.
1. Проверка текущей версии CentOS.
[root@loginsrv ebabenko]# lsb_release -a
LSB Version: :core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 6.2 (Final)
Release: 6.2
Codename: Final
2. Подготовка к установке. Установка дополнительных пакетов.
[root@loginsrv ebabenko]# yum groupinstall "Development Tools" [...skipped...] Total download size: 3.8 M Is this ok [y/N]: y [...skipped...] Dependency Updated: systemtap-runtime.x86_64 0:1.6-5.el6_2 Complete!
[root@loginsrv ebabenko]# yum install zlib-devel openssl-devel [...skipped...] Total download size: 2.5 M Is this ok [y/N]: y [...skipped...] Dependency Updated: openssl.x86_64 0:1.0.0-20.el6_2.5 Complete!
[root@loginsrv ebabenko]# yum install ncurses-devel gdbm-devel openssl-devel zlib-devel readline-devel libyaml-devel [...skipped...] Total download size: 25 k Installed size: 22 k Is this ok [y/N]: y [...skipped...] Installed: gdbm-devel.x86_64 0:1.8.0-36.el6 Complete!
3. Установка Ruby.
[root@loginsrv ebabenko]# cp ~ebabenko/data/distrib/redmine/ruby-1.9.3-p194.tar.gz /usr/local/src [root@loginsrv ebabenko]# cd /usr/local/src/ [root@loginsrv src]# tar zxvf ruby-1.9.3-p194.tar.gz [...skipped...] [root@loginsrv src]# rm ruby-1.9.3-p194.tar.gz rm: remove regular file `ruby-1.9.3-p194.tar.gz'? y [root@loginsrv src]# cd ruby-1.9.3-p194 [root@loginsrv ruby-1.9.3-p194]# ./configure [...skipped...] [root@loginsrv ruby-1.9.3-p194]# make [...skipped...] [root@loginsrv ruby-1.9.3-p194]# make install [...skipped...] [root@loginsrv ruby-1.9.3-p194]# ruby -v bash: ruby: command not foundНастроим переменные окружения:
[root@loginsrv ruby-1.9.3-p194]# /usr/local/bin/ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] [root@loginsrv ruby-1.9.3-p194]# printenv PATH /usr/lib/jvm/jre-1.6.0-openjdk.x86_64:/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin:/opt/maven/maven-3.0.4:/opt/maven/maven-3.0.4/bin:/sbin:/bin:/usr/sbin:/usr/bin [root@loginsrv ruby-1.9.3-p194]# echo 'PATH=$PATH:/usr/local/bin' >> /etc/profile [root@loginsrv ruby-1.9.3-p194]# echo 'export PATH' >> /etc/profile [root@loginsrv ruby-1.9.3-p194]# echo 'PATH=$PATH:/usr/local/bin' >> /root/.bash_profile [root@loginsrv ruby-1.9.3-p194]# echo 'export PATH' >> /root/.bash_profile [root@loginsrv ruby-1.9.3-p194]# visudoНайти следующие строки:
# # Adding HOME to env_keep may enable a user to run unrestricted # commands via sudo. # # Defaults env_keep += "HOME" Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/binВ переменную secure_path добавить ':/usr/local/bin'
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/binТеперь требуется проверить что пути установлены правильно и они будут доступны для каждого пользователя. Для этого нужно перелогиниться в системе. После перелогина:
[ebabenko@loginsrv ~]$ whoami ebabenko [ebabenko@loginsrv ~]$ printenv PATH /usr/lib64/qt-3.3/bin:/usr/lib/jvm/jre-1.6.0-openjdk.x86_64:/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin:/opt/maven/maven-3.0.4:/opt/maven/maven-3.0.4/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/home/ebabenko/bin [ebabenko@loginsrv ~]$ ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] [ebabenko@loginsrv ~]$ sudo -s [sudo] password for ebabenko: [root@loginsrv ebabenko]# whoami root [root@loginsrv ebabenko]# printenv PATH /usr/lib/jvm/jre-1.6.0-openjdk.x86_64:/usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin:/opt/maven/maven-3.0.4:/opt/maven/maven-3.0.4/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin [root@loginsrv ebabenko]# ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
4. Установка RubyGems.
Качаем пакет с исходниками RubyGems с сайта http://rubyforge.org/frs/?group_id=126 (на момент установки была доступна версия http://rubyforge.org/frs/download.php/76073/rubygems-1.8.24.tgz).
[root@loginsrv ebabenko]# cp ~ebabenko/data/distrib/redmine/rubygems-1.8.24.tgz /usr/local/src [root@loginsrv ebabenko]# cd /usr/local/src/ [root@loginsrv src]# tar zxvf rubygems-1.8.24.tgz [...skipped...] [root@loginsrv src]# rm rubygems-1.8.24.tgz rm: remove regular file `rubygems-1.8.24.tgz'? y [root@loginsrv src]# cd rubygems-1.8.24 [root@loginsrv rubygems-1.8.24]# ruby setup.rb /usr/local/lib/ruby/1.9.1/yaml.rb:56:in `Сообщение "It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby." говорит что даже то, что устанавливались дополнительные пакеты, их было не достаточно для полноценной работы Ruby. Поэтому добавляем недостающую библиотеку.': It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby. RubyGems 1.8.24 installed == 1.8.24 / 2012-04-27 * 1 bug fix: * Install the .pem files properly. Fixes #320 * Remove OpenSSL dependency from the http code path ------------------------------------------------------------------------------ RubyGems installed the following executables: /usr/local/bin/gem
[root@loginsrv rubygems-1.8.24]# cd ~ebabenko/data/distrib/redmine/ [root@loginsrv redmine]# wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz --2012-06-26 11:05:57-- http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz Resolving pyyaml.org... 70.87.222.22 Connecting to pyyaml.org|70.87.222.22|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 471759 (461K) [application/x-gzip] Saving to: "yaml-0.1.4.tar.gz" 100%[=========================================================================>] 471,759 368K/s in 1.3s 2012-06-26 11:05:59 (368 KB/s) - "yaml-0.1.4.tar.gz" saved [471759/471759] [root@loginsrv redmine]# cp yaml-0.1.4.tar.gz /usr/local/src [root@loginsrv redmine]# cd /usr/local/src [root@loginsrv src]# tar zxvf yaml-0.1.4.tar.gz [root@loginsrv src]# rm yaml-0.1.4.tar.gz rm: remove regular file `yaml-0.1.4.tar.gz'? y [root@loginsrv src]# cd yaml-0.1.4 [root@loginsrv yaml-0.1.4]# ./configure [...skipped...] [root@loginsrv yaml-0.1.4]# make [...skipped...] [root@loginsrv yaml-0.1.4]# make install [...skipped...]И переустанавливаем Ruby и RubyGems.
[root@loginsrv yaml-0.1.4]# cd ../ruby-1.9.3-p194 [root@loginsrv ruby-1.9.3-p194]# ./configure [...skipped...] [root@loginsrv ruby-1.9.3-p194]# make [...skipped...] [root@loginsrv ruby-1.9.3-p194]# make install [...skipped...] [root@loginsrv ruby-1.9.3-p194]# ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] [root@loginsrv ruby-1.9.3-p194]# cd ../rubygems-1.8.24 [root@loginsrv rubygems-1.8.24]# ruby setup.rb RubyGems 1.8.24 installed == 1.8.24 / 2012-04-27 * 1 bug fix: * Install the .pem files properly. Fixes #320 * Remove OpenSSL dependency from the http code path ------------------------------------------------------------------------------ RubyGems installed the following executables: /usr/local/bin/gem [root@loginsrv rubygems-1.8.24]# gem --version 1.8.24
5. Установка Rails.
Чтобы определить, какая требуется версия Rails для Redmine, нужно посмотреть сводную таблицу на странице WIKI Redmine (источник [3]). Так как будет устанавливаться версия Redmine 2.0.3, ему требуется установка Rails версии 3.2.6.
[root@loginsrv src]# gem install rails -v 3.2.6 [...skipped...] [root@loginsrv src]# rails -v Rails 3.2.6
6. Установка Extra Packages for Enterprise Linux 6 (EPEL).
Доступный пакет для установки можно найти по адресу http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/, далее выбирается версия CentOS (major version), далее битность системы:
- CentOS 6.2, major version 6, следовательно переходим в директорию 6
- битность системы 64, следовательно переходим в директорию x86_64
[root@loginsrv src]# rpm -Uvh http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm Retrieving http://ftp.jaist.ac.jp/pub/Linux/Fedora/epel/6/x86_64/epel-release-6-7.noarch.rpm warning: /var/tmp/rpm-tmp.xxQEqE: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY Preparing... ########################################### [100%] 1:epel-release ########################################### [100%] [root@loginsrv src]# yum repolist Loaded plugins: fastestmirror, refresh-packagekit, security Loading mirror speeds from cached hostfile epel/metalink | 18 kB 00:00 * base: mirror.awanti.com * epel: mirror.awanti.com * extras: mirror.awanti.com * jpackage-generic: sunsite.informatik.rwth-aachen.de * updates: mirror.awanti.com epel | 4.0 kB 00:00 epel/primary_db | 4.6 MB 00:02 repo id repo name status base CentOS-6 - Base 6,294 epel Extra Packages for Enterprise Linux 6 - x86_64 7,567 extras CentOS-6 - Extras 6 jpackage-generic JPackage (free), generic 2,277 updates CentOS-6 - Updates 1,147 repolist: 17,291
Продолжение статьи "Установка Redmine на CentOS 6.2 (Часть 2)".
Комментариев нет :
Отправить комментарий