29 травня, Понеділок, 2023
A- A A+

install redmine apache

Підготовка робочого простору

Вирішив не опускати всіх дрібниць, щоб потім хтось міг підняти собі Redmine

Почнемо з підготовки робочого простору, а саме з установки sudo, так як використовувати систему під користувачем root не є добрим вирішенням (хоча сам я так не робив)

apt-get install nano

Є кілька допоміжних пакетів, які ми встановимо в першу чергу. Установка Apache досить проста, якщо ви просто слідувати інструкціям і прийміть значення за замовчуванням.

sudo apt-get install apache2 libapache2-mod-passenger

Встановлення бази даних

# База данных MySql

apt-get install mysql-server mysql-client libmysqlclient-dev

Package configuration                                                           

  ┌────────────────────┤ Configuring mysql-server-5.5 ├─────────────────────┐   
  │ While not mandatory, it is highly recommended that you set a password   │   
  │ for the MySQL administrative "root" user.                               │   
  │                                                                         │   
  │ If this field is left blank, the password will not be changed.          │   
  │                                                                         │   
  │ New password for the MySQL "root" user:                                 │   
  │                                                                         │   
  │ _______________________________________________________________________ │   
  │                                                                         │   
  │                                 <Ok>                                    │   
  │                                                                         │   
  └─────────────────────────────────────────────────────────────────────────┘   
  ┌────┤ Configuring mysql-server-5.5 ├──────────┐
  │                                              │
  │ Repeat password for the MySQL "root" user.   │
  │                                              │
  │                                              │
  │ ____________________________________________ │
  │                                              │
  │                                          	│
  │                                              │
  └──────────────────────────────────────────────┘

При установці MySql може запросити пароль супер користувача. Придумайте і запишіть його. Тепер нам потрібно створити базу даних і користувача дня неї.

# Якщо вибрали MySql
mysql -uroot -p
CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
exit

Установка самого Redmine

Нам будуть потрібні заголовки для компіляції. apt-get install libmagickcore-dev libmagickwand-dev imagemagick build-essential

Тепер ми готові завантажити свіжий redmine. На момент написання статті це 3.3.0. Завантажити і покладемо в робочу директорію.

cd /
cd home/dima/

mkdir redmine
cd redmine
wget http://www.redmine.org/releases/redmine-3.3.0.tar.gz
tar -zxvf ./redmine-3.3.0.tar.gz
mv ./redmine-3.3.0 /var/www/redmine/

Redmine написаний на Ruby і вимагає його. Встановлюємо.

# Потягне за собою багато залежностей.
apt-get install ruby ruby-dev rubygems libruby
# Нам буде потрібно bundler це як apt-get тільки для ruby
gem install bundler 

Додамо thin.

nano /var/www/redmine/Gemfile
#після додаємо gem "thin"

Встановимо всі необхідні для gem'и Redmine:

cd /var/www/redmine/
bundle install --without development test

Залишилось налаштувати

cp config/database.yml.example config/database.yml
mv public/dispatch.fcgi.example public/dispatch.fcgi
nano config/database.yml

Змінюємо виробництво приблизно до такого виду.

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "password_Mysql_redmine_user"
  encoding: utf8
  

Створимо секретний ключ:

rake generate_secret_token

Помилок бути не повинно. Але якщо раптом він попросить mysql2 або інший гем для PostgreSQL, просто встановіть їх:

gem install mysql2
# після чого знову спробуйте згенерувати ключ
rake generate_secret_token

Заповнення бази даних відбувається 2 командами. Після 2 попросять вибрати мову.

RAILS_ENV=production rake db:migrate
RAILS_ENV=production rake redmine:load_default_data
# якщо ви хочете зашифрувати власний пароль то виконайте:
rake db:encrypt RAILS_ENV=production
# я цього не робив

Налаштування Apache

Вам потрібно змінити два файли для апача. перший /etc/apache2/mods-available/passenger.conf

<Directory /var/www/html/redmine>
    RailsBaseURI /redmine
    PassengerResolveSymlinksInDocumentRoot on
</Directory>

Вказуєм апачу звідки буде запуск нашого редмайну

<VirtualHost *:80>
        ServerName redmine.pc-service.cv.ua
        ServerAdmin Ця електронна адреса захищена від спам-ботів. Вам необхідно увімкнути JavaScript, щоб побачити її.
        DocumentRoot /var/www/redmine/public/
        ErrorLog /var/log/redmine_error_log

        #If you are using mod_fcgid and are going to upload files larger than
        #131072 bytes you should consider adding the following line
        #that allows to upload files up to 20 mb

        
                Options Indexes ExecCGI FollowSymLinks
                Order allow,deny
                Allow from all
                AllowOverride all
        
    </VirtualHost>
	

Створення і встановити власника на файл Gemfile.lock так щоб користувач Apache WWW-data мав повний доступ до нього:

$ sudo touch /usr/share/redmine/Gemfile.lock
$ sudo chown www-data:www-data /usr/share/redmine/Gemfile.lock

Перезавантажуємо апач

$ sudo /etc/init.d/apache2 restart

Налаштування пошти

$ sudo apt-get install sendmail

Заходив в директорію редмайна /var/www/redmine/config/ та створюємо або змінюємо файл configuration.yml

# default configuration options for all environments
default:
  email_delivery:
    delivery_method: :sendmail
    sendmail_settings:
      arguments: "-i"

Перевантажуємо сервіс $ sudo service apache2 restart

Як налаштувати та встановити redmine з nginx