DebianでのTomcat用のSCMマネージャーに基づいた独自のGIT / SVN / Mercurialサーバーのセットアップ

先日、チームはBitbucketが私たちのために小さくなったという事実に直面しました、そして、いずれにせよ、企業セキュリティの類似性に焦点を当てるには、遅かれ早かれ、会社の外部にあるプライベートリポジトリから独自のインフラストラクチャに移動する必要があります。 インターネットをサーフィンした後、いくつかの理由で既製の​​SCMマネージャーソリューションを停止することが決定されました







インストールするOS:Debian7

これ以前には誰もそのようなことに遭遇したことはなく、記事はインターネットとマニュアルを数時間投げた結果であることに注意してください。

Redmineが回転しているため、TomcatにSCMがインストールされました

カットの下のインストールと設定自体:





ユーティリティのセットアップ



  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. 解凍してゴミを取り除き、/ etcにTomcatがあるフォルダーをドロップします

     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
          
          





    <tomcat-users>タグ内に行を追加します

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



  8. ポート80にTomkatサービスを投げる

    正しいが難しい
     nano /etc/tomcat7/conf/server.xml
          
          





    行を変更します

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





    1024未満のポートに転送するためにauthbindを配置します

      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. Tomcatを再起動します

     /etc/init.d/tomcat restart
          
          







SCMインストール





ログインの詳細:scmadmin / scmadmin



[ユーザー]セクションで、独自の



独自のリポジトリを作成する



将来的には、

HTTP://***.***.***.178/scm/git/tglync、これは将来クローンします。



リポジトリは簡単にインポートできます。また、多くの既製のプラグインがあり、これを使用して、通知を追加するなど、SCMを自分用に構成できます。 プラグインもWebインターフェースを介して接続されます。

必要に応じて、SCM Webクライアントを外部でカスタマイズすることもできます。



皆さんありがとう、それが役に立たなかったことを願っています。



All Articles