LoginSignup
5
1

More than 1 year has passed since last update.

bitnami RedmineにBasic認証を設定する

Last updated at Posted at 2020-01-10

はじめに

bitnamiのredmineサーバー(Redmine Bitnami 認定 4.0.5)をAmazon Lightsailで利用しています。
サービスの特性上、ファイアウォールでポート制御はできるのですが、ソースIPの指定ができないため、Basic認証を設定することにしました。

環境

・AWSサービス:Amazon Lightsail
・イメージ:Redmine Bitnami 認定 4.0.5

Basic認証用のユーザーの発行

まずはhtpasswdコマンドを使ってユーザーを新規に発行します。

ユーザー作成
$ sudo htpasswd -c /opt/bitnami/apache2/.htpasswd <username>
New password: 
Re-type new password: 
Adding password for user <username>

オプション
-c:パスワードファイルを新規に作成します。すでにファイルが存在する場合は上書き保存されます。

Basic認証の設定

confのバックアップと修正
$ sudo cp -pi  /opt/bitnami/apps/redmine/conf/httpd-app.conf /opt/bitnami/apps/redmine/conf/httpd-app.conf.bk
$ sudo vim /opt/bitnami/apps/redmine/conf/httpd-app.conf
httpd-app.conf
<Directory "/opt/bitnami/apps/redmine/htdocs/public">
  ・・・
      AuthType Basic
      AuthName MyAuthName
      AuthUserFile "/opt/bitnami/apache2/.htpasswd"
      Require valid-user
  ・・・
  ・・・
    <IfVersion >= 2.3>
        #Require all granted
    </IfVersion>
  ・・・
</Directory>

まずは < Directory > 内にBasic認証の設定となる4行を追記します。
ディレクティブ
AuthType:認証方式
AuthName:認証領域
AuthUserFile:パスワードファイル
Require:アクセス制御についての設定

次に Require all granted をコメントアウトします。
(今回のredmineで使われているapacheバージョンが2.3以上のため。)

Requireディレクティブ
all granted:全てのアクセスを許可
valid-user:有効なユーザーの場合はアクセスを許可

apacheバージョンを確認したい場合は以下のコマンドで確認します。

apacheバージョン確認
$ httpd -v
Server version: Apache/2.4.41 (Unix)

apache再起動

編集が完了したらapacheを再起動して完了です。

apache再起動
$ apachectl configtest
Syntax OK
$ sudo /opt/bitnami/ctlscript.sh restart apache
Unmonitored apache
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd stopped
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80
Monitored apache

確認

再起動したらアクセスしてみましょう。Basic認証が表示されたら設定完了です。
スクリーンショット 2020-01-10 15.15.40.png

ユーザー追加

追加したい場合は-cオプションを外せばOKです。また、-bオプションを付けるとパスワードも一度に設定できます。

ユーザー追加
$ sudo htpasswd -b /opt/bitnami/apache2/.htpasswd <username> <password>

オプション
-b:コマンドラインからパスワードを引数として渡す際に指定します。

ただし、パスワードが見えてしまうので注意が必要です。

おわりに

Lightsailの場合、ポートだけでしかファイアウォールの制御ができないため、redmineなどをそのまま使うことに抵抗がある人は多いと思います。
Basic認証をかけることで少しでもセキュリティリスクを減らすことができます。

5
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1