2018年08月30日に初出の投稿

Last modified: 2018-08-30

添付画像

昨日、このところアップデートしていなかった社内の Zabbix サーバをメンテナンスしようとしたのだが、そもそも 32 ビットのマシンだったという事情もあって httpd に不具合が発生した。APR 周りのライブラリが正しくアップデートできないらしく、Zabbix も同様に GUI へアクセス不能となってしまい、これでは困るのでマシンを入れ替えることにした。なお、このサーバマシンは一時的に社内のステージング・サーバとして使っていたことがあり、幾つかの電通案件のプロジェクトがそのままマシンに残っていて、これは情報資産の管理という点からも好ましくない。これらはダウンロードして社内のストレージ・サーバへ移した。

使い勝手が分かっていて、しかもレンタルサーバにありがちな構成を社内のステージング環境にも構築したいという要望で、これまでは CentOS 6.7 を使ってきた。しかし、ステージング・サーバーは既に別のマシンを社内に建てて使っているし、いつまでも慣れている RedHat 系の Linux ばかり使うのもスキルが向上しないため、今回は Debian でサーバを構築することにした。上の写真は、サーバの基本的なセットアップが完了した状態だ。僕のメインの業務マシンから TeraTerm でアクセスしているので、TeraTerm のスクリーンショットなのだが、別に離れた場所に Debian のサーバマシンが置いてあるわけではなく、メインの業務マシンのすぐ隣にある。

これまで使ってきた 32 ビットマシンは、中身のバックアップをとってから Linux ベースの CD bootable な消去ソフトを使って中身を掃除した後、会社の倉庫へ戻した。これと入れ替えで、もともとデザイナーが使っていた hp の HPE 590jp というデスクトップ・パソコンを持ってきた。なので、ビデオボードが NVIDIA® GeForce® GT420 (2GB) と無駄に高性能なマシンなのだが、倉庫にあるマシンでまともに動く機器が少ないため、仕方がない。それに、このスペックのマシンでも既に制作部署では「型落ち」扱いである。Core i7 を載せていても、2011年のモデルなので、それもそうだろう。

さて、Debian は公式サイトからイメージファイルをダウンロードした。社内に DVD-R のブランクメディアがなくて CD-R しかなかったので、CD に入るネットインストーラを選んだ。debian-9.5.0-amd64-netinst.iso(305,135,616 bytes)である。これを CD-R に焼いてマシンを立ち上げると同時にディスクドライブへ入れると、Debian のインストーラが起動する。GUI の一般的なインストール(Graphical install)を選択して暫く待つとインストールが始まる。最初にインストールしたときは日本語環境を選んでしまい、しかも X を入れてしまったために、インストールに酷く時間がかかってしまった。それに、日本語環境だとターミナルを使っているときにすら IME が絡んできて快適にコマンド操作ができないため、英語環境(そして X なし)にすべく、インストールをやりなおしたのであった。ということで、インストールが始まったら言語環境は English を選び、タイムゾーンなどは日本にせざるをえないため、ロケール設定で「言語が英語でタイムゾーンが日本なんてのはない」と言われるから、en_us を選ぶ。あとは、ネットワーク機器やらホスト名やら root のパスワードやらを設定すれば、X 無しだとかなり早くインストールは完了する。

さてしかし、最初に困ったのがキーマップだ。vi でファイルを開くと、"i" をヒットしても挿入モードになったのかどうかわからず、あろうことか [Ctrl + ;] や [Ctrl + '] などを叩くとなぜか "D" や "A" が出てくる。そのため、まず最初に /etc/default/keyboard ファイルを開く。まず、インストールするときはマシンに USB の日本語キーボードを挿して操作していたのだが、もちろん後はメインの業務マシンからリモートでログインするので、日本語のキーボードから英語配列(しかも HKK Pro2)に変更しなくてはいけない。これは、

XKBMODEL=hhk

XKBLAYOUT=us

のように、二つの行を変更した。モデルとして "hhk" (Happy Hacking Keyboard)が最初からサポートされているのはありがたい。しかし、これだけだと矢印のキーバインドが "D" とかになる不具合は直らない。

https://qiita.com/CloudRemix/items/681d5b4e5eda809fecac

このページによると、どうやら vim との互換性を保つような設定が勝手に有効になっているらしく、~/.vimrc というファイルを作って "set nocompatible" という1行を書いておかないといけないようだ。もちろん "~/" なのでログインするユーザごとに設定ファイルを作っておく。僕は root 以外に "philsci" というユーザを作り、TeraTerm では philsci のリモート・ログインしか許可しないようにしたので、root, philsci の二つのアカウントで設定しておけばいい。というか、たいてい設定ファイルなるものを編集するのは su なのだから、/root/.vimrc だけでいいと言えばいいのだろう。

あとは、hostnamectl set-hostname security.debian.server としてホスト名を固定したり、LAN でのプライベート IP アドレスを固定したいので /etc/network/interfaces ファイルを編集した。IP アドレスは、僕のメインの業務マシンが .181 なので、今回は以下のように .182 としてある。なお、/interfaces ファイルの中身だが、IP アドレスを設定したいインターフェイス(enp0s25)も auto にしておき、"dhcp" に依存するような設定になったままだと意味がないので、"static" に変更する。

auto lo

iface lo inet loopback

# The primary network interface

#allow-hotplug enp0s25

auto enp0s25

iface enp0s25 inet static

address 192.168.1.182

netmask 255.255.255.0

gateway 192.168.1.1

dns-nameservers 192.168.1.1 8.8.8.8

すると、"ip a" コマンドで以下のように変更されたことが分かる。

2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether e0:69:95:26:04:e5 brd ff:ff:ff:ff:ff:ff

inet 192.168.1.182/24 brd 192.168.1.255 scope global enp0s25

valid_lft forever preferred_lft forever

inet6 fe80::e269:95ff:fe26:4e5/64 scope link

valid_lft forever preferred_lft forever

もちろん、/etc/init.d/networking restart しないと反映されない。

なお、サイトで Debian ベースの Kali Linux のページがあるのに、どうしてKali Linux ではないのかと思うかもしれないが、このサーバは、これから Zabbix を入れなおしたりするわけで、セキュリティソフトを使うためのマシンではないからだ。それに、Kali Linux は既に別のノートパソコンに入れてあるので、今後もそれを使う。そして、それとは別にオーソドックスに Debian も使っていれば、Kali Linux で起きた問題にも対処しやすくなるかもしれない。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook