第1回 Slackware でサイキョーの自宅サーバーを作ろう!

10年くらい前に流行りましたね、自宅サーバー。今は無料で便利な web サービスが使えますから、わざわざ自宅サーバーを作る意味はほとんどないと思います。

が、意味があるとかないとか、そんなのは関係ない! グローバル IP アドレスを割り振られた以上、サーバーを公開するのは必然! ワールドワイドに汚物を垂れ流せ!

ということで、Slackware 13.37 でサイキョーの自宅サーバーを作ることを目指します。きょうび Slackware なんか使ってどうすんだ、という気もしますが。しかもサイキョーの自宅サーバーって何?いや、細かいことは気にせず、Linux の楽しさに触れてもらえればそれで結構です。

なお、13.37 は leet、つまり elite (エリート) です。Slackware を使う人間はエリートです。誇りを持ちましょう。

とりあえず、Web サーバーでブログ (WordPress) を動かしてみる、メールサーバーを動かしてみる、HTTP プロキシを動かしてみる、VPN サーバー (PPTP) を動かしてみる、というのをやってみようかと思います。気がころころ変わるので、ほんとにやるかどうかは分かりませんが。

では第1回! Slackware をインストールしましょう! 手元に不要な PC がある、という生粋のオタクならそれにインストールすればいいでしょうが、一般人は余分な PC なんて持ってません。なので、VirtualBox という便利なソフトを使って、Windows 上に仮想 PC を作ってみましょう。

次の URL から VirtualBox * for Windows hosts をダウンロードしてください: https://www.virtualbox.org/wiki/Downloads

VirtualBox は Sun Microsystems が開発してましたが、Sun が Oracle に買収されたので、今は Oracle VirtualBox になってますね。栄枯盛衰、奢れる者は久しからず云々。

VirtualBox のインストールが終わったら、Slackware の ISO イメージ (4 枚ある内の 1 枚めと 2 枚め) をダウンロードしましょう (奈良先端科学技術大学院大学の公開 FTP サイトです):

  1. ftp://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware-13.37-iso/slackware-13.37-install-d1.iso
  2. ftp://ftp.nara.wide.ad.jp/pub/Linux/slackware/slackware-13.37-iso/slackware-13.37-install-d2.iso

VirtualBox を起動して、”新規” ボタンをクリックして下さい。

下図のように、”オペレーティング システム” は “Linux”, “バージョン” は “Linux 2.6” を選択します:

次にメモリの割り当てを聞かれますが、 512 MB もあればいいでしょう。後から変更できるので、適当に。

仮想ハードディスクは新規作成します:

仮想ハードディスクの種類は、”VDI”, “Dynamically allocated” でいいでしょう。僕もよく分かりません。

ディスクサイズは下図の通り、20 GB に設定しました。仮想マシンのディスク領域は “Dynamically allocated” (動的に確保) なので、ホストマシン (=Windows) のディスクがただちに 20 GB 消費されるわけではないでしょう。たぶん。

仮想マシンの作成が終わったら、”設定” ボタンをクリックしましょう。下のようなダイアログが出るので、左のペインの “ネットワーク” をクリックします。右側に仮想ネットワークアダプタの設定画面が出てくるので、 “アダプタ 1” のタブの “割り当て” を “ブリッジ アダプタ” に変更します。”名前” は、僕のノート PC には有線 LAN (Intel(R) 82567LM Gigabit Network Connection) と無線 LAN (Intel(R) WiFi Link 5100 AGN) の 2 つのアダプタがありますが、有線を使っているので “* Gigabit Network Connection” を選びました:

ネットワークアダプタの “割り当て” のデフォルトは “NAT” ですが、これだとホストマシン (=Windows) の外の端末から slackware 仮想マシンにアクセスできません。ブリッジモードだと、仮想マシンもホストマシンと同じサブネットに参加できます。サイキョーの自宅サーバーも他の端末からアクセスできなければ無意味なので、ブリッジモードにします。下は概念図です:

設定ダイアログを閉じて “起動” ボタンをクリックしましょう。 “初回起動ウィザード” が現れます。 “インストールメディアを選択” の画面で、フォルダのアイコンをクリックし、さっきダウンロードした slackware の ISO イメージファイルを探し出して下さい:

ウィザードが終わると、いよいよ仮想マシンが起動します。Slackware のインストールディスクが読み込まれ、boot: プロンプトが現れます:

VirtualBox の人はエンターキーを押して起動シーケンスを始めましょう。物理マシンの人は、 ‘memtest’ と入力して、丸一日メモリチェックして下さい。メモリ、ハードディスク、電源は壊れやすい部品ですからね。メモリの故障はタチが悪いです。急に segmentation fault を連発しはじめたら、熱暴走とメモリの故障を疑ってください。

2、3分すると、キーボードマップを選択する画面になります。日本語キーボードを使っているでしょうから、”1″ のキーを押して、それからエンターキーを押します。

