Статья недоработана, но в плане справочной уже вполне себе :-)
Установка Nginx и Passenger
Установим PGP-ключ:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
Добавим поддержку HTTPS для APT (APT репозиторий Phusion Passenger хранится на HTTPS-сервере):
sudo apt-get install apt-transport-https ca-certificates
Добавим сам репозиторий. В /etc/apt/sources.list.d/passenger.list поместим:
deb https://oss-binaries.phusionpassenger.com/apt/passenger trusty main
Затем установим соответствующие права и обновим списки пакетов:
sudo chown root: /etc/apt/sources.list.d/passenger.list sudo chmod 600 /etc/apt/sources.list.d/passenger.lis sudo apt-get update
Установим Nginx и Passenger:
sudo apt-get install nginx-extras passenger
Раскомментируем passenger_root и passenger_ruby в конфиге nginx: /etc/nginx/nginx.conf.
Перезапустим nginx:
sudo service nginx restart
Настроим nginx (пример):
cat /etc/nginx/sites-available/redmine-test server { listen 8080; server_name project-t.centrofinans.ru; root /opt/redmine-3.1/public; passenger_user www-data; passenger_group www-data; passenger_enabled on; passenger_ruby /usr/local/rvm/gems/ruby-1.9.3-p551/wrappers/ruby; allow all; client_max_body_size 10m; # Max attachemnt size }
Установка RVM и Rails
RVM нам нужен по нескольким причинам. Во-первых, велика вероятность, что в репозиториях убунты нету версии Ruby, которую вы используете в своём проекте. Во-вторых, через него удобнее установить Rails (чем через gem install rails), т.к. он подтягивает необходимые пакеты автоматически. В-третьих, если на сервере будет висеть несколько проектов, то вероятно, что они будут использовать разные версии Ruby, и тут нам поможет RVM.
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 \curl -sSL https://get.rvm.io | bash -s stable --rails
После установки нужно выйти и зайти в шелл.
P.S. Если где-то в окружении не хватает rvm или rails, выполним "source /usr/local/rvm/scripts/rvm" или пропишем эту строку в profile (~/.profile или для всех /etc/profile).
Нам нужна версия руби:
$ rvm install 1.9.3
Для удобства создадим для каждого проекта свой набор гемов:
$ rvm use 1.9.3
$ rvm gemset create redmine-3.1
Для того, чтобы rvm автоматически переключался на нужную версию руби и набор гемов делаем следующее:
$ echo "rvm use 1.9.3@redmine-3.1" > /opt/redmine-3.1/.rvmrc
Теперь в консоли при смене каталога проекта будет автоматически подключена нужная версия руби и набор
гемов для проекта.
Установка Redmine
cd /opt
svn co http://svn.redmine.org/redmine/branches/3.1-stable redmine-3.1
cd /opt/redmine-3.1
Чтобы указать необходимую версию Ruby выполним:
rvm use <версия Ruby>
passenger-config --ruby-command
На строке с префиксом "To use in Nginx :" скопируем оставшуюся часть и добавим в соответствующую запись server конфигурации nginx, завершив точкой с запятой (пример выше).
Add following lines
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: redmine
encoding: utf8
Plugins installation
Unarchive plugins to/plugins/
foldercd /var/data/redmine bundle install
Configuring redmine
Setup redmine folder permissions
cd /var/data/redmine mkdir public/plugin_assetschown -R www-data:www-data files log tmp public/plugin_assets config.ru chmod -R 755 files log tmp public/plugin_assets
Create database
mysql -u root -p Execute following lines to MySQLCREATE DATABASE redmine character SET utf8; CREATE user 'redmine'@'localhost' IDENTIFIED BY 'redmine'; GRANT ALL privileges ON redmine.* TO 'redmine'@'localhost'; exit