BobbyQuineのブログ(備忘録)

Linux関係の備忘録、その他タバコ、Vape関連なんかも。

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のインストール

$ sudo pacman -S apache

 

/etc/httpd/conf/httpd.confの変更

アクセス制限を行います。今回外からのアクセスはなしで自室の有線で組まれている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

 

SSL

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

 

以上。httpやhttpsで見たいデータは " /srv/http/ " に置いておく。