2. サーバPCの設定手順書
2.1 OSの設定
2.1.1 osv1へのOSインストール
Debian GNU/Linux 12.10のインストール
-
インストールメディアから起動
-
インストール設定:
- 言語: Japanese
- キー配列: Japanese
- タイムゾーン: Asia/Tokyo
- 管理者パスワード: Young2025
- 一般ユーザアカウント: master
- 一般ユーザパスワード: pass
-
パーティション設定(手動パーティショニング):
- /boot: 200MB, ext4
- /: 10GB, ext4
- /home: 4GB, ext4
- /var: 4GB, ext4
- swap: 2GB
-
ソフトウェア選択:
- SSH server
- standard system utilities
-
インストール完了後、再起動
2.1.2 ネットワーク等の設定
osv1のネットワーク設定
# rootでログインまたはsudo -i
# /etc/network/interfacesの編集
nano /etc/network/interfaces
/etc/network/interfaces:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens33
iface ens33 inet static
address 10.200.0.1
netmask 255.255.255.0
gateway 10.200.0.254
iface ens33 inet6 static
address 2001:DB8:4:100::1
netmask 64
gateway 2001:DB8:4:1::1
# ネットワークサービス再起動
systemctl restart networking
# ホスト名設定
hostnamectl set-hostname osv1
# DNS設定
nano /etc/resolv.conf
/etc/resolv.conf:
nameserver 10.200.0.1
nameserver 2001:DB8:4:100::1
osv2のネットワーク設定
# masterユーザでロ グイン後
sudo -i
# /etc/network/interfacesの編集
nano /etc/network/interfaces
/etc/network/interfaces:
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
address 10.200.0.2
netmask 255.255.255.0
gateway 10.200.0.254
iface ens33 inet6 static
address 2001:DB8:4:100::2
netmask 64
gateway 2001:DB8:4:1::1
systemctl restart networking
# DNS設定
nano /etc/resolv.conf
/etc/resolv.conf:
nameserver 10.200.0.1
nameserver 2001:DB8:4:100::1
osv3のネットワーク設定
sudo -i
nano /etc/network/interfaces
/etc/network/interfaces:
source /etc/network/interfaces.d/*
auto lo
iface lo inet loopback
auto ens33
iface ens33 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.254
systemctl restart networking
# DNS設定
nano /etc/resolv.conf
/etc/resolv.conf:
nameserver 192.168.1.1
2.1.3 その他osv1、osv2及びosv3の共通設定
masterユーザにsudo権限付与
# rootで実行
usermod -aG sudo master
# または /etc/sudoers.d/masterファイル作成
echo "master ALL=(ALL:ALL) ALL" > /etc/sudoers.d/master
chmod 440 /etc/sudoers.d/master
2.1.4 osv3の設定
ユーザアカウント作成
sudo -i
# taroユーザ作成
useradd -m -s /bin/bash taro
echo "taro:pass" | chpasswd
# jiroユーザ作成
useradd -m -s /bin/bash jiro
echo "jiro:pass" | chpasswd
# saburoユーザ作成(有効期限付き)
useradd -m -s /bin/bash -e 2025-12-31 saburo
echo "saburo:pass" | chpasswd
グループ設定
# グループg_smbを作成
groupadd g_smb
# taro、jiroをg_smbに追加
usermod -aG g_smb taro
usermod -aG g_smb jiro
# /var/sambaディレクトリ作成と権限設定
mkdir -p /var/samba
chgrp g_smb /var/samba
chmod 770 /var/samba
2.2 ネームサービス
2.2.1 osv1のDNS設定(BIND9)
パッケージインストール
sudo apt update
sudo apt install -y bind9 bind9utils bind9-doc
設定ファイル編集
sudo nano /etc/bind/named.conf.options
/etc/bind/named.conf.options:
options {
directory "/var/cache/bind";
// DNSSECの検証を無効化
dnssec-validation no;
// 再帰問い合わせは大阪事業所ネットワークからのみ許可
recursion yes;
allow-recursion { 10.200.0.0/24; 192.168.1.0/24; 192.168.2.0/24; 2001:DB8:4:100::/64; localhost; };
// 回送先ネームサーバからの応答がなかった場合でも自身での反復問い合わせを行わない
forward only;
// svへ回送
forwarders {
200.99.1.1;
};
listen-on { any; };
listen-on-v6 { any; };
allow-query { any; };
};
sudo nano /etc/bind/named.conf.local
/etc/bind/named.conf.local:
// 外部ネットワーク向けマスタゾーン
zone "osaka-skills.jp" {
type master;
file "/etc/bind/zones/db.osaka-skills.jp.external";
allow-transfer { none; };
};
// 大阪事業所ネットワーク向けスレーブゾーン
zone "osaka-skills.jp.internal" {
type slave;
file "/var/cache/bind/db.osaka-skills.jp.internal";
masters { 192.168.1.1; };
};
外部向けゾーンファイル作成
sudo mkdir -p /etc/bind/zones
sudo nano /etc/bind/zones/db.osaka-skills.jp.external
/etc/bind/zones/db.osaka-skills.jp.external:
$TTL 604800
@ IN SOA osv1.osaka-skills.jp. admin.osaka-skills.jp. (
2025020201 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS osv1.osaka-skills.jp.
@ IN MX 10 mail.osaka-skills.jp.
osv1 IN A 10.200.0.1
osv1 IN AAAA 2001:DB8:4:100::1
mail IN A 10.200.0.1
mail IN AAAA 2001:DB8:4:100::1
www IN A 10.200.0.2
secret IN A 10.200.0.2
www6 IN AAAA 2001:DB8:4:100::2
サ ービス起動
# 設定ファイル確認
sudo named-checkconf
sudo named-checkzone osaka-skills.jp /etc/bind/zones/db.osaka-skills.jp.external
# サービス起動
sudo systemctl restart bind9
sudo systemctl enable bind9
2.2.2 osv3のDNS設定(BIND9)
パッケージインストール
sudo apt update
sudo apt install -y bind9 bind9utils bind9-doc
設定ファイル編集
sudo nano /etc/bind/named.conf.options
/etc/bind/named.conf.options:
options {
directory "/var/cache/bind";
dnssec-validation no;
recursion yes;
allow-recursion { 192.168.1.0/24; 192.168.2.0/24; localhost; };
forward only;
forwarders {
10.200.0.1;
};
listen-on { any; };
listen-on-v6 { none; };
allow-query { any; };
};
sudo nano /etc/bind/named.conf.local
/etc/bind/named.conf.local:
// 大阪事業所ネットワーク向けマスタゾーン
zone "osaka-skills.jp" {
type master;
file "/etc/bind/zones/db.osaka-skills.jp.internal";
allow-transfer { 10.200.0.1; };
};
内部向けゾーンファイル作成
sudo mkdir -p /etc/bind/zones
sudo nano /etc/bind/zones/db.osaka-skills.jp.internal
/etc/bind/zones/db.osaka-skills.jp.internal:
$TTL 604800
@ IN SOA osv3.osaka-skills.jp. admin.osaka-skills.jp. (
2025020201 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS osv3.osaka-skills.jp.
@ IN MX 10 mail.osaka-skills.jp.
osv1 IN A 10.200.0.1
osv2 IN A 10.200.0.2
osv3 IN A 192.168.1.1
mail IN A 10.200.0.1
in-www IN A 10.200.0.2
サービス起動
sudo named-checkconf
sudo named-checkzone osaka-skills.jp /etc/bind/zones/db.osaka-skills.jp.internal
sudo systemctl restart bind9
sudo systemctl enable bind9
2.3 Webサービス(osv2)
パッケージインストール
sudo apt update
sudo apt install -y nginx
SSL証明書取得
# 証明書とキーをダウンロード
cd /tmp
wget http://www.itnetsys.org/osaka/secret.osaka-skills.jp.crt
wget http://www.itnetsys.org/osaka/server.key
# 証明書配置
sudo mkdir -p /etc/nginx/ssl
sudo mv secret.osaka-skills.jp.crt /etc/nginx/ssl/
sudo mv server.key /etc/nginx/ssl/
sudo chmod 600 /etc/nginx/ssl/server.key
Nginx設定
sudo nano /etc/nginx/sites-available/osaka-skills
/etc/nginx/sites-available/osaka-skills:
# www.osaka-skills.jp (外部)
server {
listen 10.200.0.2:80;
server_name www.osaka-skills.jp;
location / {
return 200 "osaka-skills.jp Official site";
add_header Content-Type text/plain;
}
}
# www6.osaka-skills.jp (外部、IPv6)
server {
listen [2001:DB8:4:100::2]:80;
server_name www6.osaka-skills.jp;
location / {
return 200 "IPv6 site";
add_header Content-Type text/plain;
}
}
# secret.osaka-skills.jp (外部、HTTPS)
server {
listen 10.200.0.2:443 ssl;
server_name secret.osaka-skills.jp;
ssl_certificate /etc/nginx/ssl/secret.osaka-skills.jp.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
location / {
return 200 "secret site";
add_header Content-Type text/plain;
}
}
# in-www.osaka-skills.jp (内部)
server {
listen 10.200.0.2:80;
server_name in-www.osaka-skills.jp;
location / {
return 200 "internal site";
add_header Content-Type text/plain;
}
}
# サイト有効化
sudo ln -s /etc/nginx/sites-available/osaka-skills /etc/nginx/sites-enabled/
# デフォルトサイト無効化
sudo rm /etc/nginx/sites-enabled/default
# 設定テスト
sudo nginx -t
# サービス起動
sudo systemctl restart nginx
sudo systemctl enable nginx
2.4 Mailサービス(osv1)
2.4.1 SMTP(Postfix)
パッケージインストール
sudo apt update
sudo apt install -y postfix
# インストール時の選択: Internet Site
# System mail name: osaka-skills.jp
Postfix設定
sudo nano /etc/postfix/main.cf
主要な設定項目(/etc/postfix/main.cf):
myhostname = osv1.osaka-skills.jp
mydomain = osaka-skills.jp
myorigin = $mydomain
mydestination = osaka-skills.jp, osv1.osaka-skills.jp, localhost
mynetworks = 10.200.0.0/24, 192.168.1.0/24, 192.168.2.0/24, 127.0.0.0/8
inet_interfaces = all
relayhost =
home_mailbox = Maildir/
エイリアス設定
sudo nano /etc/aliases
追加内容:
admin: master
# エイリアスデータベース更新
sudo newaliases
# サービス再起動
sudo systemctl restart postfix
sudo systemctl enable postfix