WEBサービス」カテゴリーアーカイブ

さくらレンタルサーバーでの git のリモートリポジトリ作成

以下、備忘録として、さくらレンタルサーバーでの git のリモートリポジトリ作成について。
すでに、csh 環境から bash 環境に変更されていることを前提にしています。

参考サイトとほぼほぼ同じ手順ですが、さくらでの git のインストールは不必要でした。
また、ローカルの環境は cygwin 環境です。

リモート側のセットアップ

さくらでのリモートリポジトリを作成します。
--bare で作業用ディレクトリ無しで初期化しています。

$ mkdir -p $HOME/git/repos.git
$ cd $HOME/git/repos.git
$ git init --bare
Initialized empty Git repository in /home/example/git/repos.git/

クライアント側のセットアップ

クライアント側で適当にコミットしてみます。

まずは初期化。
ホームディレクトリ直下に、適当なフォルダ git を作成しています。

$ cd $HOME
$ mkdir git
$ cd git

次に、空のテキストファイルを作成して、コミット。

$ touch README
$ git add README
$ git commit -m "initial commit"

初めて使用する環境の場合、以下のようなエラーが発生するかもしれません。
指示されている通り、特定できるようにユーザー名やメールアドレスを設定すれば、問題なくコミットできるようになるはずです。

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

fatal: unable to auto-detect email address (got '***')

コミットが成功すれば、以下のようにリモートリポジトリを追加し、プッシュするだけです。

$ git remote add origin sakura:~/git/repos.git
$ git push origin master

ここでは、すでに以下の config のようにホスト名を登録しています。

Host sakura
	HostName			example.sakura.ne.jp
	User				example
	IdentityFile		~/.ssh/id_rsa.sakura.ne.jp
	ServerAliveInterval	20
	ServerAliveCountMax	3

未登録の場合には、以下のようにユーザー名やサーバー名の指定が必要になります。

$ git remote add origin example@example.sakura.ne.jp:~/git/repos.git
$ git push origin master

さくらレンタルサーバーでの文字化けの解消、bash 環境への変更

以下、備忘録として、さくらレンタルサーバーでの文字化けの解消、bash 環境への変更方法について。

SSH の設定

まずは、初期パスワードを変更します。32文字の記号を含んだランダムな文字列に。
次に、鍵ファイルを生成し、公開鍵を登録し、ローカルの config を設定。

Host sakura
	HostName			user.sakura.ne.jp
	User				user
	IdentityFile		~/.ssh/id_rsa.sakura.ne.jp
	ServerAliveInterval	20
	ServerAliveCountMax	3

さくらの csh 環境を調整

さくらは FreeBSD なので、vim の文字化けが発生しないように csh 環境を調整。
ただし、この後で bash 環境に変更をします。

# $FreeBSD: src/share/skel/dot.cshrc,v 1.14.6.1 2008/11/25 02:59:29 kensmith Exp $
#
# .cshrc - csh resource script, read at beginning of execution by each shell
#
# see also csh(1), environ(7).
#

alias h		history 25
alias j		jobs -l
alias la	ls -a
alias lf	ls -FA
alias ll	ls -lA
alias vi	"jvim3 -K TTT -k t"

# A righteous umask
umask 22

set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin)

#setenv	EDITOR	vi
setenv  EDITOR	jvim3
setenv  LANG	ja_JP.UTF-8
setenv	PAGER	more
setenv	BLOCKSIZE	K
setenv	PKG_DBDIR	~/db/pkg

if ($?prompt) then
	# An interactive shell -- set some stuff up
	set filec
	set history = 100
	set savehist = 100
	set mail = (/var/mail/$USER)
	if ( $?tcsh ) then
		bindkey "^W" backward-delete-word
		bindkey -k up history-search-backward
		bindkey -k down history-search-forward
	endif
endif

さくらに bash 環境を構築

まずは、bash_profile ファイルの作成。

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
	. ~/.bashrc
fi

# User specific environment and startup programs
PATH=$PATH:$HOME/bin

export PATH

次に、.bashrc ファイルを作成。
エイリアスは、.cshrc と同様で、vim が文字化けしないように設定しています。

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

# User specific aliases and functions
alias h='history 25'
alias j='jobs -l'
alias la='ls -a'
alias lf='ls -FA'
alias ll='ls -lA'
alias vi='jvim3 -K TTT -k t'

# A righteous umask
umask 22

export EDITOR=jvim3
export LANG=ja_JP.UTF-8
export PAGER=more
export BLOCKSIZE=K
export PKG_DBDIR=~/db/pkg

最後に、csh 環境で以下のコマンドを入力することで、bash 環境に変更されます。

chsh -s /usr/local/bin/bash

レンタルサーバーにownCloud環境の構築

AjaXplorerがPydioとなりましたが、オンラインストレージとしてはいまいち使いづらい印象だったので、ownCloud環境を新たに整備しました。ownCloudは、使いやすく、でも高機能なオンラインストレージサービスです。

ownCloudのバージョン:v6.02
データベース:SQLite
PHPのバージョン:5.4.12

インストール方法は、一般的なWebインストーラを使う方法ではなく、圧縮ファイルの解凍で行いました。
まずはダウンロードページへ。

SSHが使える環境であれば、.tar.gz2ファイルをレンタルサーバ上でwgetコマンドなどで、そうでなければ.zipをローカルにダウンロードします。(どちらでも検証しています)
次に、.tar.gz2ファイルならサーバ上で解凍。.zipなら解凍し、作成されたowncloudディレクトリを丸ごとアップロードします。ちなみに、私はこの時点でディレクトリ名を変更しています。
そうすると、以下のような初期アカウント作成画面が表示されます。

owncloud_capture_2

ここで、データベース設定はSQLiteにします。

owncloud_capture_3

以上の手順だけで、インストールが完了します。

owncloud_capture_4

容量ほぼ無制限のオンラインストレージの出来上がりです。
一番便利だと感じていたのは、共有URLの公開に関して。
各アイテムについて「Share -> Share Link」で外部のユーザーに公開できる点です。

index.phpには認証やIP制限をかけるのもありだと思います。