americandog1993の日記

プログラマー歴半年のメモ

CentOS(6.8)でDocker導入

タイトル通り。

$ su
$ yum -y update

けっこう待つ。
終わったら、

$ sudo rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
$ sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ sudo yum -y install docker-io

ここまでで導入は完了。
早速動かしてみる。

$ sudo service docker start
$ sudo chkconfig docker on

下のコマンドはたぶん自動起動の設定的なやつ。

参考
qiita.com
qiita.com

さくらのVPSでCentOSを再インストールしたら WARNING:REMOTE HOST IDENTIFICATION HAS CHANGED! と出て入れない

さくらのVPSで全部やり直したくなったのでCentOSを入れ直したら

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

こういうクソでかエラーが出てつながらないとき。
おそらく以前作った秘密鍵と現在(再インストール後)のVPSサーバー側の公開鍵が合致しないのが原因。

ターミナルで以下をたたく。

$ ssh-keygen -R [サーバのIPアドレス]

これで繋がった。

参考
qiita.com

CentOSにvimを入れる

CentOSにviとかいうやつしか入ってなかったのでvimを入れることにした。

僕の環境だと

$ sudo yum install mercurial

このパッケージだけ入れて

$ cd /usr/local/src
$ sudo hg clone https://bitbucket.org/vim-mirror/vim vim

vimをとってきて

$ cd vim
$ sudo ./configure --with-features=huge --enable-multibyte --disable-selinux
$ sudo make
$ sudo make install

Vimそのものは完了。
無事使えることも確認。

あと、絶賛Ruby修行中なのでRsenseってやつを加えた。

$ sudo yum install java-1.8.0-openjdk wget -y
$ wget http://cx4a.org/pub/rsense/rsense-0.3.tar.bz2
$ bzip2 -dc rsense-0.3.tar.bz2 | tar xvf -
$ sudo cp -r rsense-0.3 /usr/local/lib
$ sudo chmod +x /usr/local/lib/rsense-0.3/bin/rsense

RsenseはRuby環境入れてからでないとうまく入れられないっぽい(要確認)。
あとwgetのところでなぜか一般ユーザーsudoだと上手くいかなかったのでsuしてrootで叩いた。

完了。

参考
qiita.com
qiita.com

vagrant で no such device とか出てうまくいかないとき

$ vagrant up

をした時に赤文字で なんとかかんとか:no such device とか出ていろいろ不具合ったので。

qiita.com
qiita.com
qiita.com

このあたり参考にしたらいけたっぽい?
例のごとく色々試して結局何が原因で何で直ったのかわかってないんだけれども、

$ vagrant ssh

入ってから、下のやつ走らせたのが決定打っぽい。

$ sudo yum update kernel*

終わったら exit で抜けて、

$ vagrant reload

なんか色々ダウンロード始まってうまくいった。
よかったです(カスの感想)。

CentOS(6.8)で Ruby on Rails 環境構築しようとしてめっちゃハマった

www.task-notes.com

結論から言うとここのやり方でほぼいけた。
Linuxはセキュリティの観点(?)から極力rootではなく作ったユーザーで作業すべきのようだが、sudo で進めてたらなんかエラー出てうまくいかない。
ある程度Linuxの基本を勉強する必要があるんだろうな。

あんまりよくないんだろうなとは思いつつ、ほぼ全部rootで作業したらすいすい進めた。

$ vagrant ssh

で入ると最初vagrantユーザーで始まるが、

$ su

で root に移れる。
パスワード聞かれたら vagrant と打つ。

冒頭のリンク先のやり方だとrbenv落としてくるのだけ終わったらユーザ権限に戻ってるっぽいんだけど、

$rbenv install 2.2.2

僕の環境だとここで BUILD FAILED ってなって失敗した。
なのでここも su でroot権限になって実行。
すると

Installing ruby-2.2.2...

のとこでめっちゃ待たされた後うまくいった。

続いてrails

qiita.com

railsインストール」以下を愚直に打ち込んでいく。
あとは道なりに・・・と思いきや、

$ bundle install

でエラー発生。
赤い英語で何やら書いてある。
sqlite3がどうたらこうたら。

ググろう。

qiita.com

いただきましたありがとうございます。
とりあえずsqlite-develっていうのが足りてないってことっぽいのでインストールする。

$ yum install sqlite-devel

こう。
僕の場合はこの状態で

$ bundle install

で再トライしたら無事成功。
そのまま rails server までトラブルなくできた。

VirtualBox上のCentOS(6.8)で rails server した結果をホストOSのブラウザから見る

ホストOSのブラウザでゲストOSの localhost:3000 どうやって見るのってなってハマった。
解決したのでメモ。

vagrantfileに以下の設定を書き足す。

# config.vm.network "forwarded_port", guest: 80, host: 8080 

の下に

config.vm.network :"forwarded_port", guest: 3000, host: 3000

を挿入。

$ vagrant halt
$ vagrant up

再起動して

$ rails s -b 0.0.0.0

railsアプリのディレクトリでこれを実行。

f:id:americandog1993:20170416012216p:plain

ホストOS Chromeのアドレス欄に入力すると・・・

f:id:americandog1993:20170416012317p:plain

いただきましたありがとうございます。

-b 0.0.0.0 の意味はよくわかってない。
とりあえず今は動くrails環境作るの優先でいきたいのであえて深入りしないことにする。

追記
iptable 設定も関係あるっぽい?
ググりながらいろいろいじってたからどれがどう関係あるのかわからん。
あとで確認して必須っぽかったらまた書き足します。

参考
teratail.com