カラフルな画面が表示されるので、Page Up/Down や上下カーソルキーを押して、”qwerty/jp106.map” をハイライトし、エンターキーを押します。日本語 106 キー以外のキーボードを使っている変態は適当にやってください:

試し打ちの画面が出るので、記号を中心に、キートップの印字通りに入力できるか試してください:

問題なければ、一度エンターキーを押して画面をリフレッシュし、それから “1” のキーを押してからエンターキーを押します。

すると、ログイン画面が現れるので、’root’ と入力してログインしましょう:

まずはディスクパーティションを作成します。’fdisk -l’ と入力して、現在のディスクパーティションを確認します:

ハードディスクのデバイスファイルのパスが ‘/dev/sda’ だと分かったので、’fdisk /dev/sda’ と入力してぶったぎっていきましょう。ここでは /, /boot, swap の 3 つのパーティションを作ります。こだわりのある人は、/tmp, /var も別にするといいでしょう。

以下のように、’Command (m for help): ‘ というプロンプトが表示されます:

root@slackware:/# fdisk /dev/sda
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklab
el
Building a new DOS disklabel with disk identifier 0x674bba4d.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help):

‘n’ コマンドでパーティションをどんどん作ります:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p                                        ← 'p' を入力し、エンターキーを押します
Partition number (1-4, default 1):       ← エンターキーを押します
Using default value 1
First sector (63-41943039, default 63):  ← エンターキーを押します
Using default value 63
Last sector, +sectors or +size{K,M,G} (63-41943039, default 41943039): +300M    ← '+300M' を入力し、エンターキーを押します

Command (m for help):

これで 300 MB の基本パーティションが作成されました。これは /boot パーティションに使います。次に拡張パーティションを作ります:

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e
Partition number (1-4, default 2):
Using default value 2
First sector (614464-41943039, default 614464):
Using default value 614464
Last sector, +sectors or +size{K,M,G} (614464-41943039, default 41943039):
Using default value 41943039

Command (m for help):

拡張パーティションの中にスワップのための論理パーティションを作ります:

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First sector (614527-41943039, default 614527):
Using default value 614527
Last sector, +sectors or +size{K,M,G} (614527-41943039, default 41943039): +1G

Command (m for help):

続いてルートパーティションのための論理パーティションを作ります:

Command (m for help): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First sector (2711743-41943039, default 2711743):
Using default value 2711743
Last sector, +sectors or +size{K,M,G} (2711743-41943039, default 41943039):
Using default value 41943039

Command (m for help):

次は /boot にブートフラグを付けますす:

Command (m for help): a
Partition number (1-6): 1

Command (m for help):

スワップパーティションのパーティションタイプをデフォルトの 83 (Linux) から 82 (Linux swap) に変更します:

Command (m for help): t
Partition number (1-6): 5
Hex code (type L to list codes): 82
Changed system type of partitions 5 to 82 (Linux swap)

Command (m for help):

以下のようになれば完成です:

Command (m for help): p

Disk /dev/sda: 21.5 GB, 2147836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x674bba4d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63      614463      307200+  83  Linux
/dev/sda2          614464    41943039    20664288    5  Extended
/dev/sda5          614527     2711679     1048576+  82  Linux swap
/dev/sda6         2711743    41943039    19615648+  83  Linux

Command (m for help):

では、変更を実際に ‘w’ コマンドでハードディスクに書き込みましょう:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
root@slackware:/#

今どきは /boot 以外のパーティションは LVM という論理ボリュームに作成する場合が多いですが、Slackware がインストールしてくれる Linux カーネル/initrd が LVM2 をサポートしてないみたいです。なので、ここで pvcreate, vgcreate, lvcreate の各ツールでせっせと LVM2 ボリュームを作っても、いざブートするとカーネルパニックで止まってしまいます。Slackware に LVM みたいな軟弱者は不要、ということでしょう。

パーティションテーブルの変更が終わると、シェルに戻ります。’mkswap’ コマンドでスワップパーティションを初期化します:

root@slackware:/# mkswap /dev/sda5
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=e98af125-3356-4d1b-9053-0a1c18f5e690

パーティションの作成が終わったので、’setup’ と入力し、slackware のインストーラを起動しましょう:

“ADDSWAP” を選択し、スワップパーティションを有効にします。’/dev/sda5′ というパーティションだけが表示されるので、エンターキーを押しましょう。’BAD BLOCKS’ (不良ブロック) のチェックは VirtualBox 環境なのでしなくていいでしょう。デフォルトで ‘NO’ なので、そのままエンターキーです。

ルートパーティションには /dev/sda6 を選択します:

このパーティションをフォーマットするか聞かれるので、’Format’ を選び、ファイルシステムはデフォルトの ‘ext4′ を選びます。

他に追加したいパーティションがあるか聞かれるので、’/dev/sda1’ を選びます:

先ほどと同様、’Format’, ‘ext4′ です。マウントポイントを聞かれるので、’/boot’ と入力します:

