忍者ブログ

とりあえずブログ

てきとうにだらだら書いていくと思う

   

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

Raspberry Pi でWebDavサーバー(SSL)

今回はSSLで通信させたい
前回マウントさせたUSBメモリをdavで表示させる
まず権限の変更
sudo chmod -R 755 /media/mount
sudo chown -R www-data:www-data /media/mount/
次に
cd /etc/apache2
(・∀・)?
できない
Raspbian Liteにapache2入ってなかった
とりあえず入れる
sudo apt-get update
sudo apt-get install apache2
とりあえずWevDavモジュールの起動とか
sudo a2enmod dav
sudo a2enmod dav_fs
もしraspbianで上のコマンドが使えない場合はapache2をインストールしたらモジュールも入る

次はSSLの設定
sudo nano /etc/ssl/openssl.cnf


# This is OK for an SSL server.
# nsCertType                    = server

# This is OK for an SSL server.
  nsCertType                    = server
# Some might want this also
# nsCertType = sslCA, emailCA
# Some might want this also
  nsCertType = sslCA, emailCA
次は証明書保存する場所を作る&移動する
sudo mkdir /usr/local/certs
cd /usr/local/certs
認証局の生成
sudo /usr/lib/ssl/misc/CA.pl -newca
CA certificate filename (or enter to create)
Making CA certificate ...
Generating a 2048 bit RSA private key
..............................................................................................................+++
......................................................+++
writing new private key to './demoCA/private/cakey.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tottori
Locality Name (eg, city) []:Tottori
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Private_CA
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:satsuki.blog-sim.com
Email Address []:
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /usr/lib/ssl/openssl.cnf
Enter pass phrase for ./demoCA/private/cakey.pem:
Check that the request matches the signature
Signature ok
中略
Write out database with 1 new entries
Data Base Updated
※:のあと何も書いてないのは何も入力せずEnter

証明書のシリアルナンバーを生成する
中身に「01」のみを書き込む
sudo nano demoCA/ca-cert.srl
証明書を生成する
今回は期限を10年(3650日)にしておく
sudo openssl x509 -CA ./demoCA/cacert.pem -CAkey ./demoCA/private/cakey.pem -CAserial ./demoCA/ca-cert.srl -req -days 3650 -in server.csr -out server.crt
とりあえずこれで証明書などは完了
再びApache2の設定へ
モジュールとかを起動する
cd /etc/apache2/
sudo a2ensite default-ssl
sudo a2enmod ssl
設定ファイルをいじる
sudo nano /etc/apache2/sites-enabled/default-ssl.conf
SSLCertificateFile
SSLCertificateKeyFile
のパスを先ほどの/usr/local/certs/server.crtと/usr/local/certs/server.key
に変更する

またUSBメモリをWebDavとして登録する
以下のものをdefault-ssl.confの下の方にある</VirtualHost>の上に書き込む
Alias /dav "/media/mount"
<IfModule mod_dav.c>
        DAVMinTimeout 600
        <Location /dav>
                DAV On
                Options None Indexes
                #Allow from all
                Require all granted
        </Location>
</IfModule>
はじめAllow from allと書いていたのだがブラウザで権限がない的なエラーが出てしまった
調べるとapache2のバージョンが新しくなってからRequire all grantedと書くらしいことがわかったので注意


そして最後に
sudo service apache2 restart
にてapache2を再起動して完了

ブラウザにてhttps://"RaspberryPiのIPアドレス"/davにアクセスして
無事動作確認終了

これである程度セキュリティの強い通信ができるようになった
あとはBASIC認証すればいい
けど力尽きたので今回はここまで 追記にてBASIC認証は実装する予定


拍手[2回]

PR

COMMENT

NAME
TITLE
MAIL(非公開)
URL
EMOJI
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
PASS(コメント編集に必須です)
SECRET
管理人のみ閲覧できます

カウンター

カレンダー

04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

リンク

フリーエリア

最新コメント

[10/26 風吹けば名無し]
[07/01 マカオ]
[04/20 ひごディウス]
[04/20 さつき]
[04/20 さつき]

忍者アド

最新トラックバック

プロフィール

HN:
さつき
性別:
男性
自己紹介:
パソコンとかゲームとか好きです

バーコード

ブログ内検索

フリーエリア

Copyright ©  -- とりあえずブログ --  All Rights Reserved
Design by CriCri / Photo by Geralt / powered by NINJA TOOLS / 忍者ブログ / [PR]