Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Gitwebのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Gitweb
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:Git ウェブインターフェイス]] [[en:Gitweb]] Gitweb は [[git]] 自体に含まれているデフォルトのウェブインターフェイスです。 Gitweb は fcgi をネイティブでサポートしているため、cgi スクリプトとしてラッピングする必要はありません。[https://sixohthree.com/1402/running-gitweb-in-fastcgi-mode] == インストール == Gitweb をインストールするには、まず {{Pkg|git}} と [[ウェブサーバー]] をインストールしてください。ここで、テストを行いたい場合は、{{ic|git instaweb}} のヘルプを見て下さい。完全なセットアップをする場合、以下を読んで下さい。 以下のすべての例では、{{Pkg|perl-cgi}} パッケージを [[インストール]] する必要があります。({{bug|45431}}) == Web サーバーの設定 == === Apache === {{ic|/etc/httpd/conf/httpd.conf}} の最後に次の行を追加します: Alias /gitweb "/usr/share/gitweb" <Directory "/usr/share/gitweb"> DirectoryIndex gitweb.cgi Options ExecCGI Require all granted <Files gitweb.cgi> SetHandler cgi-script </Files> SetEnv GITWEB_CONFIG /etc/gitweb.conf </Directory> または、{{ic|etc/httpd/conf/extra/gitweb.conf}} のような別のファイルに追加します。 次に、{{ic|httpd.conf}} の末尾に次の行を追加します: # gitweb configuration Include conf/extra/gitweb.conf Apache が Gitweb の表示を拒否し、代わりに Perl スクリプトのプレーンなソースコードを出力する場合は、Apache が CGI の実行を許可するように設定されていない可能性があります。{{ic|httpd.conf}} で次のコメントが解除されていることを確認してください。 <IfModule !mpm_prefork_module> LoadModule cgid_module modules/mod_cgid.so </IfModule> <IfModule mpm_prefork_module> LoadModule cgi_module modules/mod_cgi.so </IfModule> {{ic|httpd.service}} を [[再起動]] して、これらの変更を適用します。Apache を使用した CGI 実行の詳細については、https://httpd.apache.org/docs/2.4/howto/cgi.html を参照してください。 === Lighttpd === 以下を {{ic|/etc/lighttpd/lighttpd.conf}} に追加: server.modules += ( "mod_alias", "mod_cgi", "mod_redirect", "mod_setenv" ) setenv.add-environment = ( "GITWEB_CONFIG" => "/etc/gitweb/gitweb.conf" ) url.redirect += ( "^/gitweb$" => "/gitweb/" ) alias.url += ( "/gitweb/" => "/usr/share/gitweb/" ) $HTTP["url"] =~ "^/gitweb/" { cgi.assign = ( ".cgi" => "" ) server.indexfiles = ( "gitweb.cgi" ) } 次に、{{ic|lighttpd.service}} を [[再起動]] して、これらの変更を適用します。また、GitWeb を正しく表示させるには {{ic|mimetype.assign}} の行に {{ic|".css" => "text/css"}} を追加する必要があります。 === Nginx === この場所を nginx 設定に追加します (場所を変更することもできます): {{hc|/etc/nginx/nginx.conf| location /gitweb.cgi { include fastcgi_params; gzip off; fastcgi_param SCRIPT_FILENAME /usr/share/gitweb/gitweb.cgi; fastcgi_param GITWEB_CONFIG /etc/gitweb.conf; fastcgi_pass unix:/run/fcgiwrap.sock; } location / { root /usr/share/gitweb; index gitweb.cgi; } }} [[Nginx#CGI 実装]] に従う場合は、{{ic|include fastcgi_params;}} を {{ic|include fastcgi.conf;}} に置き換えてみてください。 最後に、{{Pkg|fcgiwrap}} ををインストールして {{ic|fcgiwrap.socket}} を [[起動/有効化]] します。 == Gitweb の設定 == すべての設定オプションのリストについては、{{man|5|gitweb.conf}} を参照してください。 === 基本設定 === ファイル {{ic|/etc/gitweb.conf}} を開き (存在しない場合は作成し)、これをその中に配置します: {{hc|/etc/gitweb.conf|2= # The directories where your projects are. Must not end with a slash. our $projectroot = "/path/to/your/repositories"; # Base URLs for links displayed in the web interface. our @git_base_url_list = qw(git://<your_server> http://git@<your_server>); }} "blame" ビュー (ソースファイルの各行の作成者を表示) を有効にするには、次の行を追加します。 $feature{'blame'}{'default'} = [1]; 設定が完了したら、Web サーバーを [[再起動]] します。 === リポジトリの追加 === リポジトリを追加するには、リポジトリフォルダに移動し、リポジトリを次のように作成します: $ mkdir my_repository.git $ git init --bare my_repository.git/ $ cd my_repository.git/ $ touch git-daemon-export-ok $ echo "Short project's description" > description 次に、{{ic|gitweb.config}} ファイルを開き、これを追加します。 {{hc|gitweb.config|2= [gitweb] owner = ''Your Name'' }} これにより、Gitweb の "owner" フィールドが入力されます。必須ではありません。 これは、このリポジトリを、コミットをプッシュする "central" リポジトリストレージとして使用し、オーバーヘッドを最小限に抑え、git デーモンを使用できるようにするために git-daemon-export-ok と --bare がここにあることを前提としています。 リポジトリの作成は以上です。これで http://localhost/gitweb で確認できるようになります (すべてがうまくいったと仮定します) Gitweb CGI スクリプトはリポジトリフォルダーを読み取るだけなので、新しいリポジトリのために Apache を再起動する必要はありません。 === シンタックスハイライト === Gitweb でシンタックスハイライトを使うには、まず {{Pkg|highlight}} パッケージをインストールしてください。 highlight をインストールしたら、以下の行を {{ic|gitweb.conf}} に追加します: {{bc|<nowiki>$feature{'highlight'}{'default'} = [1];</nowiki>}} ファイルを保存すればハイライトが有効になります。 == リポジトリの追加 == リポジトリフォルダにリポジトリを追加するには、以下のようにリポジトリを作成: mkdir my_repository.git git init --bare my_repository.git/ cd my_repository.git/ touch git-daemon-export-ok echo "Short project's description" > description 次に {{ic|config}} ファイルを開いて以下を追加: [gitweb] owner = Your Name これで gitweb の "Owner" フィールドが入りますが、必須ではありません。 上記の設定では、このリポジトリをコミットのプッシュ先の"中央"リポジトリストレージとして扱っているので、オーバーヘッドを最小限に抑え、git デーモンを使えるようにするために git-daemon-export-ok と --bare を使っています。 上記の設定でリポジトリが作成できます。全て上手く設定できていれば http://localhost/gitweb で確認できます。gitweb の cgi スクリプトがリポジトリのフォルダを読み込むので、リポジトリを追加したときに apache を再起動する必要はありません。 == トラブルシューティング == === An error occurred while reading CGI reply (no response received) === http://localhost/gitweb をブラウザで開いたときに、このエラーメッセージが表示されることがあります。コマンドラインで {{ic|gitweb.cgi}} を実行することで、完全なエラーメッセージを取得することができます ({{ic|ln -s /usr/share/gitweb /srv/http}} を実行している場合): {{hc|$ perl /srv/http/gitweb/gitweb.cgi| Can't locate CGI.pm in @INC (you may need to install the CGI module) (@INC contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl .) at gitweb/gitweb.cgi line 13. }} この問題を解決するには、{{Pkg|perl-cgi}} をインストールしてください。バグレポートも存在します: {{Bug|45431}}。 == 参照 == * [https://www.howtoforge.com/how-to-install-a-public-git-repository-on-a-debian-server How To Install A Public Git Repository On A Debian Server] — このページは主に HowtoForge を基にしています。
このページで使用されているテンプレート:
テンプレート:Bc
(
ソースを閲覧
)
テンプレート:Bug
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:Man
(
ソースを閲覧
)
テンプレート:Pkg
(
ソースを閲覧
)
Gitweb
に戻る。
検索
検索
Gitwebのソースを表示
話題を追加