著者:麻生 二郎
小型コンピュータボードの最上位モデルである「Raspberry Pi 4 Model B」の2G/4G/8Gバイト版と、人気のLinuxディストリビューション「Ubuntu」のサーバー版を組み合わせて、本格的なサーバーを構築しましょう。本特集では、サーバーをインターネットに公開する方法を紹介します。
シェルスクリプトマガジン Vol.79は以下のリンク先でご購入できます。![]()
![]()
図A3 ラズパイサーバーの初期設定(ubuntu_init1.sh)
#!/bin/sh
##日本のタイムゾーン設定
sudo timedatectl set-timezone Asia/Tokyo
##全ソフトウエア更新
sudo apt update
sudo apt -y upgrade
sudo apt -y autoremove
sudo apt clean
##ファームウエアアップデート
sudo apt -y install rpi-eeprom
sudo rpi-eeprom-update
##完了後の再起動
read -p "再起動しますか [y/N]:" YN
if [ " $YN" = " y" ] || [ " $YN" = " Y" ]; then
sudo reboot
fi
図A4 ラズパイサーバーの初期設定(ubuntu_init2.sh)
#!/bin/sh
##固定IPアドレスとルーターのIPアドレス
IP_ADDRESS="192.168.10.100"
ROUTER_IP="192.168.10.1"
##旧設定バックアップ
mkdir -p ~/old_settings
sudo mv /etc/netplan/50-cloud-init.yaml ~/old_settings/.
##新ネットワーク設定作成
cat << EOF | sudo tee /etc/netplan/50-cloud-init.yaml > /dev/null
network:
ethernets:
eth0:
dhcp4: false
addresses: [ip_address/24]
gateway4: router_ip
nameservers:
addresses: [8.8.8.8]
version: 2
EOF
sudo sed -i -e "s%ip_address%$IP_ADDRESS%" /etc/netplan/50-cloud-init.yaml
sudo sed -i -e "s%router_ip%$ROUTER_ip%" /etc/netplan/50-cloud-init.yaml
##ネットワーク設定反映
sudo netplan apply