共用レンタルサーバーでは、サーバー管理者(root)権限を持たないため、サーバー上で直接 Git リポジトリを構築・管理するには多くの制約があります。本ページでは、共用サーバー環境での Git 利用可否と、代替策について詳しく解説します。
1. はじめに
- Git は分散型バージョン管理システムとして広く使われていますが、サーバー側へ Git をインストールし、
git init
などのコマンドを実行するには シェル(SSH)権限と root 権限 が必要になることが多いです。 - 一般的な共用サーバープランでは、ユーザーは FTP/SFTP 用の限定シェル権限しか持たず、
sudo
やgit
コマンド自体が利用不可なケースがほとんどです。
2. 共用サーバー環境の制約
2.1 シェルアクセスと root 権限
- FTP/SFTP 用の限定シェル
多くの共用サーバーでは、FTP/SFTP 用のシェルアカウントしか与えられず、bash
やzsh
の完全な対話型シェルは使えません。 - root 権限なし
パッケージのインストール(apt-get install git
など)や、システム全体設定の変更には root 権限が必要なため、ユーザー権限だけでは Git をサーバー上に導入できません。
2.2 Git コマンドの有無
- デフォルトで Git がインストールされていない
ほとんどの共用サーバーでは、Git はプリインストールされておらず、git --version
を実行しても「コマンドが見つかりません」と返されるケースが一般的。 - 稀に「Git Version Control App」などコントロールパネル機能で提供
cPanel や Plesk の一部ホスティングでは、GUI でリポジトリを作成できるアプリケーションが用意されていることがありますが、これもプラン限定か有料オプションの場合が多いです。
3. cPanel / Plesk 提供の Git 機能
3.1 cPanel の Git Version Control
- 機能概要
cPanel の「Git Version Control」機能を使うと、root 権限不要で Web インターフェイス上からリポジトリの作成・クローンが可能。 - 対応プラン
対応しているのは cPanel が最新版にアップデートされた一部プランのみ。契約前にホスティング会社に要確認。 - 利用手順
- cPanel にログイン → 「Git™ Version Control」を開く
- 「Create Repository」→ リポジトリ名・パスを指定 → 作成
- リモート URL が発行されるので、ローカルから
git push
/git pull
が利用可能
3.2 Plesk の Git 管理機能
- 機能概要
Plesk も同様に「Git Hosting」拡張機能を通じて、root 権限なしでリポジトリ管理が可能。 - 注意点
リポジトリを Web ルートにデプロイする設定や自動デプロイのタイミングなど、細かなオプションが用意されているが、プランにより利用可否が異なる。
4. 代替策:ローカル Git + 差分デプロイ
共用サーバーでサーバーサイド Git が使えない場合は、下記のようにローカルで完全管理し、FTP/SFTP 経由で差分アップロードするワークフローがおすすめです。
- ローカルに Git リポジトリを作成・管理
bash
git init
git add .
git commit -m "初回コミット" - .gitignore を設定
node_modules/
や*.log
、環境依存ファイルを除外
- 差分のみ抽出して一時フォルダにエクスポート
bash
git diff --name-only master@{yesterday} master | xargs -I{} cp --parents {} /path/to/deploy/
- FTP クライアントで一時フォルダの中身をサーバーにアップロード
- FileZilla や WinSCP のミラー同期機能を利用
- コミット→デプロイ の手順をスクリプト化し、作業を自動化
この方法なら、サーバー上に直接 Git をインストールせずとも、バージョン管理の利点を活かしながら運用できます。
5. SSH アクセスプランの場合
一部ホスティングでは、上位プランやオプションで「フルSSHアクセス」を提供しています。この場合:
- コマンドラインで Git の利用が可能
git init
、git clone
、git pull
など通常の Git コマンドを実行できる。
- リポジトリ設置場所
~/repo/
のようにユーザー領域内にベアリポジトリを設置、Web ルートへpost-receive
フックで自動デプロイなどが行える。
- 注意点
- 共用サーバーではシステム資源に制限があるため、大規模リポジトリや頻繁なフック実行は管理者に負荷問い合わせを。
6. まとめ
- 共用サーバー(root 権限なし) では、サーバーサイドでGitを直接運用するのは基本的に不可能。
- cPanel / Plesk の GUI 機能 が備わっていれば、root不要でリポジトリ管理できるケースもあるが、プラン限定。
- ローカル Git + 差分デプロイ が最も汎用性が高く、FTP/SFTP クライアントさえあればどのプランでも利用可能。
- SSHフルアクセスプラン では、サーバー上 Git リポジトリ運用や自動デプロイを行えるため、より高度なワークフローを構築できる。
次のステップ
免責事項
本記事の情報は共用レンタルサーバー全般を想定し、執筆時点の代表的事例をまとめたものです。実際のご契約プランやサーバー仕様により利用可否は異なりますので、最終的には契約先のサポート情報や公式ドキュメントをご確認ください。