こんにちは、友馬です。
サイト作りや話題の技術を試す環境を構築するために、前回はローカル環境にgitとMAMPを導入し、さくらレンタルサーバーではデフォルトシェルの変更とssh公開鍵認証ログインの設定をしました。
今回は、「ローカルでコーディング > サーバー上の公開ディレクトリに反映」の流れを作る為、さくらレンタルサーバーにgit , vim (ついでにctagsも)を導入していきます。
目次:
- git導入・設定
- vim導入・NeoBundle導入
- おまけ: 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の活用法はまた別の機会にまわそうと思います。
参考:
- さくらのレンタルサーバにGitをインストールしたよ – 四角革命前夜
- 【さくら スタンダード プラン】RE: fatal: Unable to find remote helper for 'http' を解決【git】 – ぐぐったら出てきた。
- さくらの森のJekyll博士
- MacでCUIのさくらのレンタルサーバー上にssh+screen+vim… | soichiro.org ブログ
- Vim – NeoBundleのインストール – Qiita
これで、ローカルでコーディングし、内容をサーバー上で公開できる環境がとりあえず整いました。次回からはゴリゴリコーディングしたり、自分のサイトを作ったりしていきます。
デザイナーでもやれば出来るもんですね。