RedmineOnRaspberryPiHdd¶
- Table of contents
- RedmineOnRaspberryPiHdd
Raspberry PiにRaspbianをインストールし、Redmineを動かして、できるだけセキュアな状態でインターネット上に公開する方法のお話。
Piの差異はRaspbianが吸収してくれるはずなので、Pi 3等でも同じ手順で行けると思います。
品 | Version | 備考 |
---|---|---|
Piのモデル | 1 Model B | ずっと昔にあきばおーで購入 |
OS | Raspbian Jessie Lite 2017-04-10 | 2GBのSDに入る |
HDD | PQI 2.5インチ ポータブルHDD H568V 1TB ブラック 6568-001TR1 | NTT-Xで購入 |
Redmine | 3.3 |
注意点:
- Linuxのインストールやshutdownが自力でできる人向けなので、そこら辺の解説はありません。
- ネットワーク内に家庭用ブロードバンドルータが存在していて、かつ、DHCPサーバを動かしていることを前提としています。
- Redmineのインストールが初めての人は、DebianかUbuntuをVirtualBox等の仮想マシンにインストールして、予行練習したほうが良いかも。
ホスト名を決めて、Dynamic DNSサービス利用を申し込む¶
例として www.ieserver.net で無料のDynamic DNSサービスの利用を申し込むことができます。申し込みページは 新規ユーザー登録 のリンクからです。
なお、以下の例ではホスト名はhogehoge、ドメイン名はdip.jpとしていますので、あなたの決めたホスト名・ドメイン名に適当に読み替えてください。
なお、www.ieserver.netでの登録作業では、「ユーザ名」のところにホスト名を入れればよいようです。
RaspbianをSDカードにインストールする¶
https://www.raspberrypi.org/downloads/raspbian/ からLiteのほうのzipを取ってきて展開し、instration guideに従ってWin32DiskImagerでSDに書き込みます。
書き込みが成功したら、SDカードのルートディレクトリに「ssh」という名前の0バイトのファイルを作成します。
Raspbianを起動する¶
RasPiにSDカードとLANケーブルを挿入したあと、USBケーブルを挿して起動させます。
DHCPサーバがPiに割り当てたIPアドレスを調べる¶
ブロードバンドルータの設定ページ等から、DHCPクライアントでいちばん新しいものを探して、そのIPアドレスを調べてください。
もし、DHCPサーバを稼働させているのがブロードバンドルータでなくLinuxサーバならば、そのサーバにログインして cat /var/lib/dhcp/dhcpd.lease すればDHCPクライアントの情報を知ることができます。
SSHクライアントから接続する¶
調べたIPアドレスに対して、TeraTerm等のSSHクライアントで接続します。user:pi pass:raspberryです。ログインに成功したら、passwdコマンドでpiのパスワードを適当なものに変えておきましょう。
IPアドレスを固定する¶
IPアドレスをDHCPでなく固定で割り当てます。
http://qiita.com/MarieKawasuji/items/b088ffb252a92eee8f5d を参考にしてください。
IPアドレス固定を済ませたら、shutdown -rでいちど再起動し、固定後のIPアドレスに対しもういちどSSHクライアントで接続しなおします。
HDDに移行する¶
https://jyn.jp/raspberrypi-usb-only-boot/ を参考にしました。
HDDを接続して、
sudo parted /dev/sda
rm 番号でHDD内の既存のパーティションをすべて削除した後、
mkpart primary linux-swap 0% 2GiB mkpart primary ext4 2GiB 100% quit
sudo mkfs.ext4 /dev/sda2 sudo mount -t auto /dev/sda2 /mnt sudo apt-get install -y rsync sudo rsync -axv --exclude /mnt / /mnt/ sudo mkdir /mnt/mnt
sudo vi /boot/cmdline.txt で、root=~のところをroot=/dev/sda2に書き換えて保存します。
sudo vi /mnt/etc/fstab で、以下のように書き換えます。
proc /proc proc defaults 0 0 PARTUUID=ecd524de-01 /boot vfat defaults 0 2 /dev/sda2 / ext4 defaults,noatime 0 1 /dev/sda1 swap swap defaults 0 0 # a swapfile is not a swap partition, no line here # use dphys-swapfile swap[on|off] for that
sudo apt-get update
sudo apt-get upgrade
Redmineをインストールする(ラズパイ編)¶
説明が長いので、別ページへのリンクになっています。
ルータのアドレス変換を設定する¶
家庭内ルータにログインして、アドレス変換の設定をします。
例として、Buffalo Broad Station では、アドバンスト-ネットワーク設定-アドレス変換で設定が可能です。
WAN側のポート80番を、LAN側のhogehogeのIPアドレスの80番に割り当てます(http用)。
WAN側のポート443番を、LAN側のhogehogeのIPアドレスの443番に割り当てます(https用)。
ここまでやれば、ふつうのWebブラウザで http://hogehoge.dip.jp や http://hogehoge.dip.jp/redmine を表示できるはずですので、試してみましょう。LANでなくインターネットからアクセスできることを確実に確かめたければ、スマホからのアクセスを試みるのもよいです。
Apacheのindex.htmlを修正する¶
Apacheインストール時点のサンプルのままの /var/www/html/index.html だとまずいので、適当なものに置き換えます。とりあえず以下のようなものでよいはず。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>ほげほげ</title>
</head>
<body>
<p>このサイトはhttpでのアクセスも行えますが、Redmineにログインするときはhttpsで
アクセスすべきです(さもないとパスワードが平文で送られる)。</p>
<p>Firefoxでhttpsアクセスする場合は、この<a href="ca.crt">ルート証明書</a>
をダウンロードし、「この認証局によるWebサイトの識別を信頼する」のみをチェックして
OKしてください。</p>
<p>Android機でhttpsアクセスする場合は、この<a href="hogehoge.cer">ルート証明書</a>
をダウンロードし、設定-セキュリティ-SDカードからインストール で、ダウンロードした
cerファイルをインストールしてください。</p>
<ul>
<li><a href="https://hogehoge.dip.jp/redmine/">Redmine(セキュア)</a></li>
<li><a href="redmine/">Redmine(平文)</a></li>
</ul>
</body>
</html>
httpsでアクセスできるようにする¶
説明が長いので、別ページへのリンクになっています。
Redmineを誰でも閲覧可にするか、ログイン済みユーザにしか見せないようにするか¶
http://redmine.jp/faq/administration/require-auth/ を参考にしてください。
プラグインのインストール(任意)¶
http://www.r-labs.org/projects/r-labs/wiki/Wiki_Extensions をインストールします。
wget https://bitbucket.org/haru_iida/redmine_wiki_extensions/downloads/redmine_wiki_extensions-0.7.0.zip cd /var/lib/redmine/plugins sudo -u www-data unzip ~/redmine_wiki_extensions-0.7.0.zip sudo -u www-data bundle exec rake redmine:plugins:migrate RAILS_ENV=production sudo service apache2 restart
Count of this page : 874
Updated by mole lord about 2 years ago · 1 revisions