読者です 読者をやめる 読者になる 読者になる

kengo700のナレッジベース

誰かの役に立つと思う情報を発信するブログ

RedmineのWikiで研究室の学位論文リスト(ファイルサーバへのリンク)

この記事では、私たちの研究室のRedmine内に作成した学位論文リストのページを紹介します。RedmineのWiki機能を利用して作成しました。ファイルサーバ内のpdfファイルへのリンクを張ることで、過去の論文をブラウザから開けるようにしています。

学位論文リストページ

f:id:kengo700:20160116124303j:plain

この学位論文リストページでは、下図のように、年度ごとに学位論文のタイトルと学生名をまとめています。

f:id:kengo700:20160116130059j:plain

各論文のタイトルをクリックすると、ファイルサーバ内の論文のpdfファイルを閲覧したりダウンロードしたりすることができます。

f:id:kengo700:20160116141609j:plain:w500

Wikiのソースは下記のようになっています。研究室のRedmineのサーバからファイルサーバをマウントし、ファイルサーバ内のpdfファイルへのリンクを張っています。

* 修士学位論文 / Master Thesis
** 名前, "タイトル":/mnt/ファイルサーバ名/public/theses/all/201601_masterThesis_名前.pdf
*** Name, Title 

Redmineでファイルリストを作る方法

前述の学位論文リストのように、Redmineでファイルをまとめたリストを作る方法は、いくつか考えられます。

Wikiやチケットに添付する

Redmineでは、Wikiページやチケットにファイルを添付することができます。 添付したファイルのダウンロードリンクを下記で表示することができます。

attachment:file.pdf

この方法では、添付したファイルを閲覧するために一度ダウンロードする必要がある(ブラウザから閲覧できない)ことと、ファイルはファイルサーバにまとめたかったことから、今回は採用しませんでした。

「ファイル」「文書」機能を利用する

Redmineには、ファイルを分類して掲載する「ファイル」機能や「文書」機能があります。

これらの機能では大量のファイルの整理はできなさそうなことと、前節の方法と同じ理由で、今回は採用しませんでした。

file URI と UNC パスを利用する

下記のように書くと、ファイルサーバのファイルへリンクを張ることができるそうです( Redmineで共有ファイルサーバーへリンクするプラグインredmine_wiki_unc: プログラマの思索)。

file://///ファイルサーバ名/ディレクトリ/file.pdf

この方法では、対応していないブラウザがあったため(私がChromeを使いたかったため)、今回は採用しませんでした(ブラウザで UNC パスのリンクをオープンする方法 | プログラマーズ雑記帳)。

Redmineのサーバからファイルサーバをマウントする

Redmineのサーバからファイルサーバをマウントし、ファイルサーバ内のファイルをRedmineサーバのファイルであるかのように扱うことで、ブラウザから閲覧することができるようになります。

マウントの方法は次節の通りです。

ファイルサーバのマウント

※過去の作業メモをもとに書いています。間違いがありましたらご指摘下さい。

マウント方法

  1. Tera Term などでRedmineのサーバへアクセス
  2. 下記コマンドで、ディレクトリを作成
mkdir /Redmineのインストールディレクトリ/public/mnt/ファイルサーバ名/public
  1. 下記コマンドでマウント(ユーザ名とパスワードはファイルサーバのもの)
mount -t cifs -o username=ユーザ名,password=パスワード,uid=apache,gid=apache,ro //ファイルサーバのIPアドレス/public /Redmineのインストールディレクトリ/public/mnt/ファイルサーバ名/public

uidgidのコマンドがないと、Redmineからのアクセスが拒否されるみたいです(linux - Apache/php cannot access remote cifs/samba share - Super User).

アンマウントするには下記コマンドを実行します。

umount /Redmineのインストールディレクトリ/public/mnt/ファイルサーバ名/public

サーバ起動時に自動でマウント

  1. Tera Term などでRedmineのサーバへアクセス
  2. /etc/fstabの最後の行に以下を追記して保存
//ファイルサーバのIPアドレス/public /Redmineのインストールディレクトリ/public/mnt/ファイルサーバ名/public cifs username=ユーザ名,password=パスワード,uid=apache,gid=apache,ro 0 0

関連情報

バージョンなど

私たちの研究室のRedmineのバージョンなどは下記の通りです。

  • Redmineのサーバ
    • Redmine:Redmine 2.5
    • OS:CentOS 6.5
    • データベース:MySQL 5.1.73
    • webサーバ:Apache 2.2.15
    • Ruby:2.0.0
  • ファイルサーバ
    • 製造元:Thecus
    • モデル名:N7710-G

参考資料

関連記事

kengo700.hatenablog.com

おわりに

過去の論文を探す作業を効率化し、1文字でも多く論文を書き進めましょう(効率厨並感