はじめての環境構築: さくらレンタルサーバーにgit, vim & ctagsを導入

こんにちは、友馬です。

サイト作りや話題の技術を試す環境を構築するために、前回はローカル環境にgitとMAMPを導入し、さくらレンタルサーバーではデフォルトシェルの変更とssh公開鍵認証ログインの設定をしました。

今回は、「ローカルでコーディング > サーバー上の公開ディレクトリに反映」の流れを作る為、さくらレンタルサーバーにgit , vim (ついでにctagsも)を導入していきます。

目次:

  1. git導入・設定
  2. vim導入・NeoBundle導入
  3. おまけ: ctags導入

環境・ツール:

  • OS X Mavericks
  • OS Xのターミナルアプリケーション
  • さくらレンタルサーバー:スタンダードプラン

作成したディレクトリ

/home/ユーザー名/
|
|_bin/
|_local/
|  |_bin/
|  |_source/
|_repos/
|  |_example.git/
|_www/
   |_example/

git導入・設定

下準備

まずは、さくらレンタルサーバーの$PATHを確認してみます。

[server] $ echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/ユーザー名/bin

なるほど、ホームディレクトリ直下のbinは読み込んでくれるみたいです。
今回は参考サイトに則り、ファイルははlocal/bin/に入れた方が綺麗かなと思いましたので、
local/bin/を作成し、パスを通す事にします。

まずは.bashrcの設定から。

[server] $ vi .bashrc

# 以下を追記してパスを通す
PATH=$HOME/local/bin:$PATH

.bashrcに追記が完了したらsourceで読み込むか、再ログインして確認してみましょう。

[server] $ source .bashrc
[server] $ echo $PATH
/home/ユーザー名/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/ユーザー名/bin

確認が完了したら、必要なディレクトリを作成します。

[server] $ mkdir -p local/{bin,source}

作成したディレクトリを確認。大丈夫そうですね。

[server] $ ls local/
bin   source

これで下準備は完了です。

ダウンロード・インストール

では、実際にgitをサーバーにインストールしていきましょう。

まずは、local/source/に移動し、gitのソースをダウンロード・解凍します。

[server] $ cd ~/local/source/
[server] $ wget http://git-core.googlecode.com/files/git-1.8.1.tar.gz
[server] $ tar xvfz git-1.8.1.tar.gz

解凍完了したら、コンパイル・インスール。
この時、curlも指定しないとhttpsが使えないのでオプションを忘れずに。

[server] $ mkdir -p $HOME/app/bin/git
[server] $ ./configure --with-curl=/usr/local --prefix=$HOME/local
[server] $ gmake all install

インストールが完了したら、gitが使えるか確認してみましょう。

[server] $ git --version
[server] git version 1.8.1

これでさくらレンタルサーバーにgitをインストールできました。

リポジトリ作成

続いて、リポジトリを作成していきます。
直接、ローカルと公開ディレクトリを繋げる事も考えましたが、今後のリポジトリ管理・運用を考え(知識不足のため先人の知恵を頼り)ベアリポジトリを作成して中継する事にしました。

イメージとしては、[ ローカルで更新 > ベアリポジトリにプッシュる > 公開先でベアリポジトリからプる ] となります。

では早速やってきましょう。
まずはリポジトリ管理用のディレクトリ内にベアリポジトリを作ります。

[server] $ mkdir -p ~/repos/example.git
[server] $ cd ~/repos/example.git
[server] $ git init --bare

次にローカルでMAMPの公開ディレクトリに先ほどのベアリポジトリをクローンします。
前回の公開鍵認証を活かすため、sshを利用します。
ちなみに、sshは、/home/ユーザー名/bin/を参照するようなので、リンクを先に作成しておきましょう。

[server] $ ln -s ~/local/bin/git* ~/bin
[local] $ git clone ssh://example@example.sakura.ne.jp/home/example/git/name.git master
[local] $ git remote add origin ssh://username@example.sakura.ne.jp/ ~/repos/example.git
[local] $ git push origin master

これで、ローカルの更新をベアリポジトリにプッシュ出来るようになりました。

最後にサーバー上の公開ディレクトリにベアリポジトリをクローンして、完了です。

[server] $ cd ~/www
[server] $ git clone ~/repos/example.git ~/www/example

将来的には、ローカルからプッシュすると自動的に公開ディレクトリが更新されるように設定もしても良いかなぁと考えていますが、今回は一旦ここまでにしておきました。

vim導入・NeoBundle導入

vimをインストール

実際、サーバー上でファイルを更新する事はあまり無いかもしれませんがもしもの時に備えてvimも導入しておきます。

やる事はgitの時とあまり変わりません。local/bin/ に移動し、ソースのダウンロード、コンパイル・インストールしましょう。

[server] $ cd ~/local/bin/
[server] $ ./configure configure --enable-multibyte --enable-xim --enable-fontset --with-features=big --prefix=$HOME/local
[server] $ gmake all install

NeoBundle プラグインを導入

vimを使う上でプラグイン管理に便利なNeoBundleを入れておきます。

まずは、ディレクトリを作成し、ソースコードをgithubからクローンします。

[server] $ mkdir ~/.vim/bundle
[server] $ git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim

次に、.vimrcに必要な設定を書きます。

[server] vim ~/.vimrc

" NeoBundle Setting
set nocompatible               " Be iMproved
filetype off                   " Required!

if has('vim_starting')
	set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

call neobundle#rc(expand('~/.vim/bundle/'))

filetype plugin indent on     " Required!

" Installation check.
if neobundle#exists_not_installed_bundles()
		echomsg 'Not installed bundles : ' .
			\ string(neobundle#get_not_installed_bundle_names())
		echomsg 'Please execute ":NeoBundleInstall" command.'
		"finish
endif

最後に、.vimrcに以下のように記述ます。
(保存先は .vim/bundle 以下)

"GitHubリポジトリにあるプラグインを利用場合
NeoBundle 'hoge/fuga'

"GitHub以外のGitリポジトリにあるプラグインを利用する場合
NeoBundle 'git://git.example.com/hoge.git'

"Git以外のリポジトリにあるプラグインをを利用する場合
NeoBundle 'http://svn.example.org/path/to/file/'
NeoBundle 'http://example.org/path/to/file/'

追記したら、vimを立ち上げて以下のコマンドを実行します。
するとプラグインがインストールされます。

:NeoBundleInstall

おまけ: ctags導入

今のところ、あまり使用する機会はありませんが、とりあえずctagsも入れておきました。
手順は以下の通り。

[server] $ cd ~/local/bin/
[server] $ wget http://hp.vector.co.jp/authors/VA025040/ctags/downloads/ctags-5.8j2.tar.gz
[server] $ tar zxvf ctags-5.8j2.tar.gz
[server] $ ./configure --prefix=1HOME/local/
[server] $ gmake all install 

ctagsの活用法はまた別の機会にまわそうと思います。

参考:


これで、ローカルでコーディングし、内容をサーバー上で公開できる環境がとりあえず整いました。次回からはゴリゴリコーディングしたり、自分のサイトを作ったりしていきます。

デザイナーでもやれば出来るもんですね。

コメントを残す