さて、Debian10 busterのインストールも終わり、いよいよサーバーの本格的な構築を行いますか゛、本サイトではSSHによるWindowsからのリモート接続、ウイルス対策、SSl証明書による情報の暗号化、データベースの導入等多数の設定が必要になります。
今回は基本としてパッケージマネージャのaptを使いインストールしていきます。
サーバー構築設定の前準備として本ページでは次のことを行います。
・vimエディタのインストールと設定
・ネットワークの設定を行いホスト名の変更と固定ローカールIPアドレスを設定
・サーバの時刻同期設定
Contents
1. vimエディターのインストールと設定
Debianではデフォルトのエディターとして「nano」が設定されています。nanoはやや使いにくいことや、利用されている環境が少ないためエディタを「vim」に変更する手順を紹介します。
1.1 vimパッケージの確認
Debian にはデフォルトでvimがインストールされていますが「vim-tiny」というパッケージになり、機能が少ないバージョンになります。インストールされ ているvimパッケージを確認してみます。Debianではパッケージの確認に"dpkg"コマンドを利用します。"-l"オプションを付けるとパッケー ジリストが表示されます。
"dpkg"コマンドをそのまま実行するとシステムにインストールされている全てのパッケージが表示されるため、文字列「vim」を含むパッケージのみを"grep"コマンドで抽出します。以下のように実行します。
1 2 3 |
root@Lion:~#dpkg -l | grep vim ii vim-common 2:8.1.0875-5 all Vi IMproved - Common files ii vim-tiny 2:8.1.0875-5 amd64 Vi IMproved - enhanced vi ed version |
上記のように「vim-tiny」パッケージのみがインストールされていることが確認できます。
以降 「root@Lion:~#」は省略して「#」のみにして記載します。
1.2 vimパッケージのインストール
apt installコマンドの"-y"オプションはインストール時の確認を自動的に行うオプションです。
1 |
# apt install -y vim |
エラーが表示されなければvimパッケージはインストールされています。インストール後に再度、dpkgコマンドでvimパッケージを確認してみます。
1 2 3 4 5 |
# dpkg -l | grep vim ii vim 2:8.1.0875-5 amd64 Vi IMproved - enhanced vi editorii ii vim-common 2:8.1.0875-5 all Vi IMproved - Common files ii vim-runtime 2:8.1.0875-5 all Vi IMproved - Runtime files ii vim-tiny 2:8.1.0875-5 amd64 Vi IMproved - enhanced vi editor - compact version |
上記のようにVimがインストールされています。
1.3 デフォルトで利用されるエディタの変更
デフォルトのエディタをnanoからインストールした「vim」に変更します。デフォルトエディタの変更には"update-alternatives --set editor"コマンドを実行します。vimに変更する場合には以下のように実行します。
1 2 |
# update-alternatives --set editor /usr/bin/vim.basic update-alternatives: /usr/bin/editor (editor) を提供するためにマニュアルモードで /usr/bin/vim.basic を使います |
上記のように出力されれば、エディタは変更されています。
1.4 vimの設定変更
全てのユーザーに許可する場合は"/root/"に「.vimrc」ファイルを作成
各ユーザーごとにvimの環境を作る場合は「.vimrc」ファイルをユーザーのホームディレクトリに作成することでvimの環境を設定できます。
今回はrootユーザーのホームディレクトリ"/root/"に「.vimrc」ファイルを作成します。
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 |
# vi ~/.vimrc "テキストの貼り付けやコピーを有効 set clipboard+=autoselect " vim の独自拡張機能を使う(viとの互換性無し) set nocompatible " 文字コードを指定する set encoding=utf-8 " ファイルエンコードを指定する set fileencodings=utf-8,iso-2022-jp,sjis,euc-jp " 自動認識させる改行コードを指定する set fileformats=unix,dos " バックアップを取得する "逆は [ set nobackup ] set backup " バックアップを取得するディレクトリを指定する set backupdir=~/backup " 検索履歴を残す世代数 set history=50 " 検索時に大文字小文字を区別しない set ignorecase " 検索語に大文字を混ぜると検索時に大文字を区別する set smartcase " 検索語にマッチした単語をハイライトする "逆は[ set nohlsearch ] set hlsearch " インクリメンタルサーチを使用する(検索語の入力最中から随時マッチする文字列の検索を開始) "逆は [ set noincsearch ] set incsearch " 行番号を表示する "逆は [ set nonumber ] set number " 改行 ( $ ) やタブ ( ^I ) を可視化する set list " 括弧入力時に対応する括弧を強調する set showmatch " ファイルの末尾に改行を入れない set binary noeol " 自動インデントを有効にする "逆は [ noautoindent ] set autoindent " 構文ごとに色分け表示する "逆は [ syntax off ] syntax on " [ syntax on ] の場合のコメント文の色を変更する highlight Comment ctermfg=LightCyan " ウィンドウ幅で行を折り返す "逆は [ set nowrap ] set wrap |
上記の中で不必要なものはコメントアウトして下さい。
1.5 vimの設定変更内容の有効化
設定した内容を有効にするために、システムからログアウトして下さい。再度、システムへログインすると上記内容が反映されます。
2. ネットワークの設定
2.1 ホスト名の設定
Debian のインストール時にホスト名を設定していますが、何らかの理由でホスト名を変更する場合について説明します。
ホスト名の設定には"hostnamectl set-hostname"コマンドを利用します。以下のように実行します。ここではホスト名として「debian-user」を設定します。
1 |
# hostnamectl set-hostname debian-user |
設定の結果は "/etc/hostname"ファイルを参照することで確認できます。
"cat"コマンドで"/etc/hostname"ファイルを参照して、以下のように設定値の「debian-user」が表示されればホスト名の確認は完了です。
1 2 |
# cat /etc/hostname debian-user |
2.2 ネットワークインターフェイスへのIPアドレス設定
Debian 10インストール時のIPアドレスはDHCP(動的IPアドレス)に設定されていますので、固定のIPアドレスを設定します。IPアドレスの設定には"/etc/network/interfaces"ファイルを変更してから、ネットワークインターフェース(今回はeno1)を再起動します。
ネットワークインターフェース名はセットアップを行った環境によって変わりますので、まずはインターフェイス名を確認します。
ネットワーク情報を確認するためのコマンドは"ip addr"になります。実行することでネットワークインターフェース名やIPアドレスの情報が表示されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:b7:36:94 brd ff:ff:ff:ff:ff:ff inet 192.168.241.152/24 brd 192.168.241.255 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:feb7:3694/64 scope link valid_lft forever preferred_lft foreve |
連番の次に表示されているものが「ネットワークインターフェース名」になります。「lo」は「ローカルループバックインターフェイス」になりますので、通常は利用されません。上記の場合は「eno1」がネットワークインターフェース名です。
2.3 固定IPアドレスの設定
ネットワークインターフェース名が分かったところで、ネットワークの設定を行います。ネットワークの設定に必要な情報と、今回設定を行うパラメータを以下のように仮定して進めます。
・IPアドレス 192.168.11.82
・サブネットマスク 255.255.255.0(24ビット)
・デフォルトゲートウェイ 192.168.11.1
・DNSサーバー 192.168.11.1
IPアドレスの設定は"/etc/network/interfaces"ファイルを変更することで行います。viコマンドでinterfacesファイルを開きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# vi /etc/network/interfaces 初期値は以下のようになっています # The primary network interface allow-hotplug eno1 iface ens33 inet dhcp 上記を次のように変更します # The primary network interface allow-hotplug eno1 #iface eno1 inet dhcp ←コメントアウト # network interface settings iface eno1 inet static ←追加 address 192.168.11.82 ←追加 netmask 255.255.255.0 ←追加 gateway 192.168.11.1 ←追加 dns-nameservers 192.168.11.1 ←追加 |
2.4 固定IPアドレスの有効化
1 |
# systemctl restart networking ifup@eno1 |
3. サーバーの時刻同期を設定
こではサーバーの時刻を自動的に合わせるサービスである「timesyncd」を設定していきます。
3.1 timesyncdサービスの設定
timesyncdサービスの設定は"/etc/systemd/timesyncd.conf"ファイルで行います。ファイルの変更前に、元のファイルをバックアップとしてコピーしておきます。
1 |
# cp -p /etc/systemd/timesyncd.conf /etc/systemd/timesyncd.conf.org |
viコマンドで設定ファイルを編集していきます
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# vi /etc/systemd/timesyncd.conf 初期値は以下のようになっています [Time] #NTP= #FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org #RootDistanceMaxSec=5 #PollIntervalMinSec=32 #PollIntervalMaxSec=2048 これを次のように日本国内のタイムサーバーに変更します。 NTP=ntp.jst.mfeed.ad.jp FallbackNTP=ntp.nict.jp #RootDistanceMaxSec=5 #PollIntervalMinSec=32 #PollIntervalMaxSec=2048 |
3.2 timesyncdサービスの設定の反映
1 |
# systemctl restart systemd-timesyncd |
エラーが出力されなければ、サービスは再起動しています。時刻同期の確認をおこないます。時刻同期の確認は"timedatectl status"コマンドで行います。以下のように実行します。
1 2 3 4 5 6 7 8 |
# timedatectl status Local time: 火 2020-1-21 17:21:13 JST Universal time: 火 2020-1-21 08:21:13 UTC RTC time: 火 2020-1-21 08:21:13 Time zone: Asia/Tokyo (JST, +0900) System clock synchronized: yes NTP service: active RTC in local TZ: no |
「System clock synchronized: yes」と表示されていれば時刻同期は行われています。