Настройка Собственного Git/Svn/Mercurial Сервера На Базе Scm Manager Для Tomcat Под Debian

На днях мы с командой столкнулись с тем, что Bitbucket стал для нас слишком мал, а ориентация на что-то вроде корпоративной безопасности в любом случае рано или поздно потребует перехода от частных репозиториев, расположенных за пределами компании, к наша собственная инфраструктура.

Покопавшись в Интернете, было решено остановиться на готовом решении SCM - менеджера по ряду причин.

  • Простота установки
  • Простое администрирование через веб-интерфейс.

  • Поддержка GIT и SVN (важно, поскольку используются оба)
ОС для установки: Debian7. Стоит отметить, что ни с чем подобным здесь никто раньше не сталкивался, а статья — результат нескольких часов поиска в Интернете и мануалах.

SCM был установлен на Tomcat, так как на нем также работает Redmine Сама установка и настройка ниже под катом:

Настройка служебной программы

  1. Установите JRE (требуется для Apache Tomcat)
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
       

    su apt-get install openjdk-6-jre

  2. Загрузите последнюю версию Apache Tomcat отсюда (Необходим для работы сервисов SCM-менеджера)

    cd /tmp wget file http://www.sai.msu.su/apache/tomcat/tomcat-7/v7.0.41/bin/apache-tomcat-7.0.41.tar.gz

  3. Распакуйте его, удалите мусор и закиньте папку Tomcat в /etc.

    tar xzf apache-tomcat-7.0.41.tar.gz mv apache-tomcat-7.0.41 tomcat7 rm apache-tomcat-7.0.41.tar.gz mv /tmp/tomcat7/ /etc

  4. Создадим группу, пользователя для Tomcat и назначим права на каталог

    groupadd tomcat7 useradd -g tomcat7 -d /etc/tomcat7 tomcat7 usermod -G www-data tomcat7 chown -R tomcat7:tomcat7 /etc/tomcat7

  5. Добавим Tomcat в автозагрузку (Обратите внимание на переменную JAVA_HOME в скрипте — у вас может не быть amd64, это зависит от архитектуры сервера)

    nano /etc/init.d/tomcat



    #!/bin/bash CATALINA_HOME=/etc/tomcat7; export CATALINA_HOME JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64; export JAVA_HOME TOMCAT_OWNER=tomcat7; export TOMCAT_OWNER JAVA_OPTS="-Xms128M -Xmx128M"; export JAVA_OPTS start() { echo -n "Starting Tomcat: " su $TOMCAT_OWNER -c $CATALINA_HOME/bin/startup.sh } stop() { echo -n "Stopping Tomcat: " su $TOMCAT_OWNER -c $CATALINA_HOME/bin/shutdown.sh } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; *) echo $"Usage: tomcat {start|stop|restart}" exit esac



    chmod +x /etc/tomcat7/bin/*.

    sh chmod +x /etc/init.d/tomcat

  6. Запускаем и проверяем сервер

    /etc/init.d/tomcat start

    http://***.

    ***.

    ***.

    178:8080

  7. Чтобы получить доступ к интерфейсу Tomcat к файлу

    nano /etc/tomcat7/conf/tomcat-users.xml

    добавить строку внутри ярлык

    <user name="admin" password="password" roles="manager-gui,manager-status,manager-script,manager-jmx" />

  8. Переносим сервис Tomcat на 80 порт Правильно, но сложно

    nano /etc/tomcat7/conf/server.xml

    Изменение строк

    <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

    Установите authbind для передачи его на порты ниже 1024.

    apt-get install authbind



    touch /etc/authbind/byport/80 chmod 500 /etc/authbind/byport/80 chown tomcat7 /etc/authbind/byport/80

    В файл

    nano /etc/tomcat7/bin/setenv.sh

    записывать

    CATALINA_OPTS="-Djava.net.preferIPv4Stack=true"

    и измените последнюю строку в файле

    nano /etc/tomcat7/bin/startup.sh



    exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "$@"

  9. Не совсем верно

    /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 /sbin/service iptables save

  10. Перезагрузить Томкэт

    /etc/init.d/tomcat restart



установка СКМ

Данные для входа: scmadmin/scmadmin

Настройка собственного GIT/SVN/Mercurial сервера на базе SCM Manager для Tomcat под Debian

В разделе Пользователи добавляем свои

Настройка собственного GIT/SVN/Mercurial сервера на базе SCM Manager для Tomcat под Debian

Создайте свой собственный репозиторий

Настройка собственного GIT/SVN/Mercurial сервера на базе SCM Manager для Tomcat под Debian

В будущем он будет доступен по этой ссылке.

http://***.

***.

***.

178/scm/git/tglync, который мы будем клонировать в будущем.

Репозитории легко импортируются, а также есть множество готовых плагинов, с помощью которых можно настроить SCM под себя, например, добавить уведомления.

Плагины также подключаются через веб-интерфейс.

При желании веб-клиент SCM также можно настроить извне.

Всем спасибо, надеюсь было не бесполезно.

Теги: #Debian #scm-manager #git #svn #manual #git

Вместе с данным постом часто просматривают: