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 の解凍バージョンをインストールする方法の詳細なグラフィック チュートリアル

推薦する

Vue で動的なスタイルを実現するためのさまざまな方法のまとめ

目次1. 三項演算子の判定2. 動的に設定されるクラス3. 方法判定4. 配列バインディング5. e...

Vueカスタム指示により、ポップアップウィンドウのドラッグ4辺ストレッチと対角ストレッチ効果を実現

導入同社の最近の Vue フロントエンド プロジェクトの要件: ポップアップ ウィンドウのドラッグ、...

React における同期および非同期 setState の問題のコード分析

React は Facebook の社内プロジェクトとして始まりました。 React の出現は革命的...

docker イメージのプル速度が遅い問題の解決策

現在、Docker には中国向けの公式ミラーがあります。詳細については、https://www.do...

Vue.jsはタイムライン機能を実装します

この記事では、タイムライン機能を実装するためのVue.jsの具体的なコードを参考までに共有します。具...

Alibaba Cloud ServerにMySQLデータベースをインストールする方法の詳細な説明

序文学習中に Zookeeper をインストールする必要があったため、仮想マシンに常に問題が発生した...

MySQLデータベースを別のマシンに移行する方法の詳細な説明

1. まず、移行サーバー上のデータ ファイルを見つけます。MySQL 5.7 とデフォルトのインスト...

mysql 基本操作文コマンドの詳細な説明

1. MySQLに接続するフォーマット: mysql -h ホストアドレス -u ユーザー名 -p ...

JavaScript スタイル オブジェクトと CurrentStyle オブジェクトのケース スタディ

1. スタイルオブジェクトスタイル オブジェクトは単一のスタイル宣言を表し、スタイルが適用されている...

テキストエリアのテキスト入力領域に改行を実装する方法

textarea 入力領域でテキストを折り返す場合は、<br/> と入力すると <...

CentOS 8 / RHEL 8 に VirtualBox 6.0 をインストールするための詳細なチュートリアル

VirtualBox は、技術者が異なる種類の複数の仮想マシン (VM) を同時に実行できるようにす...

この記事はPReact10.5.13のソースコードを理解するのに役立ちます

目次render.js 部分create-context.js 部分差分部分Reactのソースコード...

LinuxでifconfigとaddrがIPアドレスを表示できない問題を解決する

1. 仮想マシンにLinuxシステムをインストールし、仮想マシンを起動し、rootとパスワードを入力...

MySQLに絵文字表現を保存する詳細な手順

原因: java.sql.SQLException: 列の文字列値が正しくありません: '\...

Vueはキャンバスを使用して画像圧縮アップロードを実現します

この記事では、キャンバスを使用して画像圧縮アップロードを実現するVueの具体的なコードを参考までに共...