MDwikiをOwncloudと連携させてWebで編集できるようにした
MDwikiというMarkdownで書けるwikiをOwncloudと連携させて、ファイルをWeb上で編集できるようにした。ついでに認証もつけた。
MarkDownで書けてWebで参照できる自分(+少人数グループ)用のメモシステムが欲しいということで、今まではDokuwikiを使用していたのですが、Dokuwikiだと少し不便なところが多く、管理も面倒な感じでした。
そこで、Markdownで書けてデザインも綺麗なMDwikiを使ってみようかなと思ったのですが、MDwikiはファイルベースのwikiで手軽に編集できないと言う欠点がありました(毎回アップロードが必要なのが面倒...)。
DropboxやGoogleDrive上において使用するという方法もありましたが自分のドメインを使いたいので、今回はOwncloud上にMDwikiを置いて、Owncloudのファイル編集機能を使用して編集できるようにしました。
ついでにnginxを使用して簡単な認証(basic)をつけました。
とくに特別な設定はしていないので簡潔に。
概要
今回はMDwiki+Owncloud+Nginx(SSL)を使用しました。Nginxを使用しましたがApacheでも大丈夫と思います。
流れとしては、Nginxの導入→Owncloudの構築→MDwikiの設置と言った感じ。
長くなるので細かなインストールは省きます。
Nginxの導入 & Owncloudの導入
インストールは各OSによって異なるので省略。 普通にインストールすればOK。
Owncloudで認証が必要なので、SSLが必須。オレオレでもいいのでつけておく。
ここで、Owncloudのデータ保存ディレクトリを覚えておく。ここでは/home/owncloud/data/
にします。
MDwikiの導入
構築が終わったら、Owncloud上にMDwiki用のディレクトリを作成。 その中にOwncloud上からMDwikiを突っ込む。
Releases · Dynalon/mdwiki · GitHub
mdwiki.html以外を削除して、mdwiki.htmlをindex.htmlにリネーム。
確認用にindex.mdを作成。
Test page ======== hello ------
ディレクトリにシンボリックリンクを張る
ここで、Owncloud上のMDwikiディレクトリのパスを探す。
おそらくは[Owncloudデータディレクトリ]/[Username]/files/MDwiki
あたりにあるかな?
$ cd /home/owncloud/data/ # Owncloudのドキュメントルート $ cd owncloud_user # Owncloudで作成したユーザー $ cd files/mdwiki $ pwd /home/owncloud/data/owncloud_user/files/mdwiki
webのドキュメントルートでシンボリックリンクの作成。
owncloud上のデータディレクトリをnginxのドキュメントルートから読み出せるようにする。
cd </path/to/DocumentRoot> ln -s /home/owncloud/data/owncloud_user/files/mdwiki mdwiki
これでOK
認証
htpasswdを作成
$ htpasswd -b -c .htpasswd user passwd
nginxの設定をいじる。
location ~ /mdwiki/ { auth_basic "wiki"; auth_basic_user_file /etc/nginx/.htpasswd; root /var/www/; index index.html index.htm index.php; }
これでhttp://example.jp/mdwiki/に接続すればbasic認証を求められるようになる。
ファイルの編集
owncloud上でファイル名をクリックする。
現在の最新版8.1.3だと標準で編集機能が付いているのでラク。ついてなければプラグインを入れましょう
とりあえずだけどコレでWebから編集できるようになった。
大事な文書書く場合はセキュリティも意識しないとだめかも。