raspbianで.htaccessを使ったbasic認証

WebDavを実装する上でBasic認証が必要だったので実装してみました。

[config]

大まかな手順

  1. .htaccessを有効にする
  2. .認証に使うidとパスワードを設定
  3. .htaccessに記述

こんな感じです。

.htaccsessを有効にする

これはapache2のconfigファイルで実施します。

<Directory /home/davroot>
    AllowOverride All 
</Directory>

/home/davrootは実際にBasic認証をかけるディレクトリ

AllowOverride All

AllowOverrideAllは.htaccessを有効にするための記述

この後apache2を再起動します

sudo /etc/init.d/apache2 restart

認証に使うidとパスワードを設定

htpasswd -c /etc/apache2/.htpasswd hoge

/etc/apache2/.htpasswdは.htpasswdファイルを保存する場所になります。

hogeは認証に使うidです

パスワードを聞かれるので、任意のパスワードを入力しましょう。

.htaccessに記述

AuthUserfile /etc/apache2/.htpasswd
#AuthGroupfile /dev/null
AuthName "Please enter your ID and password"
AuthType Basic
require valid-user

AuthUserfileは前項で作成した.htpasswdファイルの場所を記述

AuthGroupfileは未設定なのでコメントアウトしています

AuthNameはBasic認証で出るポップアップに表示させる文言です

AuthTypeは認証のタイプ。ここではBasicにしています

require valid-userは特定のユーザーのみ許可するかの設定です。ここでは誰でもユーザーIDとパスワードが一致していればOKということです

最後にapache2を再起動です

sudo /etc/init.d/apache2 restart

macでスクリーンショット(トリミング)

当ブログではスクリーンショットを多様するのですが、macのスクリーンショット機能が直感的に使えない。。。

ので、メモ的に記録

ショートカット

「Command」キーと「Shift」キーと「4」キーを同時に押し

カーソルが変わるので、ドラッグしてやるとデスクトップに画像が保存されます。

webminのインストール(raspbian)

webminとは、GUIでサーバーの様々な設定ができるツールです。
sambaのSWATを使うつもりでしたが、どうやらSWATは今は更新されていないようで、今はwembimを使うのが普通らしいです。

[config]

インストール前の準備

sources.listに下記の記述を追記

$ vim /etc/apt/sources.list
deb http://download.webmin.com/download/repository sarge contrib

リポジトリ公開鍵の取得

$ wget http://www.webmin.com/jcameron-key.asc
$ sudo apt-key add jcameron-key.asc

webminのインストール

 

$ sudo apt-get update
$ sudo apt-get install webmin

結構時間がかかります(私の環境では10分くらい)

動作確認

ブラウザでhttps://ipアドレス:10000/を入力し、webminにアクセスします。

ユーザーrootでログインしてみます。

無事インストール完了です!

raspbianによるsambaインストール(ファイルサーバー構築)

sambaを使ってファイルサーバーを構築します。今までwindows serverばかり使っていたので、勉強がてらLINUXで実践してみようと思います。

[config]

raspbianをアップデート

これをしないと始まりません。不可解なエラーで悩んだ場合、大抵これをやっていないことが原因かと。

$ apt-get update

sambaをインストール

下記のコマンド実行でインストール作業は完了です。

$ apt-get install samba

 

最低限の設定でファイルサーバーの動作確認

smb.confファイルを変更して初期設定を行います。まずは、smb.confをバックアップ。

$ cp /etc/samba/smb.conf /etc/samba/smb.conf.org

※.orgはオリジナルのこと

smb.confを編集

ユーザーpiでホームディレクトリを共有する設定

#共有名
[pi]

#ユーザーpiのホームディレクトリを指定
path = /home/pi

#読み書きを許可
read only = No

#クライアントからゲスト接続を許可
guest ok = Yes

#サーバー側でファイル操作をした場合ユーザーpiで実行される
force user = pi

設定を反映させるため、sambaを再起動します。

$/etc/init.d/samba restart

これで、piという共有フォルダが公開されました。

 

それでは実際に接続して確認します。

macの場合

Findeを起動し「移動」→「サーバーへ接続」

サーバーアドレスに「smb://サーバーのipアドレス」を入力し接続

マウントするボリュームで「pi」を選択

これでpiフォルダーが閲覧できるんで読み書きを確認します。

 

windowsの場合

適当なフォルダーを開き、パス入力部に下記を入力

\\IPアドレス

接続できるとこんな感じです。

macよりもwindowsの方がわかりやすいですね。

あとは中のファイルの読み書きを確認します。

sambaとは?

ちなみにsambaとは、マイクロソフトのwindowsネットワークを構築するためのオープンソース・ソフトウェアです。

今までファイルサーバー=windows serverでしたが、今回はここまで10分程度で済みました。無料でしかも簡単に構築できるsamba、今後はこちらに乗り換えても良いかと思ってしまいます。
(以外とwindows serverはトラブルが多い。。。)

sambaにはブラウザから設定できる「SWAT」があるので、次回はそれを使って色々やってみようと思います。