Здесь достаточно хорошо расписана установка GITLAB из исходников:
А вот с какой последовательностью команд установить Redmine на этом же сервере под катом.
#Зависимости
sudo apt-get install libmagickwand-dev mysql-client libmysqlclient-dev
#Добавим нового пользователя
sudo adduser --disabled-login --gecos 'redmine' redmine
#Качаем, ставим
cd /home/redmine/
sudo -u redmine wget http://www.redmine.org/releases/redmine-3.3.1.tar.gz
sudo -u redmine tar -zxvf ./redmine-3.3.1.tar.gz
sudo -u redmine mv ./redmine-3.3.1 ./redmine
cd /home/redmine/redmine
# Заводим пользователя Postresgl
sudo -u postgres psql -c "CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'P@ssw0rd' NOINHERIT VALID UNTIL 'infinity';"
sudo -u postgres psql -c "CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine TEMPLATE template0;"
# Конфигурим соединение с БД (production делаем похожим на pqsl)
sudo -u redmine cp config/database.yml.example config/database.yml
sudo -u redmine mcedit config/database.yml
# В список GEM добавить thin
sudo editor Gemfile
# Ставим на рельсы
sudo -u redmine gem install bundler
sudo -u redmine bundle install --without development test mysql2 mysql sqlite
sudo -u redmine bundle exec rake generate_secret_token
# Подготавливаем БД
sudo -u redmine RAILS_ENV=production rake db:migrate
sudo -u redmine RAILS_ENV=production REDMINE_LANG=ru bundle exec rake redmine:load_default_data
# Тестируем конфигу в браузере http://server:3000
ruby bin/rails server webrick -e production -b 0.0.0.0
# Права
mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R redmine:redmine files log tmp public/plugin_assets
sudo chmod -R 755 files log tmp public/plugin_assets
# Thin если не установлен:
sudo apt-get install thin -y
sudo thin install
# Скрипт для старта редмайна (у меня корректно не заработал так что смотри дальше) вставим в новый текстовый файл
sudo nano /etc/thin2.3/redmine.yml
#######Begin-text-file######
pid: tmp/pids/thin.pid
group: redmine
wait: 30
timeout: 30
log: log/thin.log
max_conns: 1024
require: []
environment: production
max_persistent_conns: 512
servers: 1
daemonize: true
user: redmine
socket: /tmp/thin.sock
chdir: /home/redmine/redmine
#######end-text-file######
#Для теста:
/etc/init.d/thin start
#и если не заработало, то пробуем:
sudo thin start -C /etc/thin2.3/redmine.yml
# Логи смотрим здесь:
sudo cat /home/redmine/redmine/log/thin.0.log
# Старт с системой:
update-rc.d -f thin defaults
# Т.К. нормально скрипт для старта thin у меня не работал сделал след.:
# редактируем и меняем остальное в файле после строки case "$1" in
sudo editor /etc/init.d/thin
#############begin###########
case "$1" in
start)
thin start -C /etc/thin2.3/redmine.yml
# run_action start
;;
stop)
thin stop -C /etc/thin2.3/redmine.yml
# run_action stop
;;
restart|force-reload|reload)
thin restart -C /etc/thin2.3/redmine.yml
# run_action restart
;;
*)
echo "Usage: $SCRIPT_NAME {start|stop|restart}" >&2
exit 3
;;
esac
:
############end###########
#Настройка nginx:
#Новый файл с содержанием:
sudo editor /etc/nginx/sites-available/redmine
################BEGIN##############
# Настраиваем upstream на сокет нашего "слушающего" сервера thin
upstream thin_server {
server unix:/tmp/thin.0.sock;
}
# Веб-сервер видимый из вне
server
{
#имя сервера
server_name redmine;
#НЕ Используем HTTPS(SSL)
listen *:3000;
#логи
access_log /var/log/nginx/redmine_access.log;
error_log /var/log/nginx/redmine_error.log;
#Папка public редмайна
root /home/redmine/redmine/public;
client_max_body_size 10m; # Max attachemnt size
# Основной location. Он отдаёт все статические файлы "как следует", а все
# нестатические адреса редиректит на прокси-сервер, которым и является thin
location / {
proxy_redirect off;
proxy_set_header Host redmine;
try_files $uri/index.html $uri.html $uri @thin;
}
# Именованый Location для того, чтобы было куда сослаться
location @thin
{
proxy_pass http://thin_server;
}
}
################END##############
sudo ln -s /etc/nginx/sites-available/redmine /etc/nginx/sites-enabled/redmine
sudo /etc/init.d/nginx restart
|