VMware+centOS 8 で http プロトコルに基づく Git サービスを構築する方法

VMware+centOS 8 で http プロトコルに基づく Git サービスを構築する方法

1. 原因

必見

この記事の最終的な目標は、Android端末が仮想マシン内のgitサービスにアクセスできるようにすることです。そのため、httpプロトコルでgitサーバーを構築する必要があります。httpプロトコルでgitサーバーを構築する方法は、先人たちによって説明されています。著者はここで先人たちの研究を参考にしています。

2. 機器情報

Windows 10 Home 中国語版 (1903) VMware 15Pro (15.5.0 ビルド 14665864) CentOS 8 (1905 は GUI を閉じており、VMware は NAT モードを使用しています)

3. 準備

1. Windows ファイアウォールでポート 80 を開きます。コントロール パネル -> システムとセキュリティ -> Windows Defender ファイアウォール。詳細設定をクリック -> 受信の規則をクリック -> 新しい規則。作成する規則の種類をポートに変更します。図のように設定します。

ここに画像の説明を挿入

「接続を許可する」を選択し、指示に従って設定します

ここに画像の説明を挿入

名前設定: [送信規則] -> [新しい規則の作成] をクリックします。以降の手順は、上記の受信規則の設定と一致します。

2. SELinuxを無効にする

selinux設定ファイルを開く

vi /etc/selinux/config

SELinuxを永続的に無効にするには、SELINUX=disabledに変更してcentOSを再起動します。

注記:

1. SELinux には、Enforcing、Permissive、Disabled の 3 つの状態があります。2. 現在の状態を表示するコマンド: getenforcing 3. 一時シャットダウン コマンド: setenforce 0 4. 一時有効化: setenforce 1 (永続的なシャットダウン後に有効化することはできません)

(III) 仮想ネットワークエディタを変更します。VMwareメニューバーの「編集」→「仮想ネットワークエディタ」→「設定の変更」をクリックします。「VMnet8 NATモード」→「NAT設定」→「追加」をクリックします。図のように設定します(仮想マシンのIPアドレスはifconfigで照会し、説明は任意です)。

4. Apacheをインストールする

(I) httpdをインストールする

yum install httpd

(II) httpdサービスを起動する

systemctl start httpd.service

(III) ファイアウォール設定ファイルを変更し、ファイアウォールを再起動する

 ファイアウォールコマンド --zone=public --add-port=80/tcp --permanent systemctl で、firewalld.service を再起動します。

面倒な場合はファイアウォールをオフにしてください

注記:

1. ファイアウォールの状態を確認します: systemctl status firewalld 2. ファイアウォールを一時的にオフにします: systemctl stop firewalld 3. ファイアウォールを永続的にオフにします: systemctl enable firewalld 4. ファイアウォールを再起動します: systemctl enable firewalld (このコマンドはファイアウォールを永続的にオンにすることができます)

5. gitを設定する

1. 空の倉庫を作成する

mkdir -p /home/gitrepo/share.git //空のリポジトリは任意のディレクトリに設定できます cd /home/gitrepo/share.gitgit init --barechown -R apache:apache /home/gitrepo

(II) アカウントを作成し、権限を設定する

htpasswd -m -c /etc/httpd/conf.d/git-team.htpasswd XXX //XXX はアカウント名で、任意に設定できます chown apache:apache /etc/httpd/conf.d/git-team.htpasswdchmod 640 /etc/httpd/conf.d/git-team.htpasswd

6. Apacheを設定する

1. 設定ファイルを編集する

vi /etc/httpd/conf/httpd.conf

IncludeOptional conf.d/*.confの最後の行の上に次の内容を追加します。

<仮想ホスト *:80>
 ServerName XXXX #centOS IPアドレス SetEnv GIT_HTTP_EXPORT_ALL
 SetEnv GIT_PROJECT_ROOT /home/gitrepo #これは空のリポジトリが作成される場所と一致している必要があります ScriptAlias ​​/git/ /usr/libexec/git-core/git-http-backend/
 <場所 />
 認証タイプ 基本
 認証名「Git」
 認証ユーザーファイル /etc/httpd/conf.d/git-team.htpasswd
 有効なユーザーを要求する
 </場所>
</仮想ホスト>

(II) httpdを再起動する

systemctl restart httpd.service

注記:

1. httpd サービスのステータスを照会します: systemctl status httpd.service 2. 起動時に httpd サービスが開始されているかどうかを照会します: systemctl is-enabled httpd.service 3. 起動時に httpd サービスが開始されるように設定します: systemctl enable httpd.service 4. 起動時に httpd サービスが開始されないように設定します: systemctl disabled httpd.service

上記の操作を完了すると、クローンなどのgit操作を外部ネットワーク上で実行できます。

git クローン http://windows_IP_address/git/share.git

7. Android端末から上記のGitサービスにアクセスする

Pocket Gitがお勧め

ダウンロードアドレス:

リンク: https://pan.baidu.com/s/1JAUsvU-qKAg-7FJGWv2JSA

抽出コード: 9cgu

これまで、http プロトコルに基づく Git サービスを構築し、Pocket Git を使用してコンピューター上の Android と CentOS 8 間でファイルを転送してきました。

要約する

上記は、VMware+centOS 8 上で http プロトコルベースの Git サービスを構築するために編集者が紹介した方法です。皆様のお役に立てれば幸いです。

以下もご興味があるかもしれません:
  • SpringBoot+OkHttp+fastjson を使用して Github の OAuth サードパーティ ログインを実装する
  • Linux で毎回パスワードを入力せずに https を使用して git に接続する方法

<<:  一般的なテーブルコンポーネントの Vue カプセル化の完全な手順記録

>>:  Windows 10 で MySQL の解凍バージョンをインストールする方法の詳細なグラフィック チュートリアル

推薦する

Reactの簡単な紹介

目次1. CDNの紹介1.1 react (最初にインポート) 1.2 react-dom(後ほど紹...

この記事は、JQueryの基本的な操作を理解し、始めるのに役立ちます。

目次1. Jquery を使用する手順: (1)jsライブラリをインポートする(2)ページ読み込みイ...

DOCTYPE宣言の機能と使い方の詳しい説明

1. ブラウザのレンダリングモードとdoctype一部の Web ページは標準に従って作成されていま...

すべてまたは逆の選択機能を実現するJavaScript

この記事では、全選択または選択を反転する機能を実現するためのJavaScriptの具体的なコードを参...

MySQL マルチバージョン同時実行制御メカニズム (MVCC) ソースコードの詳細な説明

目次1. はじめに2. MVCC (マルチバージョン同時実行制御メカニズム) 2.1 繰り返し読み取...

MySQLデータベースのロック機構の分析

同時アクセスの場合、非反復読み取りやその他の読み取り現象が発生する可能性があります。高い同時実行性に...

JavaScript の基礎におけるデータ型の詳細な説明

目次1. データ型1.1 なぜデータ型が必要なのか? 1.2 変数のデータ型1.3 データ型の分類2...

Linuxネットワーク構成ツールの使用

この記事では、RHEL8 のネットワーク サービスとネットワーク構成ツール、およびネットワーク ファ...

WeChatアプレット+EChartsで動的更新プロセス記録を実現

序文最近、小さなプログラムでリアルタイムにチャートを更新するという要件に遭遇しました。最初は wx-...

MySQLデータベースで列を追加、削除、変更する方法

この記事では、例を使用して、MySQL データベースの列を追加、削除、および変更する方法について説明...

Mysql データベース ストアド プロシージャの基本構文の説明

プロシージャ sp_name を削除します//これまで、MYSQL 構文の基礎知識について説明して...

Javascriptでオブザーバーモードを実装する方法を教えます

目次オブザーバーパターンとは何ですか?シナリオシミュレーションコードの実装コードのリファクタリング要...

ECMAScript のイテレータの詳細な説明

目次序文以前のバージョンイテレータパターンイテレータファクトリ関数イテレータプロトコル最後に序文多く...

DockerでKafkaをデプロイする方法

目次1. Dockerをビルドする2. コンテナに入る3. 設定ファイルを変更する4. Kafkaを...

MySQL 8.0.15 のインストールと設定方法のグラフィック チュートリアル (Windows 10 X64)

最近私が学んでいるのは MySQL の知識なので、MySQL をインストールすることが非常に重要です...