-
Notifications
You must be signed in to change notification settings - Fork 0
/
atom.xml
638 lines (428 loc) · 18.3 KB
/
atom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>dadamemo</title>
<link rel="alternate" href="http://dadayama.github.io/" />
<author>dadayama</author>
<generator uri="https://github.com/Songmu/p5-Riji" version="0.1.3">Perl Riji</generator>
<id>tag:dadayama.github.io,2014-11-15:</id>
<updated>2014-12-16T11:39:07+09:00</updated>
<entry>
<title type="text">Vagrantの基本設定項目</title>
<link href="http://dadayama.github.io/entry/2014-12-11-01.html" />
<author>
<name>dadayama</name>
</author>
<content><![CDATA[<h1>Vagrantの基本設定項目</h1>
<p>Vagrantfileを使って各種項目を設定していく。<br/>
ここでは仮想化ソフトウェアに「VirtualBox」を用いる事が前提。<br/>
設定内容は以下のブロックに定義。</p>
<pre><code>Vagrant.configure(<vagrantAPIのバージョン>) do |<任意のキー名>|
※ このブロック内に定義
end
</code></pre>
<p>ブロック内では<code>vm</code>、<code>ssh</code>といったプロパティが使用可能。<br/>
基本は<code>vm</code>プロパティでゲストOS構成を定義する。</p>
<pre><code>Vagrant.configure('2') do |config|
config.vm.<プロパティ>…
end
</code></pre>
<h2>BOX設定</h2>
<h3>config.vm.box</h3>
<p>使用するBOXを指定。<br/>
<code>vagrant box add <BOX名> <BOXのURL></code>で指定したBOX名がこれに当てはまる。</p>
<pre><code>config.vm.box = '<BOX名>'
</code></pre>
<h3>config.box_url</h3>
<p>BOXのURLを指定。<br/>
上記で指定したBOXがローカルに存在しない場合、このURLからBOXを取得する。</p>
<pre><code>config.vm.box_url = '<BOXのURL>'
</code></pre>
<h2>アクセスURL設定</h2>
<h3>config.vm.hostname</h3>
<p>ここに指定されたURLがホストOSのhostsファイルに書き込まれる。<br/>
仮想マシンが立ち上がっている間はこのURLでアクセス可能。</p>
<pre><code>config.vm.hostname = '<任意のURL>'
</code></pre>
<h2>ネットワーク設定</h2>
<h3>config.vm.network</h3>
<p>パラメータによって接続方法やIPアドレスなどを指定出来る。</p>
<pre><code>config.vm.network <ネットワーク構成>, <パラメータ名>: '<パラメータ>',…
</code></pre>
<p>VirtualBoxでは以下のネットワーク構成が提供されている。</p>
<ol>
<li>ホストオンリーアダプタ</li>
<li>内部ネットワーク</li>
<li>NAT</li>
<li>ブリッジアダプタ</li>
</ol>
<h4>ネットワーク構成 - ホストオンリーアダプタ</h4>
<p>ホストOSとゲストOS間のみの閉じたネットワークを構成する。<br/>
以下、基本的なパラメータ。</p>
<ul>
<li><p><code>:private_network</code>: プライベートなネットワークを構成する指定</p></li>
<li><p><code>ip</code>: ゲストOSのIPアドレス</p></li>
<li><code>type</code>: DHCPプロトコルの使用などを設定</li>
</ul>
<!-- break -->
<pre><code>config.vm.network :private_network, ip: '<任意のIPアドレス>'
config.vm.network :private_network, type: 'dhcp'
</code></pre>
<h4>ネットワーク構成 - 内部ネットワーク</h4>
<p>ゲストOS間のみの閉じたネットワークを形成する。<br/>
以下、基本的なパラメータ。</p>
<ul>
<li><p><code>:private_network</code>: プライベートなネットワークを構成する指定</p></li>
<li><p><code>ip</code>: ゲストOSのIPアドレス</p></li>
<li><code>virtualbox__intnet</code>: ネットワーク名</li>
</ul>
<!-- break -->
<pre><code>config.vm.network :private_network, ip: '<任意のIPアドレス>', virtualbox__intnet: '<ネットワーク名>'
</code></pre>
<p>ここで同一のネットワーク名をもつゲストOS同士が通信を行えるようになる。<br/>
(ホストOSを含む外部ネットワークからは遮断される)</p>
<h4>ネットワーク構成 - NAT</h4>
<p>NATとは「Network Address Translation」の略称。<br/>
ホストOSを経由する形で外部<=>ゲストOS間のネットワークが構成される。<br/>
Vagrantのデフォルト設定。</p>
<p>またゲストOSは外部ネットワークに接続出来るが、その逆は不可。<br/>
しかし、<strong>ポートフォワーディング</strong>を用いることで外部ネットワークからゲストOSへアクセスする事が可能となる。<br/>
ポートフォワーディング機能使用時の基本パラメータは以下。</p>
<ul>
<li><p><code>:forwarded_port</code>: ポートフォワーディングの使用指定</p></li>
<li><p><code>host</code>: ホストOSの転送元HTTP通信用ポート</p></li>
<li><code>guest</code>: ゲストOSの転送先HTTP通信用ポート</li>
</ul>
<!-- break -->
<pre><code>config.vm.network :forwarded_port, host: <ポート番号>, guest: <ポート番号>
</code></pre>
<h4>ネットワーク構成 - ブリッジアダプタ</h4>
<p>ゲストOSとホストOSで同じネットワークに接続する。<br/>
ゲストOSは外部ネットワークから見た時に独立したマシンのように振る舞う。<br/>
IPの設定にはデフォルトでDHCPプロトコルを用いるが、静的IPを設定する事も可能。<br/>
以下、基本的なパラメータ。</p>
<ul>
<li><p><code>:public_network</code>: パブリックなネットワークを構成する指定</p></li>
<li><p><code>ip</code>: ゲストOSのIPアドレス</p></li>
<li><code>bridge</code>: ブリッジ接続を行う為のインターフェースを指定</li>
</ul>
<!-- break -->
<pre><code>config.vm.network :public_network
config.vm.network :public_network, ip: '<任意のIPアドレス>'
config.vm.network :public_network, bridge: '<インターフェース名>: <ネットワークメディアの種類>'
</code></pre>
<h2>プロバイダー設定</h2>
<h3>config.vm.provider</h3>
<p>プロバイダー(ここではVirtualBox)の設定を変更出来る。<br/>
設定内容は以下のブロックに定義。</p>
<pre><code>config.vm.provider :virtualbox do |<任意のキー名>|
※ このブロック内に定義
end
</code></pre>
<p>設定内容は以下。</p>
<h3>GUI使用</h3>
<p>VirtualboxのGUIウィンドウを起動する。<br/>
<code>gui</code>プロパティにて指定。<br/>
デフォルト値は<code>false</code>。</p>
<pre><code>config.vm.provider :virtualbox do |vb|
vb.gui = true
end
</code></pre>
<h4>BOXの名称変更</h4>
<p>VirtualBoxのGUI上での名称を変更する。<br/>
<code>name</code>プロパティにて指定。</p>
<pre><code>config.vm.provider :virtualbox do |vb|
vb.name = '<任意のBOX名>'
end
</code></pre>
<h4>CPUのコア数変更</h4>
<p><code>cpus</code>プロパティにて指定。</p>
<pre><code>config.vm.provider :virtualbox do |vb|
vb.cpus = <任意のCPUコア数>
end
</code></pre>
<h4>メモリの割り当て変更</h4>
<p><code>memory</code>プロパティにて指定。</p>
<pre><code>config.vm.provider :virtualbox do |vb|
vb.memory = <任意のメモリー割り当て量>
end
</code></pre>
<h4>その他</h4>
<p>その他の詳細な設定を指定出来る。<br/>
<code>customize</code>プロパティにて指定。</p>
<p>指定可能な値は以下サイトを参考に。<br/>
<a href="http://www.virtualbox.org/manual/ch08.html">www.virtualbox.org - manual chapter8</a></p>
<p><strong>その他の設定例: CPU使用率の変更</strong></p>
<pre><code>config.vm.provider :virtualbox do |vb|
vb.customize ['modifyvm', :id, '--cpuexecutioncap', <任意のCPU使用率>]
end
</code></pre>
<p>※<code>:id</code>は仮想OSに割り当てられたIDに置き換わる特殊なプロパティ。</p>
<h2>共有フォルダ設定</h2>
<h3>config.vm.synced_folder</h3>
<p>ゲストOS、ホストOSで共有するフォルダを指定出来る。<br/>
また、デフォルトではホストOSの<code>Vagrantfile</code>のあるフォルダ、ゲストOSの<code>/vagrant</code>フォルダが共有される。</p>
<pre><code>config.vm.synced_folder '<ホストOSの共有フォルダパス>', '<ゲストOSの共有フォルダ絶対パス>', <パラメータ名>: '<パラメータ>',…
</code></pre>
<p>設定可能なプロパティと詳細は以下。</p>
<h4>フォルダ作成</h4>
<p>対象のフォルダが存在しない場合に、自動でフォルダを作成する。<br/>
<code>create</code>プロパティにて指定。
デフォルト値は<code>false</code>。</p>
<pre><code>config.vm.synced_folder './host_dir', '/guest_dir', create: true
</code></pre>
<h4>共有フォルダ不使用</h4>
<p>共有フォルダ機能を使わない。<br/>
<code>disabled</code>プロパティにて指定。
デフォルト値は<code>false</code>。</p>
<pre><code>config.vm.synced_folder './host_dir', '/guest_dir', disabled: true
</code></pre>
<h4>共有プロトコル設定</h4>
<p>フォルダ共有を行う為のプロトコルを指定する。<br/>
<code>type</code>プロパティにて指定。<br/>
指定が無ければ、自動で環境に合ったプロトコルを選択してくれる。<br/>
Vagrantは以下の共有プロトコルを提供している。</p>
<ol>
<li>NFS</li>
<li>RSYNC</li>
<li>SMB</li>
</ol>
<!-- break -->
<pre><code>config.vm.synced_folder './host_dir', '/guest_dir', type: 'nfs'
</code></pre>
<p>また、RSYNCで共有を行う際は、同期を行わないファイルを設定する<code>rsync__exclude</code>プロパティといったものが用意されている。</p>
<p><strong>設定例: RSYNCでの同期</strong></p>
<pre><code>config.vm.synced_folder './host_dir', '/guest_dir', type: 'rsync', rsync__exclude: '.git'
</code></pre>
<h2>プロビジョニング</h2>
<h3>config.vm.provision</h3>
<p>ゲストOSの起動後に行う処理を指定出来る。<br/>
シェルスクリプトの処理や、サーバの設定を自動で行う<strong>Chef</strong>や<strong>Puppet</strong>、<strong>Ansible</strong>といったツールの設定を渡すことも可能。</p>
<pre><code>config.vm.provision '<プロビジョニングの方法>', <パラメータ名>: '<パラメータ>',…
</code></pre>
<p><strong>設定例: シェルスクリプトを直接記述</strong></p>
<pre><code>config.vm.provision :shell, :inline => 'echo Hello, world!'
</code></pre>
<p><strong>設定例: シェルスクリプトファイルのパスを渡す</strong></p>
<pre><code>config.vm.provision :shell, :path => './shell.sh'
</code></pre>
<h2>SSH接続のユーザ名設定</h2>
<h3>config.ssh.username</h3>
<p>ゲストOSにSSH接続する際のユーザ名。<br/>
デフォルト値は<code>'vagrant'</code>。</p>
<pre><code>config.ssh.username = '<SSH接続ユーザ名>'
</code></pre>
<h2>秘密鍵のパス設定</h2>
<h3>config.ssh.private_key_path</h3>
<p>ゲストOSにSSH接続する際の秘密鍵のパスを指定する。<br/>
オリジナルで秘密鍵を作成した場合に使用。</p>
<pre><code>config.ssh.private_key_path = '<秘密鍵のパス>'
</code></pre>
<h2>SSH Agent Forwarding設定</h2>
<h3>config.ssh.forward_agent</h3>
<p>ホストOSのssh-agentをゲストOSからも参照できるようになる。<br/>
デフォルト値は<code>false</code>。<br/>
ssh-agentは鍵認証におけるパスフレーズの入力をログイン時の1回で済ませ、その後常駐し、鍵認証が必要なタイミングで認証を代行してくれるSSHの機能。</p>
<pre><code>config.ssh.forwarded_port = true
</code></pre>
]]></content>
<id>tag:dadayama.github.io,2014-12-15:entry-2014-12-11-01.html</id>
<published>2014-12-15T14:14:26+0900</published>
<updated>2014-12-16T11:39:07+09:00</updated>
</entry>
<entry>
<title type="text">Vagrantの基本的な使い方</title>
<link href="http://dadayama.github.io/entry/2014-12-10-01.html" />
<author>
<name>dadayama</name>
</author>
<content><![CDATA[<h1>Vagrantの基本的な使い方</h1>
<p><strong>Vagrant</strong>はハイパーバイザー上に仮想マシンを構築するツール。</p>
<h2>インストール</h2>
<p>以下サイトより任意のバージョンのパッケージをダウンロードし、インストール。<br/>
<a href="https://www.vagrantup.com/">vagrantup.com</a></p>
<h2>コマンド</h2>
<h3>初期化</h3>
<pre><code>% vagrant init
</code></pre>
<p><code>vagrant init <BOX名> <BOXのURL></code>でBOXを指定して初期化することも出来る。<br/>
<strong>BOX</strong>とは仮想マシンのテンプレートのような物。</p>
<h3>BOXの制御</h3>
<ul>
<li><strong>BOX追加</strong></li>
</ul>
<!-- break -->
<pre><code>% vagrant box add <BOX名> <BOXのURL>
</code></pre>
<p>BOXの一覧に新たなBOXを追加する。<br/>
BOX名は任意の名前を付けられる。</p>
<p>以下サイトよりBOXのURLを取得可能。<br/>
<a href="http://www.vagrantbox.es/">Vagrantbox.es</a></p>
<ul>
<li><strong>BOXの一覧表示</strong></li>
</ul>
<!-- break -->
<pre><code>% vagrant box list
</code></pre>
<h3>仮想マシン起動</h3>
<pre><code>% vagrant up
</code></pre>
<h3>仮想マシンの一時停止</h3>
<pre><code>% vagrant suspend
</code></pre>
<p>再開する場合は<code>vagrant up</code>。</p>
<h3>仮想マシンの停止</h3>
<pre><code>% vagrant halt
</code></pre>
<p>ホストマシンを終了させる場合、必ず仮想マシンを停止させる。</p>
<h3>仮想マシンの再起動</h3>
<pre><code>% vagrant reload
</code></pre>
<h3>仮想マシンの破棄</h3>
<pre><code>% vagrant destroy
</code></pre>
<h3>仮想マシンの状態確認</h3>
<pre><code>% vagrant status
</code></pre>
<h3>仮想マシンへのSSH接続</h3>
<pre><code>% vagrant ssh
</code></pre>
<h3>仮想マシンのSSH情報表示</h3>
<pre><code>% vagrant ssh-config
</code></pre>
<p><code>vagrant ssh-config >> ~/.ssh/config</code>と入力することで、sshコマンドでの接続が可能に。</p>
]]></content>
<id>tag:dadayama.github.io,2014-12-11:entry-2014-12-10-01.html</id>
<published>2014-12-11T15:15:14+0900</published>
<updated>2014-12-11T00:15:14+09:00</updated>
</entry>
<entry>
<title type="text">Markdown記法</title>
<link href="http://dadayama.github.io/entry/2014-11-29-01.html" />
<author>
<name>dadayama</name>
</author>
<content><![CDATA[<h1>Markdown記法</h1>
<p>よく使う記法のみ抜粋。</p>
<h2>文字装飾</h2>
<h3>見出し</h3>
<p>文頭に「#」で見出し。</p>
<pre><code> # h1
## h2
### h3
#### h4
##### h5
###### h6
</code></pre>
<h3>強調</h3>
<p>「__」か「**」で囲むと太字。</p>
<p>「_」か「*」で囲むと斜体。</p>
<pre><code>**太字**
__太字__
*斜体*
_斜体_
</code></pre>
<h3>打ち消し線</h3>
<p>「~~」で囲むと打ち消し線。</p>
<pre><code>~~打ち消し線~~
</code></pre>
<h2>リスト</h2>
<h3>Disc型</h3>
<p>「-」「+」「*」のいずれかでDisc型リスト。</p>
<pre><code>- リスト
+ リスト
* リスト
</code></pre>
<h3>Decimal型</h3>
<p>「数値.」でDecimal型リスト。</p>
<pre><code>1. リスト
2. リスト
</code></pre>
<h2>コード</h2>
<p>半角スペース4つでコードブロック。<br/>
あるいは段落を「```」で囲む。<br/>
文中に記述するならば「`」でその箇所を囲む。</p>
<pre><code>```
コードブロック
```
文中に`コード`を含める場合
</code></pre>
<h2>引用</h2>
<p>文頭に「>」で引用。</p>
<pre><code>> 引用文
</code></pre>
<h2>リンク</h2>
<h3>タイトルあり</h3>
<pre><code>[リンクテキスト](URL "タイトル")
</code></pre>
<h3>タイトル無し</h3>
<pre><code>[リンクテキスト](URL)
</code></pre>
<h2>水平線</h2>
<p>以下のパターンで水平線が表示される。<br/>
(他にもパターンあり)</p>
<pre><code>***
* * *
- - -
</code></pre>
<h2>テーブル</h2>
<p>以下のパターンでテーブル表示。</p>
<pre><code>| left | center | right |
|:-----|--------|-------|
| 1 | 2 | 3 |
| a | b | c |
</code></pre>
<h2>その他</h2>
<ul>
<li>文末に半角スペース2つで段落内改行。</li>
<li>バックスラッシュ「\」を記号の前に記述すると、markdown記法を無効化できる。</li>
</ul>
]]></content>
<id>tag:dadayama.github.io,2014-11-30:entry-2014-11-29-01.html</id>
<published>2014-11-30T38:38:17+0900</published>
<updated>2014-11-30T02:38:17+09:00</updated>
</entry>
<entry>
<title type="text">CartonによるPerlモジュールの管理方法</title>
<link href="http://dadayama.github.io/entry/2014-11-27-01.html" />
<author>
<name>dadayama</name>
</author>
<content><![CDATA[<h1>CartonによるPerlモジュールの管理方法</h1>
<p>とりあえず基本的な部分だけ。</p>
<h2>cpanfile作成</h2>
<pre><code>% cat > cpanfile
requires '<Perlモジュール名>';
</code></pre>
<p><code>requires '<Perlモジュール名>', '<バージョン>';</code>と書くことでバージョンの指定も可能。</p>
<h2>Perlモジュールインストール</h2>
<p>cpanfile.snapshotが追加される。</p>
<pre><code>% cpan install
</code></pre>
<p><code>--deployment</code>フラグを付けると、利用可能なモジュールとバージョンのみをインストールする。</p>
<h2>PerlモジュールをGit管理下より外す</h2>
<p>local/ 以下にCarton管理下のモジュールが設置される為、これは管理から外す。</p>
<pre><code>% echo local/ >> .gitignore
</code></pre>
<h2>Perlモジュールを使用する</h2>
<pre><code>% carton exec <Perlモジュール名>
</code></pre>
<p>エイリアスで<code>carton exec</code>を<code>ce</code>等にすると楽。</p>
]]></content>
<id>tag:dadayama.github.io,2014-11-28:entry-2014-11-27-01.html</id>
<published>2014-11-28T10:10:28+0900</published>
<updated>2014-11-28T16:10:28+09:00</updated>
</entry>
<entry>
<title type="text">メモ用にBlog開設</title>
<link href="http://dadayama.github.io/entry/2014-11-17-01.html" />
<author>
<name>dadayama</name>
</author>
<content><![CDATA[<h1>メモ用にBlog開設</h1>
<p>雑多にTips等を書き込んでいく予定。</p>
]]></content>
<id>tag:dadayama.github.io,2014-11-17:entry-2014-11-17-01.html</id>
<published>2014-11-17T52:52:19+0900</published>
<updated>2014-11-17T22:52:19+09:00</updated>
</entry>
</feed>