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

推薦する

キープアライブキャッシュをクリアする方法の詳細なグラフィック説明

目次オープニングシーンv-for を使用した直接レンダリングカスタムコンポーネントで直接レンダリング...

MySql データベースのサブクエリと高度なアプリケーションの簡単な分析

MySql データベースのサブクエリ:サブクエリ: 選択クエリ ステートメント内に別の選択ステートメ...

docker-compose でデプロイしたときに MySQL にアクセスできなくなる問題の簡単な分析

Docker-ComposeとはCompose プロジェクトは、以前の fig プロジェクトから派生...

UTF8 でエンコードされた Web ページにファイルが含まれている場合の、ページの前の空白行の解決方法

<br />このページはUTF8エンコードを使用しており、ヘッダーとフッターはテンプレー...

mysql5.7.19 winx64 インストールおよび構成方法のグラフィック チュートリアル (win10)

mysql 5.7.19 winx64のインストールチュートリアルは以下のように記録され、みんなと...

MySQLシリーズのMariaDBサーバーのインストール

目次チュートリアルシリーズ1. yumパッケージマネージャーを使用してMariaDBサーバーをインス...

HTML ベース URL タグ

その機能はグローバル スタイルを設定することです。その後の相対パスはこれに基づきます: <im...

MySQL インデックス最適化の説明

日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行するこ...

Spark と Scala を使用して Apache アクセス ログを分析する方法

インストールまず、Java と Scala をインストールし、次に Spark をダウンロードしてイ...

crontab スケジュールされたタスクが実行されない理由の分析と解決

序文Linux のスケジュールされたタスクを実装する方法としては、cron、anacron、at な...

HTML(divレイヤー)を介してFLASHにリンクを追加するための実装コード

今日、クライアントが広告を掲載したいのですが、提供された素材は Flash です。私たちはあまり気に...

MySQLデータベースについて学びましょう

目次1. データベースとは何ですか? 2. データベースの分類は? 3. データベースとデータ構造の...

MySQLデータベースイベントスケジュール実行タスクの詳細な説明

1. 背景プロジェクトの業務が進むにつれて、データベース テーブルの数がどんどん大きくなり、ハードデ...

IP アドレス経由で MySql にアクセスする方法

1. mysqlにログインします。 mysql -u ルート -h 127.0.0.1 -p 2. ...