Docker, ubuntu, Vagrant

開発環境って、一度作るとあとはそれほどいじらないのでいいんですが

適当に作ったけど適当に社内で公開したい場合にお気軽にデプロイしたい。

Capistrano使ったりするのもいいんだけど…。

それに、小さめのツール類が多いんだけど、毎回nginx立ててポート変えてとかconfでゴニョゴニョして公開するの、面倒。

サクッとデプロイしたら即公開みたいな環境ないかなー。herokuみたいな。

と思って探したらdokkuというの ...

Docker, ubuntu

以前よりローカルでの仮想環境の生成・破棄は容易になったような気がしますが

Vagrantでは、インスタンスの生成、破棄のコストが高い気がするので

そこのところをDockerを使ってやってみるようにしてみました。

まずは、ベースになるマシンとしてUbuntu Server 14.10 64bitの仮想マシンを立ち上げます。

これは、VagrantでもVMwareでも問題ないです。

今後、頻繁にアクセスすることになるので、vmのIPを ...

git, ubuntu

git cloneしたときに

(gnome-ssh-askpass:***): Gtk-WARNING **: cannot open display:

という表示が出てエラーになる。

どうも、SSHの処理がパスワード入力ダイアログを出したいらしい。

これに関連する環境変数が

SSH_ASKPASS

という事で、これをunsetして見ます。

これで、無事git clone出来るかと思います。 ...

ubuntu

Ubuntuはサポートが切れたバージョンの場合

archive.ubuntu.com

から

old-releases.ubuntu.com

というドメインにパッケージが移動するようです。

ということで、

/etc/apt/sources.list

の中のドメイン名を変更してみます。

となっているので、これを

という感じに変更してみます。

これで正常にapt-get upd ...

ubuntu

ssh切れたら痛いなーと思っていたら

screenというコマンドがあるというのを教えてもらった。

仮想ターミナルという感じのコマンドらしく

teratermなどでサーバ機に接続した上でscreenを使うと

screenがバックグラウンドで起動し、

さらにその中にターミナル接続したようなイメージで使用できるらしい。

ということで、クライアントPCとサーバとの接続が切れてもサーバ上ではターミナルが開かれたままという事になる ...

ubuntu

IPアドレスを指定するファイルは

/etc/network/interfaces

DHCPで取得するような設定の場合
このファイルの中に

といったような記述があります。

ここのifaceの設定を以下の様に変更することで、IPを固定化出来ます。

Ruby on Rails 4, ubuntu

rvmを使って実行環境を分けつつ、crontabなどで自動起動をさせたい時

まずはrvmでラッパーを作成する

これを実行すると、~/.rvm/binにstart_unicorn_railsというファイルが出来上がる

このファイルに対してunicorn_railsに指定するパラメータを指定してやると

rvmを読み込んだ状態でunicorn_railsを実行してくれる。

ubuntu

Ubuntuのデスクトップは標準では使いにくいので、どうせならMac OS風にして見よう、と思ってやってみます。

Mac OS風になる物はいくつかあるようですが
今回はGlx-Dock/Cairo-Dock
という物を使ってみます。

インストールはパッケージ管理でちょこちょこっとコマンドを叩くと入れられるようです。
では、オフィシャルページにあるインストール方法を実行していきます。
※ここでは、Ubuntu Serverではなく、通常 ...

Ruby on Rails 4, Ruby on Rails メモ, ubuntu

必要なパッケージをインストールする

たぶん、このインストールだけで済むはず。

入れている物は、
libqtwebkit-dev
qtwebkitの開発用モジュール
Qtはデスクトップと組込み開発向けのクロスプラットフォームアプリケーション開発フレームワーク
らしい
xvfb
仮想フレームバッファ
ttf-kochi-mincho-naga10 ttf-kochi-gothic-naga10
日本語フォン ...

ubuntu

どうやら、ログをUTF-8として扱ってくれないのが原因のようなので

/etc/default/jenkinsに設定を追加します。

Jenkinsがファイルを参照する時に効いてくる設定は

file.encodingで、ここにUTF-8を設定してやればUTF-8としてファイルを読んでくれます。

ということで

JAVA_ARGS=”-Dfile.encoding=UTF-8″

という設定を追加してみま ...

Linux, ubuntu

Apacheのログで、特定の条件を除外した一覧を取得する方法

awk ‘!/GET \/images/&& !/GET \/javascripts/&& !/GET \/stylesheets/{print($0)}’ access.log

ubuntu

タイトルの通りです。

最近外出先から家のネットワークに繋がらないなぁと思ったら

プロバイダでふさがれたっぽいのです。。

ついでにいうと、DoCoMoのスマホでテザリングして接続ということが出来なかったので

それも可能にしたい。

で、IPSecとかも考えましたが

SSL-VPNという方式でつないだら楽かも?という事で

SoftEther VPNというものを使ってみたいと思います。

このSoftEt ...

ubuntu

サーバにSSHとかで接続する際には、ターミナルツールのエンコードをUTF-8とかで
日本語の表示が出来るので問題ないとして

ほとんど無いと思いますが。
マシンに直接ログインした時に日本語が表示されません。

そのような時には、

ログイン後に

export LANG=C

と打ち込むことで、表示言語を標準言語に戻すことが出来るので
文字化けは起きないと思います。

まぁ英語になるので、めんどくさいかもし ...

ubuntu

sudo date -s "05/07 23:59 2013"

Linux, ubuntu

定期的にファイルを削除したい場合、cronを使用する

例えば、/home/hoge/dataのlogディレクトリが作成されていたら削除するには

crontab -e

で、cronの設定ファイルを開き

0 1 * * * cd/home/hoge/data; if test -e log; then rmdir -pr log; fi;

と設定する

これで、一時間おきに/home/hoge/dataにあるlogディレクト ...

git, ubuntu

RhodeCodeというのは、

Githubのような雰囲気のソース共有サーバを構築するオープンソースです。

Githubでやりたい事を、Githubではなく、ローカルで実現したい、といった場合に適していると思います。

リポジトリをフォークしたり、ソースレビューをしたりetc

と言うことで、

RhodeCodeをインストールして見ます。

RhodeCodeはPython製なので、Pythonをインストールします。 ...

git, Linux, ubuntu

svnのリポジトリをgitで扱う方法として
svn gitというコマンドツールがある

今回はgitをリモートリポジトリにする方法は別途解説するとして

このコマンドを使用して、svnリポジトリをgitに移行してみます。

まずは、gitリポジトリをイニシャライズします。

イニシャライズ時に、リモートリポジトリにする前提で移行するので–bareオプションを付けます。
これは、my_prodディレクトリにソースを展開せずに管理情報だけを ...

git, ubuntu

公開リポジトリを作成するまで

gitのインストール
sudo apt-get install git
gitoliteのインストール
sudo apt-get install gitolite
gitolite用アカウントの作成
sudo adduser –disabled-password gitolite
管理者用として公開鍵を作成
ssh-keygen -t rsa
gitoliteアカウントのホ ...

Ruby, ubuntu

Rubyは、リファレンス実装でC言語によるRuby(CRuby)や、Javaでの実装のJRuby、.NETのIronRubyなど、多くの実装があります。

これを一つ一つ環境構築してたら、大変なので

RVMというRubyの管理ツールをインストールしてみます。

これで出来る事は
Rubyのバージョンを切り替える
CRubyからJRubyに切り替える
gemのセットを作って切り替える

など

お手軽に入れるには、U ...