WordPressテーマをバージョン管理システムの「Git」を利用して、ローカルPC(Windows)で管理しているのですが。
レンタルサーバーにもGitをインストールして、リポジトリをやり取りできないかなと思いまして。
そこで、さくらインターネットのレンタルサーバーへ、Gitをインストールしてみました。
ちなみに、さくらインターネットのレンタルサーバーは、「FreeBSD」というUNIX系のOSのようです。
なお、今回のバージョンは以下です。
- FreeBSD 9.1-RELEASE-p24
- Git 2.6.3
ソースコードからGitをインストール
ディレクトリの作成
まずは、さくらインターネットのレンタルサーバーへSSH接続します。
そして、ホームディレクトリにGit格納用の適当なディレクトリを作成します。
Welcome to FreeBSD! #ホームディレクトリへ移動 $ cd ~ #ディレクトリ作成 $ mkdir local #ディレクトリ作成 $ mkdir local/src
Gitソースコードのダウンロード
作成したディレクトリに移動し、wgetコマンドでソースコードをダウンロードします。
Git公式サイトより、最新版の「git-2.6.3.tar.gz」というファイルをダウンロードしました。
wgetコマンドは、「–no-check-certificate」オプションをつけないとエラーになりました。
ソースコードをダウンロードしたら、解凍します。
#ディレクトリ移動 $ cd local/src/ #Gitソースコードのダウンロード(失敗) $ wget https://www.kernel.org/pub/software/scm/git/git-2.6.3.tar.gz ERROR: cannot verify www.kernel.org's certificate, issued by '/C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Class 2 Primary Intermediate Server CA': Unable to locally verify the issuer's authority. To connect to www.kernel.org insecurely, use `--no-check-certificate'. #Gitソースコードのダウンロード $ wget --no-check-certificate https://www.kernel.org/pub/software/scm/git/git-2.6.3.tar.gz 100%[======================================>] 5,545,887 1.60MB/s in 3.3s 2015-11-30 20:59:37 (1.60 MB/s) - 'git-2.6.3.tar.gz' saved [5545887/5545887] #ダウンロードしたアーカイブの解凍 $ tar -zxf git-2.6.3.tar.gz
Gitのインストール
解凍したディレクトリへ移動し、Gitをインストールします。
インストールは、makeコマンドでは「Error expanding embedded variable.」というエラーになってしまうので、「gmake」コマンドを使用します。
#ディレクトリ移動 $ cd git-2.6.3 #makeコマンドでインストール(エラー) $ make prefix=/home/[ユーザーID]/git all … Error expanding embedded variable. #gmakeコマンドでインストール $ gmake prefix=/home/[ユーザーID]/local all $ gmake prefix=/home/[ユーザーID]/local install #インストール完了後のディレクトリ一覧 $ ls -l /home/[ユーザーID]/local total 20 drwxr-xr-x 2 [ユーザーID] users 512 Nov 30 21:05 bin drwxr-xr-x 3 [ユーザーID] users 512 Nov 30 21:05 lib drwxr-xr-x 3 [ユーザーID] users 512 Nov 30 21:05 libexec drwxr-xr-x 8 [ユーザーID] users 512 Nov 30 21:05 share drwxr-xr-x 3 [ユーザーID] users 512 Nov 30 21:00 src
環境変数PATHへbinディレクトリを追加
環境変数PATHへ、インストールしたGitのbinディレクトリを追加し、Gitコマンドを使えるようにします。
環境変数は、printenvコマンド、echoコマンド(echo $環境変数名)で値を表示できます。
環境変数を追加するには、exportコマンドを使用するのですが、さくらインターネットのレンタルサーバーでは使えません。
なので、ホームディレクトリのCシェル設定ファイル(.cshrc)を編集し、シェル起動時に読み込まれるようにします。
編集後は、sourceコマンドでファイルを実行し、再度読み込ませます。
環境変数PATHの先頭に正しく追記できれば、「git –version」コマンドでインストールしたGitのバージョンが表示されるはずです。
#環境変数一覧の表示 $ printenv SHELL=/bin/csh PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/[ユーザーID]/bin SHELL=/bin/csh #ホームディレクトリへ移動 $ cd ~ #viエディタで編集 $ vi .cshrc # set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin) set path = ($HOME/local/bin /sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin) #ファイルの実行 $ source .cshrc #環境変数一覧の表示 $ printenv PATH=/home/[ユーザーID]/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/[ユーザーID]/bin #Gitバージョン確認 $ git --version git version 2.6.3
サーバーでGitリポジトリの作成
サーバーで、適当なディレクトリを作成し、そこにGitリポジトリ(bareリポジトリ)を作成します。
#ホームディレクトリへ移動 $ cd ~ #ディレクトリ作成 $ mkdir rep #ディレクトリ作成 $ mkdir rep/test #ディレクトリ作成 $ mkdir rep/test/.git #リポジトリ作成 $ git init --bare rep/test/.git Initialized empty Git repository in /home/[ユーザーID]/rep/test/.git/
クライアントPCでGitリポジトリの作成
サーバーと同様に、クライアントPC(Windows)で、適当なディレクトリを作成し、そこにGitリポジトリを作成します。
WindowsのGit環境構築手順は、こちらの記事を参照してください。
WordPressテーマカスタマイズは「Git」で管理せよ-インストールと基本操作手順
リポジトリが作成できたら、適当な空ファイルを作成し、コミットします。
#リポジトリ作成 c:\>git init Initialized empty Git repository in c:/test/.git/ #空ファイル作成 c:\>type nul > test.txt #リポジトリへ追加 c:\>git add test.txt #リポジトリへコミット c:\>git commit -m "test commit" [master (root-commit) a2458a4] test commit 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test.txt
クライアントPCからサーバーへGitリポジトリをpush
ファイルを作成し、コミットしたリポジトリを、サーバーへpushします。
ssh経由で行うので、まずはリモートホストを追加します。
リモートホストは、「ssh://[ユーザーID]@[ホスト名]/[リポジトリディレクトリ]」のようになります。
#リモートホストの追加 c:\>git remote add origin ssh://[ユーザーID]@[ユーザーID].sakura.ne.jp/home/[ユーザーID]/rep/test/.git #リモートホストへpush c:\>git push origin master [ユーザーID]@[ユーザーID].sakura.ne.jp's password: [パスワード入力] Counting objects: 3, done. Writing objects: 100% (3/3), 215 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To ssh://[ユーザーID]@[ユーザーID].sakura.ne.jp/home/[ユーザーID]/rep/test/.git * [new branch] master -> master
サーバーでログを確認
クライアントPCからpushしたログを見てみましょう。
#ディレクトリ移動 $ cd rep/test/ #ログの表示 $ git log ESC[33mcommit a2458a441f58d6e096345d0d38316dc6f21fbb85ESC[m Author: myuser <xxxxxxxxxx@gmail.com> Date: Fri Dec 4 11:50:56 2015 +0900</xxxxxxxxxx@gmail.com> test commit
最後に
さくらインターネットのレンタルサーバーへGitをソースコードからインストールし、クライアントPCとリポジトリをやり取りする手順は以上です。
クライアントPCでWordPressテーマのカスタマイズとテストを行い、Gitで管理しているのですが、そのリポジトリをサーバーへpushを行うと同時に自動で、サーバーのWordPressテーマディレクトリへファイルを展開するなんてことはできるのかな?
それができれば、いちいちFTPでファイルをアップロードするという手間が省けて楽なんですが。
ちょっとまた調べてみます。
以上です。
参考サイト
Linux(CentOS)へGitをインストール、共有リポジトリへpushする | 俺の開発研究所
Git – Gitのインストール
さくらインターネットのレンタルサーバに git のリモートリポジトリを作成する|mattintosh note (跡地)
コメント
[…] […]