futabooo blog

色々手をつけすぎてすぐに忘れるので備忘録

neobundleをgithubで管理するときにハマったこと

最初に自分が作った環境をgithubにあげて、別の環境で下記コマンド実行

$ git clone https://github.com/futabooo/dotfiles.git --recursive
Initialized empty Git repository in /home/futabooo/dotfiles/.git/
remote: Counting objects: 22, done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 22 (delta 7), reused 19 (delta 4)
Unpacking objects: 100% (22/22), done.
Submodule '.vim/bundle/neobundle.vim' (https://github.com/Shougo/neobundle.vim.git) registered for path '.vim/bundle/neobundle.vim'
Initialized empty Git repository in /home/futabooo/dotfiles/.vim/bundle/neobundle.vim/.git/

ここでずーと先に進まない。
原因は.gitmodule内のURLの書き方でした。

修正前

[submodule ".vim/bundle/neobundle.vim"]
     path = .vim/bundle/neobundle.vim
     url = http://github.com/Shougo/neobundle.vim.git

urlをhttpsに変更するだけで解決

[submodule ".vim/bundle/neobundle.vim"]
     path = .vim/bundle/neobundle.vim
     url = https://github.com/Shougo/neobundle.vim.git


参考
git clone コマンドが何故か進まない。 - よしだのブログ

AndroidStudio0.5.4でFacebookSDKを追加する方法

環境
OSX 10.9.2
AndroidStudio 0.5.4
FacebookSDK 3.8.0


FacebookSDKにかかわらず、ライブラリーを追加する場合は大抵この方法でしょう。

1.FacebookSDKを設置

FinderでコピペでAndroidStudioにも反映されます。
追加後は下記のようなフォルダ構成です。
/Users/futabooo/AndroidStudioProjects/Iwaeme/libraries/facebook
f:id:futabooo:20140406202645p:plain

2.settings.gradleを編集

settings.gradleを編集します。
f:id:futabooo:20140406203428p:plain


後半部分を追加。

include ':app', ':libraries:facebook'

3.build.gradleを編集

開発するプロジェクトの方のbuild.gradelを編集します。
f:id:futabooo:20140406202653p:plain


最後の1行を追加。

dependencies {
    compile 'com.android.support:support-v4:19.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':libraries:facebook')
}

4.確認

Sync Project with Gradle Filesを押下して設定を反映させたのち、
下記のように補完が聞けば追加に成功しています。
f:id:futabooo:20140406203749p:plain


iTerm2のカラースキーマまとめ

最近ターミナルの作業をすることが増えてきまして、iTermの画面とにらめっこすることが増えてきました。
そこで色を変えたいなーと思い、方法を調べるついでにすでに用意されてるiTerm用のカラースキーマまとめてみました。

iTermのカラースキーマ設定方法

すでに用意されたカラースキーマからimportしちゃいます。

1.preferences>Profiles>なんか適当に新規作成>Colors>LoadPresets>import
f:id:futabooo:20140311015235p:plain


2.適当にネットでDLしてきたカラースキーマを指定する
.itermcolorsファイルをimport
f:id:futabooo:20140311015716p:plain


3.importした設定を有効にする
f:id:futabooo:20140311015819p:plain


完了。一枚目のキャプチャとはColorsが変わっています。
f:id:futabooo:20140311015839p:plain

別の方法

書いてる途中でこんなサイト発見
Iterm Themes - Color Schemes and Themes for Iterm2

さくらのVPSを借りた時にとりあえずここまではやっておくって事

参考
VPS 借りたら、せめてこれくらいはやっとけというセキュリティ設定 | dogmap.jp


基本的には参考URLの焼き直し。
#はrootで実行。$は最初に作成した一般ユーザで実行。

作業用ユーザーの作成

rootユーザのパスワード漏れたりしたら\(^o^)/なので普段の作業はこいつでする。

# useradd futabooo
# passwd futabooo

rootになれるようにwheelグループに追加

$ usermod -G wheel futabooo
$ visudo
## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

ssh公開鍵方式でログインできるようにする

ssh公開鍵自体は自分のローカルマシンで作成しておく
パーミッションも変更してセキュリティ向上

$ scp -P 22 sakuraVPS_id_rsa.pub futabooo@割り当てられてるIPアドレス:
$ mkdir .ssh
$ chmod 700 .ssh
$ mv sakuraVPS_id_rsa.pub .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys

rootでのログイン、パスワードでのログインをできなくする

# vi /etc/ssh/sshd_config
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes

sshポートの変更を変更してsshd再起動

hogeはデフォで2だけど、変更しておく。22だと簡単にアタックされる。
他にもよくあるのは1022とか。

$ vi /etc/ssh/sshd_config
Port hoge
$ /etc/rc.d/init.d/sshd restart

iptablesの設定をする

hogeはさっきsshの時に設定したPort番号と合わせる

# vi /etc/sysconfig/iptables
*filter
:INPUT   ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT  ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH, HTTP
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport hoge -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80    -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

# /etc/rc.d/init.d/iptables restart
# /sbin/chkconfig iptables on

yumのアップデート

# yum update

denyhostsを導入する

ssh規定回数以上ログインに失敗したアクセス元の IP アドレスをアクセスできないようにするやつ

# yum install -y denyhosts
# /etc/init.d/denyhosts start
# /sbin/chkconfig denyhosts on

logwatchを導入する

サーバー監視ツール。一日一回設定したメアドにメールで内容を送ってくれる。

# yum install -y logwatch
# vi /etc/logwatch/conf/logwatch.conf
MailTo = example@co.j@

コンソールの日本語化

# vi /etc/sysconfig/i18n
LANG="ja_JP.UTF-8"
SYSFONT="latarcyrheb-sun16"

ここまでは決まった作業として行う。
最低限の設定。

vimの設定ファイル.vimrcをgithubで管理する

最近自分のメインマシンであるMBAを買い換えたいなーという衝動にかられています。
PCを買い換えると、データの移行が本当に面倒だなーと感じます。
少しでも軽減するために今回vimの設定ファイルはgithubで管理することにしました。
mac環境での使用を想定しています。

現状ホームディレクトリにある.vimrcを管理対象に変える。
途中で作成している.gitignoreは現状.DS_Storeしか記入していません。今後必要に応じて編集予定。

$ cd
$ mkdir dotfiles
$ mv .vimrc ./dotfiles/.vimrc
$ cd dotfiles
$ vi .gitignore
$ git init
$ git add ./
$ git commit -m "first commit"


ここいらでgithubリポジトリーを用意する。
詳しくは公式のHelpやCreate A Repo · GitHub Help
ググレカスということで。


githubに作成したリモートリポジトリにpushする

$ git remote add origin https://github.com/futabooo/dotfiles.git
$ git push -u origin master


シンボリックリンクを作成しておく

$ cd
$ ln -s ./dotfiles/.vimrc .vimrc

これでgithubでの管理ができるようになりました。


別環境で使いたい場合はgit cloneしてシンボリックリンクを作成する

$cd
$ git clone https://github.com/futabooo/dotfiles.git
$ ln -s ./dotfiles/.vimrc .vimrc


この方法を使えば色々な設定ファイルをgithubで管理できそうですね。

ソースからrubyをcheckinstallでインストールしたらなんかわけわからなくなった

rubyをインストールしようとして色々やっていたら、
なんかわけわからなくなった\(^o^)/

追記:2014/02/07

$ ./configure --prefix=/usr
にしたらいけた。なぜかはわからない。

追記:2014/02/06

rpmのインストールコマンド実行時にディレクトリの権限が書き換わってしまうらしい。
そっちはchownで治ったけど、セグメンテーション違反です。の方はいまだ治らず\(^o^)/

作業時参考URL
さくらのVPS を改めて使いはじめる 9 – Ruby、Redmine、Subversion | アカベコマイリ
CentOSにRubyをcheckinstallでRPMにしてインストールする。 - オープンソースこねこね

$ wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.0.tar.gz
$ tar zxvf ruby-2.1.0.tar.gz
$ cd ruby-2.1.0
$ ./configure
$ make
$ cp -p ./ruby ./bin/  #←これやらないと別のエラーに見舞われる


ome of the files created by the installation are inside the home directory: /home

You probably don't want them to be included in the package.
それらを表示しますか? [n]: n
それらをパッケージから除外しますか?(yesと答えることをおすすめします) [n]: n

Some of the files created by the installation are inside the build
directory: /home/futabooo/ruby-2.1.0

You probably don't want them to be included in the package,
especially if they are inside your home directory.
Do you want me to list them?  [n]: n
それらをパッケージから除外しますか?(yesと答えることをおすすめします) [y]: n

tempディレクトリにファイルをコピー..OK

Stripping ELF binaries and libraries...OK

manページを圧縮..OK

ファイルリストを作成..OK

You requested to review the .spec file for this package.
Now you'll have the chance to review and optionally modify this file.

Enterキーを押すと続けます。   #viで編集するときに "//usr/local/bin/ruby" がなければたす


RPMパッケージを作成..OK

注意: パッケージはインストールされません

tempファイルを削除..OK

doc-pakディレクトリを削除..OK

バックアップパッケージを書き込み..OK

temp dirを削除..OK


**********************************************************************

 Done. The new package has been saved to

 /root/rpmbuild/RPMS/x86_64/ruby-2.1.0-1.x86_64.rpm
 You can install it in your system anytime using:

      rpm -i ruby-2.1.0-1.x86_64.rpm

**********************************************************************

$ sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/ruby-2.1.0-1.x86_64.rpm
準備中...                ########################################### [100%]
   1:ruby                   ########################################### [100%]
$ ruby -v
セグメンテーション違反です
$ cd
-bash: cd: /home/futabooo: 許可がありません