努力したWiki

推敲の足りないメモ書き多数

ユーザ用ツール

サイト用ツール


documents:quick:quick-0019

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
documents:quick:quick-0019 [2024/11/01 16:25] – ↷ 移動操作に合わせてリンクを書き換えました。 k896951documents:quick:quick-0019 [2026/05/07 22:20] (現在) – ↷ 移動操作に合わせてリンクを書き換えました。 k896951
行 1: 行 1:
 +====== FreeBSDのパッケージでGitのリモートリポジトリをクイックセットアップ ======
  
 +2017/03/06\\
 +FreeBSDのpkgコマンドでお手軽に[[http://gitblit.com/|gitblit]]をインストール、セットアップし、gitのリモートリポジトリを作る。
 +portsでソースからコンパイルするより速いし、ちゃちゃっと準備するにはおすすめ。git自体の話はしない。
 +
 +今回は ezjail でJailをこしらえてその中にインストールします。FreeBSDのパッケージだと、Tomcat7で動作するサーブレットとしてインストールされるので、
 +既にTomcatを動作させているような場合はJailで隔離してインストールした方が良いです。
 +
 +===== gitblitインストール前の準備 =====
 +
 +Jailにインストールする場合、事前に設定しておく内容。\\
 +既にJailインスタンス git が作成され起動しているものとします。
 +
 +==== Jailホスト、Jailの設定 ====
 +
 +Jailの通信許可を設定します。
 +[[documents:os:freebsd:freebsd-023|FreeBSDのJailホスト、Jailで設定する項目のメモ]]を参照。
 +
 +===== gitblitインストール =====
 +
 +Jailにインストールする場合はJailにログインしておきます。
 +
 +==== gitblitパッケージをインストール ====
 +
 +pkgコマンドのsearchサブコマンドで git を検索するとわんさか出てきます。
 +パッケージ gitblit-1.8.0 "Open-source servlet for Git repositories" が見つかります。現時点でこれが無難そうです。
 +これをインストールします。依存関係のあるパッケージも同時にインストールされます。
 +
 +<code>
 +root@git:~ # pkg search git
 +bzr-git-0.6.8_1                Plugin for bzr to work with git trees
 +cave9-0.4.1.git20150408        Gravity cave-exploration game
 +cgit-1.1_1                     Fast, lightweight web frontend for Git repositories
 +digitemp-3.6.0                 Dallas Semiconductor 1-wire device reading console application
 +easygit-0.98                   Easy wrapper for git
 +fusefs-gitfs-0.4.5.1           Version controlled file system
 +geany-plugin-git-changebar-1.29 Geany plugin: highlight changed files tracked with Git
 +git-2.11.0_3                   Distributed source code management tool
 +git-bzr-ng-git20140423         Bi-directional git to bzr bridge
 +git-cinnabar-0.4.0             Git remote helper to interact with Mercurial repositories
 +git-codereview-0.0.0.2016030201 Command-line tool for working with Gerrit
 +git-cola-2.6                   Sleek and powerful Git GUI
 +git-cvs-0.1.0                  Tool to incrementally import changesets from CVS into Git
 +git-extras-4.2.0               Sub-commands for repo summary, repl, changelog population, and more
 +git-gui-2.11.0_3               Distributed source code management tool (GUI enabled)
 +git-lfs-1.5.4                  Git extension for versioning large files
 +git-lite-2.11.0_3              Distributed source code management tool (lite package)
 +git-merge-changelog-20140202   Git "merge" driver for GNU style ChangeLog files
 +git-modes-emacs25-1.2.2_1,   GNU Emacs modes for Git-related files
 +git-review-1.25.0              Allow to push code to review and interact with a Gerrit server
 +git-subversion-2.11.0_3        Distributed source code management tool with FreeBSD subversion bindings
 +gitblit-1.8.0                  Open-source servlet for Git repositories
 +gitea-1.0.0                    Compact self-hosted Git service
 +gitflow-1.8.0                  Git extensions to provide high-level repository operations
 +gitg-3.19.6_1                  GTK-based git repository viewer
 +gitg0-0.0.8_2                  GTK-based git repository viewer (gtk2 version)
 +github-backup-utils-2.7.1      GitHub Enterprise Backup Utilities
 +gitlab-8.11.11_6               Web GUI for managing git repositories
 +gitlab-shell-3.4.0_1           GitLab Shell handles git commands for GitLab
 +gitlab-workhorse-0.7.11        Smart reverse proxy for GitLab
 +gitlist-0.5.0                  Web based Git repository browser written in PHP
 +gitolite-3.6.6,              Access control layer on top of git
 +gitolite2-2.3.1_1              Access control layer on top of git
 +gitphp-0.2.8_1                 Web based git repository browser written in PHP
 +gittrac-2.0.1_1                Web-Based Bug And Patch-Set Tracking System For Git
 +griels-quest-git20150512       Griel's Quest for the Sangraal
 +gtk-digital-cream-theme-1.0_8  Neat and clean theme for GNOME desktop
 +gtk-digital-harmony-theme-1.1_8 Another popular theme for GNOME desktop
 +hs-git-annex-5.20150727_1      Manage files with git, without checking their contents into git
 +hs-gitit-0.11.1                Wiki using happstack, git or darcs, and pandoc
 +libgit2-0.24.0                 Portable, pure C implementation of the Git core
 +libgit2-glib-0.24.0_1          Glib wrapper library around the libgit2 git access library
 +libvterm-git20160104           Implementation of a VT220/xterm/ECMA-48 terminal emulator
 +magit-emacs25-2.8.0            Interface to Git for Emacs
 +metacity-digital-cream-theme-1.0_8 Neat and clean theme for GNOME desktop
 +metacity-digital-harmony-theme-1.1_8 Another popular theme for GNOME desktop
 +multicat-git20161007           Simple and efficient multicast and transport stream manipulation
 +p5-Algorithm-CheckDigits-1.3.2 Perl extension to generate and test check digits
 +p5-App-GitGot-1.333            Tool to make it easier to manage multiple git repositories
 +p5-App-GitHub-1.0.1_1          GitHub Command Tools
 +p5-Config-GitLike-1.16         Simple git-compatible config file parser for Perl
 +p5-Git-PurePerl-0.53           Pure Perl interface to Git repositories
 +p5-Git-Repository-1.320        Perl interface to Git repositories
 +p5-Git-Repository-Plugin-Log-1.314 Add a log() method to Git::Repository
 +p5-Git-Sub-0.161810            Git commands imported into the git:: namespace
 +p5-Git-Version-Compare-1.004   Functions to compare Git versions
 +p5-Git-Wrapper-0.047           Wrap git(7) command-line interface
 +p5-GitDDL-0.03                 Perl extension for database migration utility by git managed sql
 +p5-GitDDL-Migrator-0.08        Perl extension to extended p5-GitDDL
 +p5-Net-GitHub-0.86             Perl interface to github.com
 +p5-Test-Requires-Git-1.007     Check your test requirements against the available version of Git
 +p5-WWW-GitHub-Gist-0.17_1      Perl interface to Gist
 +p5-github_creator-0.15_1       Create a Github repository for your Perl module
 +pear-SebastianBergmann_Git-1.2.0 Simple wrapper for Git
 +pear-VersionControl_Git-0.4.4  OO interface to handle Git repository
 +py27-GitPython-1.0.1           Python Git Library
 +py27-django-taggit-0.15.0_1    Reusable Django application for simple tagging
 +py27-git-up-1.3.0              Python implementation of 'git up'
 +py27-gitdb-0.6.4_2             Pure Python git object database
 +py27-gitless-0.8.5             Version control system built on top of Git
 +py27-gitosis-0.2.20090917_1    Software for hosting git repositories
 +py27-hg-git-0.8.5.20161206     Mercurial extension to pull from or push to a Git repository
 +py27-pygit2-0.24.1             Python bindings for libgit2
 +py27-pygithub-1.26.0           Python library implementing the full GitHub API v3
 +py27-python-digitalocean-1.8   API to manage digitalocean.com droplets
 +py27-setuptools-git-1.1        Setuptools plugin for git
 +py27-wsgitools-0.3             Useful middlewares and filters for wsgi as well as scgi servers
 +qgit-qt4-2.3_1                 Graphical interface to git repositories
 +rubygem-gemnasium-gitlab-service-0.2.6 Gemnasium support for GitLab projects
 +rubygem-git-1.2.9.1            Ruby wrapper library around git(1)
 +rubygem-git-version-bump-0.15.1 Manage your app version entirely via git tags
 +rubygem-github-linguist-5.0.0  GitHub Language detection
 +rubygem-github-markdown-0.6.9  Self-contained Markdown parser for GitHub
 +rubygem-github-markup-1.4.0_1  Render any fancy markup
 +rubygem-github_api-0.14.5      Wrapper that supports all of the GitHub API v3 methods
 +rubygem-gitlab-flowdock-git-hook-1.0.1 GitLab-patched Git Post-Receive hook for Flowdock
 +rubygem-gitlab-gollum-lib-1.1.0_3 Simple, Git-powered wiki with a sweet API and local frontend
 +rubygem-gitlab-grack-2.0.2_2   Ruby/Rack Git Smart-HTTP Server Handler
 +rubygem-gitlab-grit-2.8.1_1    Library for extracting information from a git repository
 +rubygem-gitlab-linguist-3.0.1  GitHub Language detection
 +rubygem-gitlab-markup-1.5.0    Render any fancy GitLab markup
 +rubygem-gitlab-pygments.rb-0.5.4_1 Exposes the pygments syntax highlighter to Ruby
 +rubygem-gitlab_emoji-0.3.1_1   Provides Gitlab Emoji assets
 +rubygem-gitlab_git-10.7.0,   GitLab wrapper around git objects
 +rubygem-gitlab_meta-7.0        GitLab meta gem
 +rubygem-gitlab_omniauth-ldap-1.2.1 LDAP strategy for OmniAuth
 +rubygem-html-pipeline-gitlab-0.2.0 Extension filters for html-pipeline used by GitLab
 +rubygem-omniauth-github-1.1.2  Official OmniAuth strategy for GitHub
 +rubygem-omniauth-github-discourse-1.1.2 Fork of Official OmniAuth strategy for GitHub
 +rubygem-omniauth-gitlab-1.0.2  OmniAuth strategy for GitLab
 +rubygem-svn2git-2.4.0          Ruby utilities for exporting SVN repo to git
 +sagittarius-scheme-0.7.11      R6RS/R7RS Scheme system
 +stagit-0.4                     Static Git page generator
 +svn2git-1.0.11.a.20151201      Imports svn repositories into git
 +uwsgitop-0.10                  uWSGI top-like app
 +xtgyoretsu-git20140822         Extended ncurses version of "Renshu-cho gyoretsu"
 +root@git:~ # 
 +root@git:~ # pkg install gitblit-1.8.0
 +Updating FreeBSD repository catalogue...
 +FreeBSD repository is up-to-date.
 +All repositories are up-to-date.
 +The following 36 package(s) will be affected (of 0 checked):
 +
 +New packages to be INSTALLED:
 +        gitblit: 1.8.0
 +        openjdk8: 8.112.16_2
 +        libXt: 1.1.5,1
 +        xproto: 7.0.31
 +        libSM: 1.2.2_3,1
 +        libICE: 1.0.9_1,1
 +        libX11: 1.6.4,1
 +        libXdmcp: 1.1.2
 +        libxcb: 1.12
 +        libxml2: 2.9.4
 +        libpthread-stubs: 0.3_6
 +        libXau: 1.0.8_3
 +        kbproto: 1.0.7
 +        libXtst: 1.2.3
 +        recordproto: 1.14.2
 +        inputproto: 2.3.2
 +        libXext: 1.3.3_1,1
 +        xextproto: 7.3.0
 +        libXi: 1.7.8,1
 +        libXfixes: 5.0.3
 +        fixesproto: 5.0
 +        giflib: 5.1.4
 +        java-zoneinfo: 2016.j
 +        libXrender: 0.9.10
 +        renderproto: 0.11.1
 +        freetype2: 2.6.3
 +        fontconfig: 2.12.1,1
 +        expat: 2.2.0_1
 +        alsa-lib: 1.1.2
 +        dejavu: 2.37
 +        mkfontdir: 1.0.7
 +        mkfontscale: 1.1.2
 +        libfontenc: 1.1.3
 +        javavmwrapper: 2.5_2
 +        tomcat7: 7.0.73
 +        jakarta-commons-daemon: 1.0.15
 +
 +Number of packages to be installed: 36
 +
 +The process will require 260 MiB more space.
 +110 MiB to be downloaded.
 +
 +Proceed with this action? [y/N]: y
 +[git] Fetching gitblit-1.8.0.txz: 100%   36 MiB   3.2MB/   00:12
 +[git] Fetching openjdk8-8.112.16_2.txz:   6%    4 MiB   2.3MB/   00:31 ETA
 +
 +
 +
 +
 +[git] [34/36] Installing jakarta-commons-daemon-1.0.15...
 +[git] [34/36] Extracting jakarta-commons-daemon-1.0.15: 100%
 +[git] [35/36] Installing tomcat7-7.0.73...
 +[git] [35/36] Extracting tomcat7-7.0.73: 100%
 +[git] [36/36] Installing gitblit-1.8.0...
 +===> Creating groups.
 +Using existing group 'www'.
 +===> Creating users
 +Using existing user 'www'.
 +[git] [36/36] Extracting gitblit-1.8.0: 100%
 +Message from dejavu-2.37:
 +Make sure that the freetype module is loaded.  If it is not, add the following
 +line to the "Modules" section of your X Windows configuration file:
 +
 +        Load "freetype"
 +
 +Add the following line to the "Files" section of X Windows configuration file:
 +
 +        FontPath "/usr/local/share/fonts/dejavu/"
 +
 +Note: your X Windows configuration file is typically /etc/X11/XF86Config
 +if you are using XFree86, and /etc/X11/xorg.conf if you are using X.Org.
 +Message from openjdk8-8.112.16_2:
 +======================================================================
 +
 +This OpenJDK implementation requires fdescfs(5) mounted on /dev/fd and
 +procfs(5) mounted on /proc.
 +
 +If you have not done it yet, please do the following:
 +
 +        mount -t fdescfs fdesc /dev/fd
 +        mount -t procfs proc /proc
 +
 +To make it permanent, you need the following lines in /etc/fstab:
 +
 +        fdesc   /dev/fd         fdescfs         rw      0       0
 +        proc    /proc           procfs          rw      0       0
 +
 +======================================================================
 +Message from gitblit-1.8.0:
 +************************************************************************
 +
 +        By default, Gitblit stores all data (users, settings,
 +        repositories, etc) in ${contextFolder}/WEB-INF/data.
 +        Specifying an alternate "baseFolder" allows for simple
 +        upgrades in the future.
 +
 +        You can specify "baseFolder":
 +        - via GITBLIT_HOME, or
 +        - via web.xml, or
 +        - via JNDI.
 +
 +        For value of "baseFolder" use value "/usr/local/gitblit".
 +
 +        You can login with the default administrator credentials:
 +        admin / admin
 +
 +        !!!MAKE SURE TO CHANGE THE ADMINISTRATOR USERNAME AND/OR PASSWORD!!!
 +
 +
 +        More informations:
 +        http://gitblit.com/setup_war.html
 +
 +************************************************************************
 +root@git:~ #
 +</code>
 +
 +openJDKがインストールされていることからもわかりますように、gitblitはJava製です。そしてTomcat7がインストールされていることから、このFreeBSDのパッケージではサーブレットとして動作するもののようです。
 +
 +
 +==== /etc/rc.confに追記 ====
 +
 +指示は出てこなかったのですがTomcat7を動作させるために /etc/rc.conf へ追記します。
 +
 +<code txt /etc/rc.conf>
 +tomcat7_enable="YES"
 +</code>
 +
 +==== Tomcat7の tomcat-users.xml ファイルの編集 ====
 +
 +Tomcat7は /usr/local/apache-tomcat-7.0 にインストールされ、gitblitは /usr/local/apache-tomcat-7.0/webapps/gitblit にインストールされています。
 +
 +Tomcat7のサーバーステータスアプリやAPPマネージャを使いたい場合には、ユーザ "tomcat" を利用可能にしておきます。
 +
 +<code txt /usr/local/apache-tomcat-7.0/conf/tomcat-users.xml>
 +  <role rolename="tomcat"/>
 +  <role rolename="manager-gui"/>
 +  <role rolename="role1"/>
 +  <user username="tomcat" password="パスワード" roles="tomcat,manager-gui"/>
 +<!-- 以下のユーザは無効のまま
 +  <user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
 +  <user username="role1" password="<must-be-changed>" roles="role1"/>
 +-->
 +</code>
 +
 +
 +===== Tomcat7の起動 =====
 +
 +service コマンドでtomcat7を起動します。
 +
 +<code>
 +root@git:~ # service tomcat7 start
 +Starting tomcat7.
 +root@git:~ #
 +</code>
 +
 +ブラウザからアクセスしてみます。URLは http://host:8080/ です。
 +{{:documents:quick:other-0019-01.png?nolink|tomcatルート}}
 +
 +
 +===== gitblitのWebUIにアクセスする =====
 +
 +コンテキストルートが gitblit なので URLは http://host:8080/gitblit になります。
 +{{:documents:quick:other-0019-02.png?nolink|bitblit UI}}
 +
 +adminアカウントのパスワードがadminだと説明表示されていたので、とりあえずログインしてパスワードだけ変更しておきます。
 +
 +{{:documents:quick:other-0019-03.png?nolink|}}\\
 +{{:documents:quick:other-0019-04.png?nolink|}}
 +
 +もし更新に失敗するなら、ディレクトリの所有者を変えておきます。
 +<code>
 +root@git:/usr/local/apache-tomcat-7.0/webapps # ll
 +total 28
 +drwxr-xr-x   3 www   www  1024 Mar  4 19:42 ROOT/
 +drwxr-xr-x  14 www   www  2048 Mar  4 19:42 docs/
 +drwxr-xr-x   7 www   www   512 Mar  4 19:42 examples/
 +drwxr-xr-x   7 root  www  4608 Mar  4 19:42 gitblit/
 +drwxr-xr-x   5 www   www   512 Mar  4 19:42 host-manager/
 +drwxr-xr-x   5 www   www   512 Mar  4 19:42 manager/
 +root@git:/usr/local/apache-tomcat-7.0/webapps # chown -R www:www gitblit
 +root@git:/usr/local/apache-tomcat-7.0/webapps # ll
 +total 28
 +drwxr-xr-x   3 www  www  1024 Mar  4 19:42 ROOT/
 +drwxr-xr-x  14 www  www  2048 Mar  4 19:42 docs/
 +drwxr-xr-x   7 www  www   512 Mar  4 19:42 examples/
 +drwxr-xr-x   7 www  www  4608 Mar  4 19:42 gitblit/
 +drwxr-xr-x   5 www  www   512 Mar  4 19:42 host-manager/
 +drwxr-xr-x   5 www  www   512 Mar  4 19:42 manager/
 +root@git:/usr/local/apache-tomcat-7.0/webapps #
 +</code>
 +
 +===== リモートリポジトリを作成する =====
 +
 +あとはメニューから操作すればいい。
 +{{:documents:quick:other-0019-05.png?nolink|}}
 +
 +{{tag> 技術資料 FreeBSD Jail Git gitblit }}
documents/quick/quick-0019.txt · 最終更新: by k896951

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki