Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


サイドバー

メインメニュー

XAMPP アレンジ

IED

WSL2

道具箱

リポジトリ編

フレームワーク編

公開ソフトウェア

メタ
リンク


このページへのアクセス
今日: 6 / 昨日: 3
総計: 5736

git2:server

Gitサーバーの構築 - Gitデーモン/Smart HTTP

Git 2.24

y2sunlight 2020-06-02

Git に戻る

本章では、社内用のGitサーバーの構築について説明します。Gitをグループで利用するには、共有リポジトリが必要になります。この時、リモートのGitサーバーとクライアントとの間で使用されるプロトコルは、一般に、Git(ポート番号:9418)、SSH(21)とSmart HTTP(80)/HTTPS(443)が利用できます。これらのプロトコルを使ったGitの運用方法は以下のようになります。

また、Git管理用のツールを利用した運用もあります。

  • Gitolite — SSHを使ったGitのユーザーとリポジトリの管理ツール
  • ALMiniumRedmine を利用した ALM の為のフルスタック環境で、ブラウザ上でGitのユーザーとリポジトリの管理ができる
  • GitLab Community Edition (CE) — Gitリポジトリホスティング用のオープンソース

本章では、GitプロトコルとSmart HTTPプロトコルによるのGitサーバー構築について説明します。認証の必要のないLAN環境下では、Gitプロトコルは簡単に設置できます。認証を必要とする場合は、Smart HTTPプロトコルを選んで下さい。また、Smart HTTPを使用したとしても、リポジトリ毎にユーザ権限を設定することができません。これを可能にするには、上記のGit管理用のツールに頼るしかありません。筆者としては、GitoliteをSmart HTTP上で作動させるのが良い方法だと思いますが、それはまたの機会に。ご興味のある方は、Arch Linu のサイトやstackoverflowにその方法が紹介されていますので、そちらをご参照下さい。

サーバー環境

  • CentOS 7.2 / Apache 2.4 / Git 2.24

関連記事

リンク

Pro Git 2'nd Edition は、Englishの方が内容が新しい(2020-06-03現在:こちらを推奨)

最終的には、Git Referenceが一番役に立ちます


Gitの設定

Git2のインストール

git2.24 を IUSリポジトリからインストールします。以下にその抜粋を示しますが、詳しくは 本編の IUSによるgit2の導入 をご覧ください。

yum remove git                                        # git1.xの削除
yum install https://repo.ius.io/ius-release-el7.rpm   # IUSリポジトリの登録
yum install --enablerepo=ius git224                   # git2.24のインストール


Gitの初期設定

Gitサーバー内でも、テスト等などでリポジトリを取得することがあるので、Gitユーザとしての初期設定が必要になります。

git config --global user.name "John Doe"
git config --global user.email johndoe@example.com

ここで設定した内容は ~/.gitconfig に書き込まれます。git config –list で設定内容が確認できます。


リポジトリの作成

リポジトリを保存するルートのディレクトリ /var/git/ を作成します。

mkdir /var/git/    # ディレクトリを作成し
cd /var/git/       # そこに移動する

テスト用の共有リポジトリ sandbox.git を作成します。成功すると、Initialized empty shared Git repository in … のメッセージが表示されます。

# 共有リポジトリ sandbox.git を作成します
git init --bare --shared ./sandbox.git
Initialized empty shared Git repository in /var/git/sandbox.git/

# 作成したリポジトリを確認します
ls -l
合計 0
drwxrwsr-x 7 root root 111  6月  3 13:20 sandbox.git

ディレクトリの所有者とグループを apache にします。

chown -R apache:apache ./sandbox.git


Gitプロトコルによる運用

Gitプロトコルは、Gitデーモン(git-daemon)によって提供され、以下のサービスを提供します。

  • upload-pack — git fetch-packgit ls-remote (デフォルト有効)
  • upload-archive — git archive –remote (デフォルト無効)
  • receive-pack — git send-pack (デフォルト無効)

Gitデーモンのデフォルト動作では、upload-pack サービスのみが有効なので、クライアントが利用できるコマンドは git fetchgit pullgit clone に限られます(即ち、読み取り専用)。この動作は、以下のコマンドで変更する事ができます。LAN内の認証の必要のない場合は、receive-pack を有効にして git push を有効にすることができます。

# これらのコマンドは、リポジトリディレクトリ(例:/var/git/sandbox.git)の中で実行する必要があります
git config daemon.receivepack true   # receivepack を有効にする。

本章では、基本的にSmartHTTPによる運用を想定しているので、Gitプロトコルではデフォルト動作通りの「読み取り専用」とします。


Gitデーモンのインストール

git-daemon を IUSリポジトリからインストールします。本章ではgit2.24を使用しているので、パッケージ名は、git224-daemon です。Gitのインストールについての詳細は本編の IUSによるgit2の導入 をご覧ください。

yum install --enablerepo=ius git224-daemon

インストールの途中で、インストールしても良いか確認される (Is this ok [y/d/N]:) ので y と回答します。正常にインストールされると最後に、完了のメッセージが表示されます。

git-daemon は ポート番号 9418 を使用するので FWを設定する必要があります。

firewall-cmd --add-port=9418/tcp --permanent   # 恒久的に9418を解放します
firewall-cmd --reload                          # FWのリロード
firewall-cmd --list-ports                      # 解放したポード番号の確認
9418/tcp

尚、Gitプロトコルにはユーザ認証が無いので、使用できるネットワークを制限する場合は、上記の設定を以下のようにします。

firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="9418" accept' --permanent
firewall-cmd --reload            # FWのリロード
firewall-cmd --list-rich-rules   # 設定の確認


Gitデーモンの起動

Gitデーモンの起動は以下のように行います。

sudo -u apache -g apache git daemon --reuseaddr --export-all --base-path=/var/git/ /var/git/ &
  • git-daemon の実行ユーザとグループは、リポジトリの作成で設定したのと同じ apache にします。
Gitプロトコルだけの運用の場合は、gitユーザを新しく作り、リポジトリの所有者をgitにして、git-daemonもgitで実行して下さい。
  • –reuseaddr は起動時に古い接続がタイムアウトするのを待たずにサーバーを再起動します。
  • –export-all は指定したディレクトリ以下のリポジトリをすべて公開します。特定のリポジトリのみを公開する場合は、そのリポジトリに、git-daemon-export-ok というファイルを作成して下さい。
  • –base-path はクライアントに要求されたパスに指定したディレクトリ(ここでは /var/git/)をベースとして付加します。
  • 最後に指定したパス(ここでは /var/git)以下のディレクトリを公開します。
# 起動の確認
netstat -an | grep 9418
tcp     0    0 0.0.0.0:9418    0.0.0.0:*    LISTEN
tcp6    0    0 :::9418         :::*         LISTEN


Gitプロトコルによる接続

Gitプロトコルによる接続URLは以下の通りです:

git://{ホスト名}/{プロジェクト名}.git
  • {ホスト名} — ホスト名まはたIPアドレスを指定します
  • {プロジェクト名}.git/var/git 以下のディレクトリ名を指定します
上の接続URLは本章の設定による場合です。接続URLは設定により異なります。

例:

git clone git://localhost/sandboz.git
git clone git://192.168.1.100/sandboz.git


接続テスト

git clone でGitプロトコルのテストを行います。LAN上の他のホストからも同様に行ってみて下さい。

cd ~                                    # ホームに移動
git clone git://localhost/sandbox.git   # リポジトリの取得
Cloning into 'sandbox'...
warning: You appear to have cloned an empty repository.

テストが終了したら、Gitデーモンを停止します。

pgrep -fa git   # 停止の確認
pkill git       # Gitデーモンの停止


サービス

Gitデーモンのサービスを作って、systemctl で操作できるようにします。
以下のように、/etc/systemd/system 下に git-daemon.serviceファイルを作成します。

/etc/systemd/system

git-daemon.service
[Unit]
Description=Start Git Daemon
 
[Service]
ExecStart=/usr/bin/git daemon --reuseaddr --export-all --base-path=/var/git/ /var/git/
 
Restart=always
RestartSec=500ms
 
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=git-daemon
 
User=apache
Group=apache
 
[Install]
WantedBy=multi-user.target

Gitデーモンの起動/状態確認/停止は、以下のsystemctlコマンドできます。

systemctl start git-daemon    # 起動
systemctl status git-daemon   # 状態確認
systemctl stop git-daemon     # 停止

また、OSブート時に起動するように、自動起動を有効にしておきます。

systemctl enable git-daemon                     # 自動起動の有効化
systemctl list-units --type=service|grep git    # 有効化の確認


Smart HTTPプロトコルによる運用

本章では、基本的にSmartHTTPによる運用を想定しています。認証の基本方針は以下の通りです。

  • 信頼のある特定の内部ネットワーク(例えば:192.168.1.0/24)からの要求は認証を行わない
  • それ以外の内部ネットワークからの要求はBasic認証を行う
  • 外部のネットワークからの要求はリバースプロキシ経由(https→httpプロトコル変換)とし、リポジトリ毎にBasic認証を行う (※本章では扱いません)


リポジトリの設定

SmartHTTP プロトコルは、Git HTTPバックエンド(git-http-backend)によって提供され、以下のサービスを提供します。

  • http.uploadpack — git fetch-packgit ls-remote (デフォルト有効)
  • http.receivepack — git send-pack を提供し、クライアントに git push を許可します。匿名ユーザーの場合はデフォルトで無効になり、Webサーバーで認証されたユーザーの場合はデフォルトで有効になります。
【注意】
上の http.receivepack の説明は GitReference によるが、筆者の環境ではBasic認証されている場合でも http.receivepack が有効にならなかった。

HTTPバックエンドのデフォルト動作では、信頼のある特定の内部ネットワークからも git push が出来ないので、以下のコマンドでこれを有効にします。

# これらのコマンドは、リポジトリディレクトリ(例:/var/git/sandbox.git)の中で実行する必要があります
git config http.receivepack true   # receivepack を有効にする。


Apache2.4のインストール

本章の前提条件として CentOS7上で、Apache 2.4 がインストールされているものとします。まだインストールしていない場合は、以下を参考にインストールして下さい。

yum install httpd                             # Apacheのインストール
systemctl enable httpd.service                # httpdサービスの自動起動を有効化
systemctl start httpd.service                 # httpdサービスの開始
firewall-cmd --permanent --add-service=http   # FWでhttpサービスの接続を許可
firewall-cmd --reload                         # FWのリロード


Apacheの設定

Gitサーバー用のバックエンド /usr/libexec/git-core/git-http-backend は、gitに同梱されています。

ls -l /usr/libexec/git-core/git-http-backend
-rwxr-xr-x 1 root root 1785896  4月 16 06:55 /usr/libexec/git-core/git-http-backend

このバックエンドを起動するために、Apacheに設定ファイル git.conf を新規に作成します。

/etc/httpd/conf.d

git.conf
# 環境設定
SetEnv GIT_PROJECT_ROOT /var/git
SetEnv GIT_HTTP_EXPORT_ALL
 
ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
 
<LocationMatch "^/git">
 
    <RequireAny>
        <RequireAny>
            # LAN内の特定のホストのみ許可
            Require all denied
            Require host localhost
            Require ip 127.0.0.1
            Require ip 192.168.1.0/24
        </RequireAny>
 
        # Basic認証
        AuthType Basic
        AuthName "Git Access"
        AuthUserFile /var/git/.htpasswd
        Require valid-user
    </RequireAny>
 
    # 全開
    # Require all granted
 
</LocationMatch>
  • SetEnv GIT_PROJECT_ROOT — 環境変数 GIT_PROJECT_ROOT にリポジトリルート(ここでは /var/git)を設定します
  • SetEnv GIT_HTTP_EXPORT_ALL — 環境変数 GIT_HTTP_EXPORT_ALL が定義されている場合、指定したディレクトリ(/var/git)以下のリポジトリをすべて公開します。特定のリポジトリのみを公開する場合は、そのリポジトリに、git-daemon-export-ok というファイルを作成して下さい。
  • ScriptAlias — Gitサーバー用のバックエンド git-http-backend/git/ にマッピングします
  • /git/のアクセス制御 — 次のいずれか一方にマッチすればアクセス可能になります
    1. localhost Or 127.0.0.1 Or 192.168.1.0/24
    2. Basic認証された場合
      ID/パスワードは /var/git/.htpasswd に格納します

編集が終わったら、Apacheを再起動します。

systemctl restart httpd


.htpasswd

Basic認証で使用するIDとパスワードを格納したファイル .htpasswd を作成します。

/var/git/.htpasswd

.htpasswdhtpasswd コマンドで作成します。

cd /var/git                           # 所定のディレクトリ(git.confで指定)に移動
htpasswd -c .htpasswd y2sunlight      # ユーザ(y2sunlight)の作成
New password:                         # パスワードの入力
Re-type new password:                 # (再入力)
Adding password for user y2sunlight
2回目以降は htpasswd .htpasswd new-user-cオプションは不要です。

.htpasswd の内容は以下のようになっています。

/var/git

.htpasswd
y2sunlight:$apr1$hRCALosz$4qIvpmM4NHzMCEdVH3NAM0


Smart HTTPプロトコルによる接続

Smart HTTPプロトコルによる接続URLは以下の通りです:

http://{ホスト名}/git/{プロジェクト名}.git
  • {ホスト名} — ホスト名まはたIPアドレスを指定します
  • {プロジェクト名}.git/var/git 以下のディレクトリ名を指定します
上の接続URLは本章の設定による場合です。接続URLは設定により異なります。

例:

git clone http://localhost/git/sandbox.git
git clone http//192.168.1.100/git/sandbox.git


接続テスト

git clone でリポジトリのクローンを作成します。

cd ~                                         # ホームに移動
git clone http://localhost/git/sandbox.git   # リポジトリの取得
Cloning into 'sandbox'...
warning: You appear to have cloned an empty repository.

ローカルリポジトリを変更して commit します。

cd ./sandbox                    # プロジェクトディレクトリ(sandbox)に移動する
echo "Hello,Git." > hello.txt   # ファイル(hello.txt)を編集する
git add .                       # ファイルをインデックスに追加する
git commit -m "First Commit"    # インデックスに追加した変更をリポジトリに記録する

ローカルリポジトリの変更内容をリモートリポジトリに push します。

git push origin master   # ローカルリポジトリの変更内容をリモートリポジトリに送信する


Gitサーバーの運用

Gitサーバーの運用の運用についてのユースケースをまとめておきます。

新しいプロジェクトを作る

cd /var/git                                 # 共有リポジトリのルートディレクトリに移動する
git init --bare --shared ./REPOSITORY.git   # 新しい共有リポジトリ(例:REPOSITORY)を作成する
chown -R apache:apache ./REPOSITORY.git     # ディレクトリの所有者とグループを apache に変更する

cd ./REPOSITORY.git                         # リポジトリのディレクトリに移動する
git config http.receivepack true            # receivepack(git push) を有効にする

新しいユーザを作る

cd /var/git               # 共有リポジトリのルートディレクトリに移動する
htpasswd .htpasswd USER   # 新しいユーザ(例:USER)を作成する
New password:             # パスワードの入力
Re-type new password:     # (再入力)

Gitを使う

git clone http://192.168.1.100/git/REPOSITORY.git  # Smart HTTPによる接続(Read/Write)
git clone git://192.168.1.100/REPOSITORY.git       # Gitプロトコルによる接続(Read Only)

共有リポジトリを削除する

cd /var/git                 # 共有リポジトリのルートディレクトリに移動する
rm -rf ./REPOSITORY.git     # リポジトリのディレクトリを削除する


コメント

test27.153.185.229, 2022/11/16 09:39

https://www.ferragamosshoes.us.com/ https://www.nike-basketballshoes.us.org/ https://www.nmdr1adidas.us.com/ https://www.newjordanscomingout.us.com/ https://www.nikeair-max.us.org/ https://www.michael-jordanshoes.us.com/ https://www.christian-louboutinoutletsale.us.com/ https://www.shoesyeezy.us.com/ https://www.uncjordan1.us.com/ https://www.nikefactorys.us/ https://www.asicsshoesoutlet.us.com/ https://www.christianlouboutinshoessaleoutlet.us/ https://www.nikeoutlet-factory.us.com/ https://www.yeezysboosts.us.com/ https://www.pandoracanadajewelrycharms.ca/ https://www.nikebasketball-shoes.us.com/ https://www.new-nikeshoes.us.com/ https://www.nikeairforce.us.org/ https://www.nikecortez.us.org/ https://www.pandora-jewelryrings.us/ https://www.nikecortezshox.us.com/ https://www.adidassneakers.us.com/ https://www.jordan11gammablue.us/ https://www.pandorabraceletsforwomen.us/ https://www.airjordan9.us.com/ https://www.yeezys-adidas.us.com/ https://www.nikeshoesclearance.us.com/ https://www.jordanretroshoes.us.org/ https://www.outletstoreonlineshopping.us/ https://www.nike-presto.us.com/ https://www.nikefactorystoreonline.us.com/ https://www.nikeair-max270.us/ https://www.airjordans.com.co/ https://www.nike-stores.us.org/ https://www.jordans13retro.us/ https://www.nikefreerun.us.org/ https://www.airjordan11.us.org/ https://www.airforceones.us.com/ https://www.jordan1high.us.com/ https://www.menwomenshoes.us/ https://www.airmax2019.us.org/ https://www.fjallravenbackpack.us/ https://www.pandora-earrings.us/ https://www.nikeoutletstore-onlineshopping.us.org/ https://www.nike-outletstoreonlineshopping.us.com/ https://www.adidasultra-boosts.us.com/ https://www.nikes-sneakers.us.com/ https://www.ferragamobelts.us.com/ https://www.newshoes2019.us/ https://www.airforce-1.us.org/ https://www.nike-outletstores.us.com/ https://www.newnikeshoes.us.org/ https://www.air-jordansretro.us.com/ https://www.pandoranecklaces.us/ https://www.nikeoutletstores.us.org/ https://www.golden-gooses.us.com/ https://www.pandorabracelets-clearance.us.com/ https://www.yeezyboosts-350.us.com/ https://www.nikereactuptempo.us.com/ https://www.kyrie-irvingshoes.us.org/ https://www.nikestorefactory.us.com/ https://www.jordan12s.us.com/ https://www.air-jordan8.us.com/ https://www.jordan1s.us.org/ https://www.lebron16shoes.us.org/ https://www.jewelrycharms.us/ https://www.cheapnikesshoes.us.com/ https://www.nikeshoesfactorys.us.com/ https://www.air-jordans1.us.com/ https://www.pandorashop.ca/ https://www.moncleroutletuk.uk.com/ https://www.max97trainers.uk.com/ https://www.airjordans-sneakers.us/ https://www.nikeoutletonline-store.us.com/ https://www.jewelrynecklacerings.uk.com/ https://www.jordanshoesforkids.us/ https://www.nike-runningshoes.us/ https://www.pandorascharm.us.com/ https://www.redbottomshoes-forwomen.us/ https://www.fjallravenkankenbackpack.us/ https://www.nikeair-jordan.us.com/ https://www.nikeshoescybermondayblackfriday.us.com/ https://www.airjordanssneakers.us.org/ https://www.nike-airmax98.us/ https://www.adidas-nmds.us.org/ https://www.nikeoutletonlineclearance.us.com/ https://www.nikesneakersoutlet.us.org/ https://www.jordan7.us.com/ https://www.runningshoesformenwomen.us/ https://www.airjordanshoesretros.us.com/ https://www.nikeoutletstoreclearance.us.com/ https://www.sneakerswebsite.us/ https://www.jordan32shoes.us/ https://www.nikeairmax720.us.org/ https://www.jordanaj1.us.com/ https://www.air-jordan10.us.com/ https://www.yeezyshoess.us.com/ https://www.jordan3.us.com/ https://www.nikeairmax720.us.com/ https://www.pandorasjewelryoutlet.us.com/ https://www.jordansretro11.us.com/ https://www.pandorajewelryofficialwebsite.us/ https://www.yeezy500.us.org/ https://www.airjordan-retro11.us.com/ https://www.nikesclearance.us/ https://www.air-max95.us.com/ https://www.shoes-yeezy.us.com/ https://www.jewelrycharmsrings.uk.com/ https://www.nikeshoesshop.us.com/ https://www.nikeoutletstoreonlines.us.com/ https://www.ultra-boosts.us.com/ https://www.pandorascharmsjewelry.us/ https://www.jordan-retro4.us.com/ https://www.nikesneakerssale.us.com/ https://www.kevin-durantsshoes.us.com/ https://www.nike--shoes.us.com/ https://www.christianlouboutins.us.org/ https://www.nikeshoes2019.us.com/ https://www.pandoras.us.org/ https://www.lebron-jamesshoes.us.org/ https://www.airjordan14.us.com/ https://www.vansshoes-outlets.us.com/ https://www.kyrieirvingbasketballshoes.us.com/ https://www.christianslouboutin.us.com/ https://www.yeezyscheap.us.com/ https://www.nikeshoesfactorystore.us.com/ https://www.charmsjewelryrings.uk.com/ https://www.valentinoshoessale.us.com/ https://www.red-bottomshoesforwomen.us.com/ https://www.pandoracharmscom.us/ https://www.nike-clearance.us.com/ https://www.redbottomslouboutinshoes.us/ https://www.pandoracom.ca/ https://www.christianlouboutins.uk.com/ https://www.red-bottomheels.us/ https://www.christianlouboutins-outlet.us.com/ https://www.nikehuaraches.us.com/ https://www.nikerunning-shoes.us.com/ https://www.airjordan1mid.us.com/ https://www.airforce1shoes.us.com/ https://www.charmsbracelet.uk.com/ https://www.nikeairzooms.us.com/ https://www.christian-louboutin-shoes.us.org/ https://www.jordansshoesformen.us.com/ https://www.airmax-98.us.com/ https://www.nikefactory-outlet.us.org/ https://www.nikeshoesonlines.us.com/ https://www.nikeoutletstoreonline-shopping.us.com/ https://www.nikestores.us.org/ https://www.lebronjamesshoessale.us.com/ https://www.jordansretro13.us.com/ https://www.nikefreernrun.us.com/ https://www.louboutinshoess.us/ https://www.nike-jordan1.us.com/ https://www.louboutinheelsshoes.us.com/ https://www.nike-zoom.us.com/ https://www.nikeshoess.us.org/ https://www.lebron16shoes.us/ https://www.jordan4s.us.com/

test110.138.81.202, 2023/01/06 23:50

https://mymoleskine.moleskine.com/community/members/davit_putra/ https://support.advancedcustomfields.com/forums/users/aqurprinting/ https://buddypress.org/members/aqurprinting/profile/ https://slides.com/nadawebsite https://community.windy.com/user/nada-website https://seedandspark.com/user/aqur-printing https://www.qureta.com/next/profile/aqurprinting https://experiment.com/users/aprinting https://www.divephotoguide.com/user/aqurprinting https://forum.prusa3d.com/forum/profile/514214/ https://reactos.org/forum/memberlist.php?mode=viewprofile&u=84131 https://www.zintro.com/profile/zidbe7ed5b?ref https://artmight.com/user/profile/881908 https://bikeindex.org/users/af9wun__8fnyvatpkezbma http://gendou.com/user/aqurprinting https://uebermaps.com/profile/98741 https://www.intensedebate.com/people/papaleloe https://webhitlist.com/profiles/blog/list?user=d0151adf2ece47e0ad9fec0984381b78 https://sites.google.com/view/cetak-spanduk-promosi/?pli=1 https://fulmaputri.contently.com/ https://speakerdeck.com/putrijenita https://peatix.com/user/15152585/ https://www.clearos.com/community/my-profile https://everydayhero.ideas.aha.io/ideas/EDH-I-8095 https://omastadi.hel.fi/profiles/aqurprinting/activity?locale=en https://sanjose.granicusideas.com/ https://coub.com/yumaidar-sutra https://myspace.com/percetakanrawamangun https://www.behance.net/yumaidarsutra https://www.flickr.com/people/percetakanrawamangun/ https://justpaste.it/u/Aqur_Printing https://linktr.ee/aqurprinting https://qiita.com/yumaidarsutra https://godotengine.org/qa/user/aqurprinting https://dzone.com/users/4851657/aqurprinting.html https://500px.com/p/yumaidarsutraid?view=photos https://cycling74.com/author/63a5efda2b3aa4087ea961df https://www.mindmeister.com/users/channel/93503845 https://id.radiocut.fm/user/aldiputra/ https://www.awwwards.com/yumaidar-sutra/ https://data.world/tututkhalet https://www.kiva.org/lender/yumaidar3938 https://www.hackster.io/yumaidarsutraid https://www.producthunt.com/@aldiarsela https://www.wishlistr.com/jekiputra https://www.indiegogo.com/individuals/31320704 https://ciscocollabcustomer.ideas.aha.io/ideas/WXCUST-I-11650 https://graceful.dev/members/renggaputra/ http://sova.pitt.edu/members/aqurprinting/ https://www.wantedly.com/id/yumaidar_sutra https://www.walkscore.com/people/482444639306/aqur-printing-jakarta https://decidim.sabadell.cat/profiles/aqurprinting/activity https://www.wishlistr.com/profile/aqurprinting https://participer.ge.ch/profiles/aqurprinting/ https://git.logipro.com/aqurprinting https://gamebuino.com/@129921 https://consultation.quebec.ca/profiles/aqurprinting/ https://participa.vilanova.cat/profiles/aqurprinting/ https://decidim.calafell.cat/profiles/aqurprinting/ https://osallistu.tuusula.fi/profiles/yumaidar_sutra/ https://www.ottawaks.gov/profile/yumaidarsutra-id/profile https://www.leetchi.com/en/c/rkBx90Ln https://www.provenexpert.com/rengga-eranggi/ https://www.metal-archives.com/users/aqurprinting https://www.pubpub.org/user/aqur-printing https://disqus.com/by/disqus_9r4eUxys9U/about/ https://aqur-printing.webflow.io/ https://folkd.com/user/aqurprinting https://www.openstreetmap.org/user/Aqur%20Printing https://www.twitch.tv/aqurprinting/about https://padlet.com/yumaidarsutraid/86wc9by0ac2thym5 https://myanimelist.net/profile/aqurprinting https://www.cheaperseeker.com/u/aqurprinting https://www.nulled.to/user/5518833-aqurprinting https://anchor.fm/percetakan-rawamang http://www.video-bookmark.com/user/aqurprinting/ https://worldcosplay.net/member/1118365 https://www.startus.cc/people/aqur_printing https://www.ulule.com/yumaidarsutra-id/#/ https://www.zippyshare.com/aqurprinting https://codesandbox.io/u/udayuma https://591283.8b.io/ https://sketchfab.com/aqurprinting https://www.mixcloud.com/aqurprinting/ https://moz.com/community/q/user/aqurprinting https://doodleordie.com/profile/aqurprinting https://mootools.net/forge/profile/AqurJakarta https://www.microsoftpartnercommunity.com/t5/user/viewprofilepage/user-id/145782 https://www.dermandar.com/user/aqurprinting/ https://os.mbed.com/users/aqurprinting/ https://knowyourmeme.com/users/aqurprinting https://ello.co/aqurprinting https://www.ted.com/profiles/40642584 https://play.eslgaming.com/player/18876061/ https://leetcode.com/aqurprinting/ https://www.scoop.it/u/yumaidarsutra-id-gmail-com https://xoops.ec-cube.net/userinfo.php?uid=285494 https://my.desktopnexus.com/aqurprinting/ http://www.virtualdj.com/user/id_yuma/index.html http://uid.me/aqur_printing https://seedandspark.com/user/aqur-printing-1 https://www.toontrack.com/forums/users/aqurprinting/ https://trabajo.merca20.com/author/aqurprinting/ https://www.magcloud.com/user/aqurprinting https://www.wattpad.com/user/aqurprinting https://nowewyrazy.uw.edu.pl/profil/aqurprinting https://www.linux.org/members/aqurprinting.151213/ https://buddypress.org/members/udayuma/profile/ http://www.lawrence.com/users/aqurprinting/ https://aqur-printing.webnode.page/ https://www.turnkeylinux.org/user/1896993 https://cults3d.com/en/users/aqurprinting http://snstheme.com/forums/users/aqurprinting/ https://studiopress.community/users/aqurprinting/ https://440hz.my/forums/users/aqurprinting/ http://forums.brainsuite.org/forums/users/aqurprinting/ https://www.spheretester.com/support/users/aqurprinting/ https://community.allen-heath.com/forums/users/aqurprinting/ https://www.canadavideocompanies.ca/forums/users/aqurprinting/ http://artplaces.nl/forums/users/aqurprinting/ http://www.heromachine.com/forums/users/aqurprinting/ https://blog.clickteam.jp/forums/users/aqurprinting/ https://juicebox.net/forum/profile.php?id=60585 https://catchplugins.com/support-forum/users/aqurprinting https://bunkersnack.se/forums/users/aqurprinting/ https://blender3d.com.ua/forums/users/aqurprinting/ http://alwayssmiling.co.uk/forums/users/aqurprinting https://mad-in-italy.com/forums/users/aqurprinting/ https://astom.kiev.ua/forums/users/aqur-printing/ https://ah2.justflight.com/user/aqur-printing https://www.edacafe.com/wwwthreads-5.3/showprofile.php?Cat=2&User=aqurprinting https://www.codechef.com/users/aqurprinting https://www.linkcentre.com/profile/aqurprinting/ https://8tracks.com/yumaidar-s https://wacowla.com/chineseclassifieds/author/aqurprinting/ https://rainplatform.wtelecom.es/user/63983/ https://letempledelaforme.fr/user/profil/43460 https://guildwork.com/users/aqurprinting https://community.sw.siemens.com/s/profile/0054O00000A9VrR https://telegra.ph/Redirect-Aqur-Printing-01-04 https://sway.office.com/27accWkjTvyZYeqS https://bit.ly/3FYMVko https://telegra.ph/Solusi-Cetak-Produk-Promosi-dengan-Kualitas-Terbaik-12-31 https://at.tumblr.com/blogremaja-blog/faktor-faktor-yang-perlu-dipertimbangkan-dalam/7ev65owg013b https://bit.ly/3jIu9X2 https://telegra.ph/Faktor-faktor-yang-Perlu-Dipertimbangkan-dalam-Memilih-Jasa-Percetakan-12-31 https://tabelog.com/rvwr/020696576/prof/ https://udayumaofficial.amebaownd.com/posts/32585234 https://bit.ly/3Vy0UDy https://percetakanjakarta.nethouse.ru/ https://bit.ly/3WWqDqF https://managementmania.com/en/blog/yumaidar-sutra/hal-yang-harus-kamu-tahu-tentang-buku-umroh https://bit.ly/3jCyICp https://percetakankeren.bloggersdelight.dk/ https://bit.ly/3GBp3Fn https://telegra.ph/Kenali-Lebih-Lanjut-Tentang-Buku-Umorh-12-30 https://bit.ly/3I9TLpY

コメントを入力. Wiki文法が有効です:
 
git2/server.txt · 最終更新: 2020/06/16 15:20 by y2sunlight