Инструменты пользователя

Инструменты сайта


hidden:redmine:git

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
hidden:redmine:git [2019/01/17 14:39]
Алексей Кожевников удалено
— (текущий)
Строка 1: Строка 1:
-====== redmine - git ====== 
- 
-== Инструкция администратора по установке СКВ из дистрибутива == 
- 
-Для установки требуются хранилища:​ redmine_source.git,​ redmine_git_hosting.git,​ redmine_database.git,​ redmine_gitolite.git 
- 
-Установка необходимых пакетов в системе 
- 
-<​code>​yum groupinstall "​Development Tools" 
-yum install libssh2 libssh2-devel cmake libgpg-error-devel 
- 
-</​code>​ 
- 
-Установка RVM и интерпретатора Ruby 
- 
-<​code>​gpg --keyserver hkp://​keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 
-\curl -sSL https://​get.rvm.io | bash -s stable --ruby=2.1.5p273 
- 
-</​code>​ 
- 
-Установка posgresql и конфигурация 
- 
-<​code>​yum install postgresql 
- 
-nano /​var/​lib/​pgsql/​data/​pg_hba.conf # отредактировать файл 
- 
-# TYPE  DATABASE ​   USER   ​CIDR-ADDRESS ​         METHOD 
- 
-# "​local"​ is for Unix domain socket connections only 
-local   ​all ​        ​all ​                              trust 
-# IPv4 local connections:​ 
-host    all         ​all ​        ​127.0.0.1/​32 ​         trust 
-# IPv6 local connections:​ 
-host    all         ​all ​        ::​1/​128 ​              trust 
- 
-/​etc/​init.d/​posgresql restart 
- 
-git clone redmine_database.git redmine_database # клонировать хранилище с БД 
-cd redmine_database 
-pgql -f redmine-`date`.sql 
- 
-</​code>​ 
- 
-Создать пользователей redmine и git в системе 
- 
-<​code>​adduser redmine 
-adduser git 
- 
-</​code>​ 
- 
-Установка Redmine 
- 
-<​code>​gem install bundler 
-gem install puma 
-su redmine 
-cd ~ 
-git clone redmine_source.git redmine 
-cd redmine 
-bundle install --without development test --path vendor/​bundle # в случае отсутствия каких-либо библиотек установить их в системе и повторить команду 
-mkdir 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 
-bundle exec rails server webrick -e production # тестирование 
- 
-</​file>​ 
- 
-Установка и конфигурация nginx 
- 
-<​code>​yum install nginx 
- 
-touch /​etc/​nginx/​conf.d/​redmine.conf 
- 
-upstream puma_redmine { 
-  server ​  ​unix:///​home/​redmine/​redmine/​tmp/​sockets/​redmine.sock fail_timeout=0;​ 
-#  server ​       127.0.0.1:​3000;​ #dev mode 
-} 
- 
-server { 
-  server_name ​  ​repo.e-moskva.ru;​ 
-  listen *:80; 
-  rewrite ^(.*)$ https://​$server_name$1 permanent; 
-} 
- 
-server { 
-  server_name repo.e-moskva.ru;​ 
-  listen *:443; 
-  listen localhost:​443;​ 
- 
-  ssl on; 
-  ssl_certificate_key /​etc/​nginx/​cert/​privkey.pem;​ 
-  ssl_certificate /​etc/​nginx/​cert/​repo.cer;​ 
-  ssl_client_certificate /​etc/​nginx/​cert/​root.cer;​ 
-  #​ssl_verify_client on; 
- 
-  keepalive_timeout 70; 
-  fastcgi_param SSL_VERIFIED $ssl_client_verify;​ 
-  fastcgi_param SSL_CLIENT_SERIAL $ssl_client_serial;​ 
-  fastcgi_param SSL_CLIENT_CERT $ssl_client_cert;​ 
-  fastcgi_param SSL_DN $ssl_client_s_dn;​ 
- 
-  root          /​home/​redmine/​redmine;​ 
- 
-  access_log ​   /​var/​log/​nginx/​redmine.log;​ 
-  error_log ​    /​var/​log/​nginx/​redmine.log;​ 
- 
-  client_max_body_size 1G; 
- 
-  location / { 
-    try_files $uri @ruby; 
-  } 
- 
-  location /​public/​courses { 
-    autoindex on; 
-  } 
- 
-  location @ruby { 
-    proxy_set_header X-Forwarded-Proto https; # unquote if you are in HTTPs 
-    proxy_set_header Host $http_host; 
-    proxy_redirect off; 
-    proxy_read_timeout 300; 
-    proxy_pass http://​puma_redmine;​ 
-  } 
-} 
- 
-/​etc/​init.d/​nginx restart 
- 
-</​file>​ 
- 
-Конфигурация Puma 
- 
-<​code>​touch /​etc/​init.d/​redmine 
- 
-#!/bin/sh 
-### BEGIN INIT INFO 
-# Provides: ​  ​redmine 
-# Required-Start: ​   $local_fs $remote_fs $network $mysql $named 
-# Required-Stop: ​    ​$local_fs $remote_fs $network $mysql $named 
-# Default-Start: ​    2 3 4 5 
-# Default-Stop: ​     0 1 6 
-# Short-Description:​ Redmine projects manager 
-# Description: ​      This file should be used to start and stop Redmine. 
-### END INIT INFO 
- 
-[ -f /​etc/​default/​rcS ] && . /​etc/​default/​rcS 
-. /​lib/​lsb/​init-functions 
- 
-REDMINE_USER="​redmine"​ 
- 
-WEBSERVER="​server_puma"​ 
-WORKER1="​sidekiq_git_hosting"​ 
- 
-case "​$1"​ in 
-  start) 
-    su - $REDMINE_USER -c "​${WEBSERVER}.sh start" 
-#    su - $REDMINE_USER -c "​${WORKER1}.sh start" 
-  ;; 
-  stop) 
-    su - $REDMINE_USER -c "​${WEBSERVER}.sh stop" 
-#    su - $REDMINE_USER -c "​${WORKER1}.sh stop" 
-  ;; 
-  restart) 
-    su - $REDMINE_USER -c "​${WEBSERVER}.sh restart"​ 
-#    su - $REDMINE_USER -c "​${WORKER1}.sh restart"​ 
-  ;; 
-  *) 
-    echo "Usage : /​etc/​init.d/​redmine {start|stop|restart}"​ 
-  ;; 
-esac 
- 
-mkdir -p /​home/​redmine/​bin/​ 
-cd !$ 
-touch server_puma.sh 
- 
-#!/bin/bash 
- 
-# You should place this script in user's home bin dir like : 
-# /​home/​redmine/​bin/​server_puma.sh 
-# 
-# Normally the user's bin directory should be in the PATH. 
-# If not, add this in /​home/​redmine/​.profile : 
-# 
-# ------------------>​8 
-# #set PATH so it includes user's private bin if it exists 
-# if [ -d "​$HOME/​bin"​ ] ; then 
-#   ​PATH="​$HOME/​bin:​$PATH"​ 
-# fi 
-# ------------------>​8 
-# 
-# 
-# This script *must* be run by the Redmine user so 
-# switch user *before* running the script : 
-# root$ su - redmine 
-# 
-# Then : 
-# redmine$ server_puma.sh start 
-# redmine$ server_puma.sh stop 
-# redmine$ server_puma.sh restart 
- 
-SERVER_NAME="​redmine"​ 
- 
-RAILS_ENV="​production"​ 
- 
-REDMINE_PATH="​$HOME/​redmine"​ 
-CONFIG_FILE="​$HOME/​etc/​puma.rb"​ 
- 
-PID_FILE="​$REDMINE_PATH/​tmp/​pids/​puma.pid"​ 
-SOCK_FILE="​$REDMINE_PATH/​tmp/​sockets/​redmine.sock"​ 
- 
-BIND_URI="​unix://​$SOCK_FILE"​ 
- 
-THREADS="​0:​8"​ 
-WORKERS=2 
- 
-function start () { 
-  echo "Start Puma Server..."​ 
-  puma --daemon --preload --bind $BIND_URI \ 
-       ​--environment $RAILS_ENV --dir $REDMINE_PATH \ 
-       ​--workers $WORKERS --threads $THREADS \ 
-       ​--pidfile $PID_FILE --tag $SERVER_NAME \ 
-       ​--config $CONFIG_FILE 
-  echo "​Done"​ 
-} 
- 
-function stop () { 
-  echo "Stop Puma Server..."​ 
-  if [ -f $PID_FILE ] ; then 
-    kill $(cat $PID_FILE) 2>/​dev/​null 
-    rm -f $PID_FILE 
-    rm -f $SOCK_FILE 
-  fi 
-  echo "​Done"​ 
-} 
- 
-case "​$1"​ in 
-  start) 
-    start 
-  ;; 
-  stop) 
-    stop 
-  ;; 
-  restart) 
-    stop 
-    start 
-  ;; 
-  *) 
-    echo "Usage : server_puma.sh {start|stop|restart}"​ 
-  ;; 
-esac 
- 
-mkdir -p /​home/​redmine/​etc/​ 
-cd !$ 
-touch puma.rb 
- 
-stdout_redirect '/​home/​redmine/​redmine/​log/​puma.stderr.log',​ '/​home/​redmine/​redmine/​log/​puma.stdout.log'​ 
- 
-on_worker_boot do 
-  ActiveSupport.on_load(:​active_record) do 
-    ActiveRecord::​Base.establish_connection 
-  end 
-end 
- 
-/​etc/​init.d/​redmine start 
- 
-</​file>​ 
- 
-Автозагрузка сервисов 
- 
-<​code>​chkconfig nginx on 
-chkconfig posgresql on 
-chkconfig redmine on 
- 
-</​code>​ 
- 
-Установка и конфигурация дополнения redmine-git-hosting.io 
- 
-<​code>​su redmine 
- 
-cd REDMINE_ROOT/​plugins 
-git clone https://​github.com/​jbox-web/​redmine_bootstrap_kit.git 
-cd redmine_bootstrap_kit/​ 
-git checkout 0.2.4 
- 
-cd REDMINE_ROOT/​plugins 
-git clone redmine_git_hosting.git redmine_git_hosting 
-cd redmine_git_hosting/​ 
-git checkout e-moskva 
- 
-cd REDMINE_ROOT 
-bundle install --without development test 
-bundle exec rake redmine:​plugins:​migrate RAILS_ENV=production NAME=redmine_git_hosting 
- 
-cd ~ 
-mkdir ssh_keys 
-ssh-keygen -N ''​ -f ssh_keys/​redmine_gitolite_admin_id_rsa 
- 
-cd /tmp/ 
-git clone redmine_gitolite.git redmine_gitolite 
-cd redmine_gitolite 
-rm -rf /home/git/* 
-cp -r . /home/git/ 
-cp /​home/​redmine/​ssh_keys/​redmine_gitolite_admin_id_rsa.pub /home/git/ 
- 
-touch /​etc/​sudoers.d/​redmine 
- 
-Defaults:​redmine !requiretty 
-redmine ALL=(git) NOPASSWD:​ALL 
- 
-/​etc/​init.d/​redmine restart 
- 
-</​code>​ 
- 
-Проверка авторизации Redmine 
- 
-<​code>​root$ su redmine 
-redmine$ ssh -i ssh_keys/​redmine_gitolite_admin_id_rsa git@localhost info 
-# accept key 
- 
-</​code>​ 
- 
-Доп. инфо:\\ 
-[[http://​redmine-git-hosting.io/​get_started/​|http://​redmine-git-hosting.io/​get_started/​]]\\ 
-[[https://​www.redmine.org/​projects/​redmine/​wiki/​RusRedmineInstall|https://​www.redmine.org/​projects/​redmine/​wiki/​RusRedmineInstall]] 
- 
-{{tag> git }} 
-