Raspberry Pi 3にWebサーバーを立てる
こんにちは、津路です。
今回は、Raspberry Pi 3 Model B にWebサーバーを立てた手順を紹介します。
既に、SDカードにRaspbian jessieをインストールしてあります。
また、有線LAN設定も済ませてあります。
1.SSH接続有効化
LAN内からログインできるように、有効にする必要があります。
デフォルトのpi ユーザ(このままですとリスクが高いので、後程、変更します。)でログインし、
sudo raspi-configにて、ssh serverを有効にします。
メニュー配下の設定からも変更できます。
2.クライアント側Windows
PuTTYをインストールします。TeraTermとかも使えます。
サーバー側のアドレスを指定して、接続してみます。piユーザでログインします。
3.hostnameでのアクセス
raspi-configを起動して名前を変更します。
avahi-daemonをインストール
Windows側では、Bonjourをインストール。
hostname.localでアクセスできます。
4.ipアドレスを固定
hostnameでのアクセスに必要です。192.168.0.1はルータアドレスです。
1 2 3 4 5 6 7 | /etc/dhcpcd.conf interface eth0 static ip_address=192.168.0.10/24 static routers=192.168.0.1 static domain_name_servers=192.168.0.1 |
私の場合、最初ipaddressとなっていて、有効になりませんでした。ので、ルータ側で手動割り当てにしていました。
納得いかないので後日、希望のip addressをdhcpリースされないようにしておき、dhcpcd.confにはip_addressとして書き込んでおけば、固定できました。
5.セキュリティ
rootユーザと、piユーザを放置すると、外部からコントロールされるので、対策します。
5.1.rootユーザのパスワードを変更します。
raspi-config にて変更します。か、
sudo passwd root
5.2.新規ユーザを作成し、piを管理者から外します。
piをsudoersグループから外すので、メニューからは設定ができなくなりますので、注意。
思い切って削除する方も多いですが、piのファイルがありうるので、残します。
新規ユーザ作成
sudo adduser newuser
sudo gpasswd -a newuser sudo
グループに追加
groups pi
sudo usermod -G pi,adm,...(groups piの結果) newuser
新規ユーザに切り替えます。
piユーザのファイルをコピー
cp -r /home/pi/* /home/newuser
パスワードなしで実行できる権限を追加
sudo visudo
#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL
newuser ALL=(ALL) NOPASSWD: ALL
最後に、piユーザをsudoersから外します。
sudo gpasswd -d pi sudo
sudo nano /etc/sudoers
piユーザの行をコメントアウト
#pi ALL=(ALL) NOPASSWD: ALL
ユーザ名もadminへ変更
sudo usermod -l admin pi
sudo usermod -d /home/admin -m admin
sudo groupmod -n admin pi
sudo passwd admin
次回は、サーバー用ソフトのインストールとセットアップです。