こいつ…(とりあえず)動くぞっ!

あわよくばハッカーになりたい。あと3000年生きたい。ふふふーふ.jpで打製石器を作りまくっています。バールプログラミングを提唱しています。

環境構築のまとめ

コマンドとか構文とかは分からなくなってもググれば何か出て来るけど、環境構築だけは言われるがまま魔導書を音読したらベルゼバブが使い魔として召喚できちゃった状態なので、新しいPC買ったりして現在の開発環境を再現しなきゃいけなくなったときに死んでしまわないためのメモ。ちなみにwin10です。

1.VirtualBoxをインストールする

5.2系じゃなくて5.1系がいいらしい。5.2系はvagrantと組み合わせるときに、仮想ビデオカード?がどうとかで?なんか上手く動かない?らしい。

2.vagrantをインストールする

え!?!?ヴェィグラント!?!?ヴァグラントじゃいないんですか!?
N予備校では2.0.0が推奨されていたけど2.0.1をインストールしてみた。ダメなら変えたほうがいいかも。インストール場所はデフォルトでいいらしい。 以下はコマンドプロンプトで操作する。

3.vagrantで仮想ubuntuを入れる

仮想環境をインストールするディレクトリをどっかにmkdirしてそこにcdしておく。 (%USERPROFILE%\vagrant\ubuntu64_16にした) んで、その場所でubuntuのboxをインストールする。vagrant box add ubuntu/xenial64
そしてイニシャライズ。vagrant init ubuntu/xenial64

(4.win7か8系の場合のみpowershellを入れるためにchocolateyをインストール。)

vagrantpowershell使うらしい。インストールのコマンドはまじで呪文詠唱。やばい。@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
これでchocolateyが入ったらしいので、powershellをインストールする。choco install -y powershell

5.仮想ubuntuにログイン

これで準備できたのでSSHで仮想ubuntuにログインする。クライアント?にはrlogin使った。
まずはvagrantを起動。vagrant up (ちなみに停止はvagrant halt突然のドイツ語) rloginをプロトコルssh、Server Adress はlocalhost、Socket Portは2222、User Name はubuntuSSH Identity Key は「(3で作ったディレクトリ)/.vagrant/machines/default/virtualbox」の中に入っているprivate_keyを指定、デフォルト文字セットはUTF-8に設定して接続する。

6.仮想ubuntuを日本語化

ここからはrloginのコンソールを使う。 sudo locale-gen ja_JP.UTF-8で日本語環境を作成。
すごい!ついに噂のsudoを使ったぞ!
echo export LANG=ja_JP.UTF-8 >> ~/.profileで日本語で起動するようにprofileに書き込み?
source ~/.profileで設定を反映する。
dateコマンド使ってみて日本時間が出ればおけ

7.vagrantfileの設定(共有フォルダ)

vagrantfileはマジでヴォイニッチ手稿。形容詞として表現するならヴォイニッチい。「気を利かせてコメントアウトをうまいこと外せば設定できるようにしてあるぜ!」って感じなんだろうけど逆にゴチャゴチャして訳わからん。書き方もよく分からんしvagrantの設定は勉強が必要。 とりあえず、win側とubuntu側それぞれに同期させたいフォルダ作る。そしてvagrantfileの41行目あたりのなんもない行にconfig.vm.synced_folder "(win側のフォルダのvagrantfileから見た相対パス)", "(ubuntu側のフォルダの絶対パス)"を追加する。 Winの場合はさらにその下にconfig.vm.synced_folder "(win側のフォルダのvagrantfileから見た相対パス)", "(ubuntu側のフォルダの絶対パス)" config.vm.provider :virtualbox do |vb| vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/(ubuntu側のフォルダの絶対パス)","1"] endを追記する。なんやねん。直上のコマンドのポイントは、ubuntu側のフォルダの絶対パスは/で始まるので、SharedFoldersEnableSymlinksCreate//ってなるところな気がする。

8.vagrantfileの設定(メモリを増やす)

さらに、メモリを増やすために46-52行目辺りにある 「config.vm.provider "virtualbox" do |vb|」と 「vb.memory = "1024"」と「end」の#を外す。 winは管理者権限で起動したコマンドプロンプトfsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1(fsutil behaviorはNTFS ボリュームの動作を設定する?コマンドで、 set SymlinkEvaluationでコンピューター上に作成できるシンボリック リンクの種類を制御するらしいよ。このコマンドの意味は、ローカルとかリモートとか関係なくシンボリックリンクを有効にしている、らしい。きっと仮想環境と同期するのに必要なのだろう。シンボリックリンクとは、いろいろ調べた結果、影分身だと理解しました。)をやった後、 設定を反映するためにvagrantを再起動させる。 vagrant reload --provision

9.gitの設定もする

あともう一息。。。gitはデフォで入っているっぽい。rloginの方でsudo apt-get updateでアップデートし、最新がちゃんと入ったか確認するためあえてapt-getでinstallしてみる。
sudo apt-get install git
そしてSSHの公開鍵をgithubに登録する。 ssh-keygenでsshkeyを作成。パスワードは入力しないでenterでいいっぽい。入れてもいいんだろうけどcommitするときとか面倒くさい。(入れてしまったので面倒くさいですが再設定するのもなんとなく面倒くさいです)うまくいくとなんかAAとFingerPrintが表示されて~/.sshの中に鍵が作成されてる。
登録するのは.pubの公開鍵の方なのでcat ~/.ssh/id_rsa.pubで中身を表示してgithubのsetting>SSH and GPG keys>SSH keys>NewSSH keyを選択。
Titleは適当(使ってる仮想LinuxのBox名が分かりやすい?)、keyに先ほどcatで表示したものをコピペ入力してadd。

10.一息入れる

トワイニングイングリッシュブレックファーストが好きです。
しかし、結局魔導書の写本を作ってしまった感。。。。