Raspberry Pi 2 Model B (+Arch)でhttpサーバー組んでみた件
ども、BobbyQuineです。今回はApacheを使って例のRaspberry Piをhttpサーバーにしてみました。ただ、ローカルネットワークのみでの実験用です。グローバル固定IP 持ってないし。
やるなら事故責任で。
まぁ、ぶっちゃけArch Wikiに書いてあるまんまです。
https://wiki.archlinux.jp/index.php/Apache_HTTP_Server
Apacheのインストール
アクセス制限を行います。今回外からのアクセスはなしで自室の有線で組まれているPCからのアクセスのみにします。
$ sudo vim /etc/httpd/conf/httpd.conf
もともと " Listen 80 " となってる箇所を探し以下のように書き換える。
Listen 127.0.0.1:80
Listen 10.0.0.1:80
これは私の環境の場合である。127.0.0.1はループバック、10.0.0.1はこのラズパイで同時に実行されているDHCPサーバーのヤツである。
あとはどうせ自分でしか見ないページなのであんま意味ないけど一応後学のために " ServerAdmin " の項目を書き換えたり(メルアド)。
あとこれはコメントアウトしとく。ユーザー領域にアクセスさせないため。
Include conf/extra/httpd-userdir.conf
あとこの後でSSLを使うようにもするので
LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf
のコメントアウトを外しておく。
/etc/httpd/conf/extra/httpd-userdir.confの編集
$ sudo vim /etc/httpd/conf/extra/httpd-userdir.conf
サーバー署名を非表示
ServerSignature Off
サーバー情報非表示
ServerTokens Prod
DocumentRootディレクトリの権限変更
$ sudo chmod o+x /srv/http
OpenSSLをインストールする。
$ sudo pacman -S openssl
自己署名証明書を作成
$ cd /etc/httpd/conf
$ sudo openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 1095
$ sudo chmod 400 server.key
$ sudo chmod 444 server.crt
httpdの起動
$ sudo systemctl start httpd
起動時に自動的にDaemonが起動するようにするには
$ sudo systemctl enable httpd