インストールのソースメディアを聞かれたら、’Install from a Slackware CD or DVD’ を選びます。CD/DVD ドライブを探し出すのに ‘auto’ と ‘manual’ がありますが、’auto’ を選んでおきます。

するとパッケージシリーズの選択画面になります。スペースキーで選択と解除ができます。今回は以下のシリーズを選びました:

  • A  Base Linux system
  • AP Various Applications that do not need X
  • D  Program Development (C, C++, Lisp, Perl, etc.)
  • F  FAQ lists, HOWTO documentation
  • K  Linux kernel source
  • N  Networking (TCP/IP, UUCP, Mail, News)

次に各シリーズのパッケージを全部インストールするか、個別に選択するか聞かれるので、’full   Install everything’ を選びます。

インストール中、ソースメディアを入れ替えるように指示があるので、VirtualBox のデバイスメニューから Slackware CD の 2 枚めを選びます:

パッケージの展開が終わると、ブート用の USB メモリを作成するか聞かれます。不要なので ‘Skip’ を選びます。

続いて ‘LILO’ のインストール方法を聞かれます。 ‘Simple  Try to install LILO automatically’ を選びます。それから LILO が使うコンソールの種類を聞かれます。どれを選んでもいいんですが、 ‘800x600x64k’ にしてみました:

LILO からカーネルに何かパラメータを渡すか聞かれますが、何も入力せずに ‘OK’ です。

UTF-8 コンソールを使うか聞かれるので、 ‘Yes’ を選んでみました。デフォルトは ‘No’ です。

LILO をどこにインストールするか聞かれます。 ‘MBR’ を選びます:

マウスの種類を聞かれますが、VirtualBox においてはデフォルトの ‘imps2’ を選びます。物理マシンは usb もしくは ps2 の適切な方を選びます。シリアル (dsub 9) 接続 のマウスを使ってる人はさすがにいないでしょう。

GPM を自動起動するか聞かれます。VirtualBox のコンソールは滅多に使わないので、 ‘No’ にしておきました。

マウスの設定が済むと、次はネットワークの設定です。

まずホスト名ですが、 ‘slackware’ にしました。そしてドメイン名は’localhost’ に:

ホスト名は何にしても構いませんが、ドメイン名は勝手に付けていいものではありません。実験目的や、とりあえず何か付けておきたい、という人のために、以下のドメインが用意されています (RFC 2606):

  • localhost
  • invalid
  • example
  • test

もうドメインを持っているという漢は、そのドメインを使うのもいいでしょう。

IP アドレスの割り当て方法を聞かれます。サーバーなんだから静的 IP にするのが当然ですが、僕はものぐさなので DHCP にしました。 ‘DHCP hostname’ は空のままです。

自動起動するネットワークデーモンを選択する画面になりますが、デフォルトのまま ‘OK’ です。

フォントのカスタム設定をするか聞かれますが、よく分からないので ‘No’ です。

ハードウェアクロックが UTC なのか聞かれるので、 ‘YES  Hardware clock is set to UTC’ を選びます。タイムゾーンは’Asia/Tokyo’ を選びます。日本国外に在住の人は、適当に選んで下さい。

次に root パスワードを設定するか聞かれるので、 ‘Yes’ を選びます。すると、さあ新しいパスワードを入力しろ、というプロンプトが出てくるので、好きなパスワードを入力して下さい。エコーバックされないので、ゆっくり入力しましょう:

これでインストール完了です。setup のトップメニューに戻るので、 ‘EXIT’ を選びます。

シェルに戻るので、 ‘reboot’ と入力して再起動してみましょう:

root@slackware:~# reboot

2, 3秒の間を置いて、再起動が始まります。しばらくすると、LILO の画面が現れます。そのままエンターキーを押します:

しばらくすると、ログインプロンプトが表れます:

これで Slackware のインストールは完了です。やったね!

今回はここまでです。電源を切りましょう。 ‘root’ と入力し、インストール時に設定したパスワードを入力してログインして下さい。それから ‘poweroff’ と入力します。しばらくすると電源が切れます。

では次回もお楽しみに。

第2回 Slackware でサイキョーの自宅サーバーを作ろう! SSH 編

(コウヅ)

第1回 Slackware でサイキョーの自宅サーバーを作ろう!」への2件のフィードバック

  1. Slackwareはまさしくサイキョーに相応しいディストリビューションだと思います。
    1ユーザーとして、日本語でこのようなテーマを取り扱ったWEBサイトの存在はとてもありがたく、嬉しいものです。
    VPNサーバーの解説に興味があるので、気が変わっていないことに期待したいです。

    • 我が同志からのコメントを非常に嬉しく思っております。近日情意鬱陶しく恬然として筆を執ること能わず、然るに未だ見えざる友に激励せられていささか執筆熱の燃ゆるを感ずるあり、請う今暫くの猶予を与えられんことを。何書いてるのか分からなくなってきましたが、まず OpenVPN の記事から書いてみようと思います。それから PPTP とか L2TP にもチャレンジしたいな、と思うております。脱力してお待ちいただければ幸いです。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中