いろいろ使えるNextcloud

今回は八光グループの情報システム部門いわいる「情シスさん」としてのおはなし。

八光グループは以前ご紹介したように、たいへん歴史があるといいますか、ぶっちゃけ古い会社ではあります。とはいえ、コンピューターの導入や海外とのネットワーク接続を比較的早くから実現するなど、新しいこともどんどん行っています。

あんまり新しいことをすると、周囲が似たようなことをはじめてそれが一般的になる頃には、なぜか自分たちがやっていることが妙に古くなっていたりもするのですけれども…。

そんなわけで我々アズシエルでは、日々八光グループ各社からああいうシステムがほしい、こういうシステムを作ってくれ、と、新しい要望や古いシステムの刷新希望などをもらって、外部のお客様に対するときと同じように開発費をいただいて開発を行ったり、それは我々が作るより得意なベンダーさんにやってもらったほうがいいものができるよね、という場合はそういうベンダーさんをご紹介して仲介役をやったりする、一般の企業では「情シス」にあたるようなこともしています。

そんな中で、これはわざわざ作ったり外のベンダーさんにお願いしたりしなくても、オープンソース・ソフトウェアを自分たちで導入・運用することで充分いけるよね、というものを活用することも少なからずあります。

最近注目しているのは「Nextcloud」という Web アプリ (PHP+MySQL) です。

これは、ごく簡単にいうと、自前のWebサーバーでDropboxみたいなことができるインターネット上のファイルサーバー構築アプリです。

例えば社内のオンプレミスなサーバーであったり、IaaSなクラウドサーバーやVPSサーバーを借りてそこにこのNextcloudを入れると、ユーザーが何人いようがディスクのある限りファイルを共有できます。DropboxのようにPCのローカルフォルダと同期したり、Webブラウザからアクセスすることもできます。

スマホアプリは有料なのですが、WebDAV APIも搭載しているので、WebDAVに対応した無料のスマホアプリからも読み書き可能です。

また、一部のフォルダやファイルをパスワードとダウンロード期限を設定してURLで共有することもできます。

メールに添付するにはちょっとサイズが大きすぎるな…というファイルを、宅ふぁいる便などのサービスを使って送った経験のある方も少なからずいらっしゃるでしょう。

しかし、おシゴトで使うわりと機密な情報を含むファイルを、第三者企業が運営するサービスを使って送受信するのはセキュリティ的にどうなのかな?という不安もあると思います。そういったときに、自社で運営しているストレージサーバーで同じことができるわけです。

まあこれだけなら「ふーん、貧乏会社のDropbox ?」といった印象になってしまいますが…。

Nextcloudのおもしろいのは、なんだかNextcloudの上で動くアプリがたくさんある、しかも結構使いものになる、ということなのです。

例えば、Googleカレンダーライクな「カレンダー」というアプリがあります。別にカレンダーぐらいグループウェアであるじゃん?という会社さんは別にいいんですけどね。これからグループウェアを導入しよう!という会社さんは「えースケジュール全部上司に見せるのかよー」みたいな抵抗が少なからずあったりして、導入してもなかなか利用されない、なんてこともあるかもしれません。

Nextcloud は本来ファイル共有のものですから「シゴトのファイルはここにいれときなさーい」というのが本来として、「カレンダーもあるから使ってね」というぐらいのところから導入ができるわけです。

「グループウェアを導入する!」と大上段にかまえてしまうと、目的より手段の方が主体になってしまって、なかなか敷居が高いというか、導入したはいいけどスタッフ誰も利用しねえや、てなことになりがちですが、カレンダーはおまけだから!というところから、少しずつ普及を図っていく、ということも考えられるでしょう。

そしてこのNextcloudのカレンダーは、iCalやCalDAVにも対応しているので、Googleカレンダーで共有したり、MacやWindowsの標準カレンダーから利用したり、iPhoneで同期したりもできる、Googleカレンダーに負けない多機能ぶりです。Androidはちょっとその手の「Googleでない」標準規格には弱いようで困るんですが…。

もちろんカレンダーだけではなくて、例えばアドレス帳「Contacts」。これもCardDAVという標準規格に対応しているので、iPhone等と同期することが可能です。

Deck」という、SCRAMプロセスで利用される「カンバン」を提供するアプリや、Todoリストを共有する「Tasks」アプリ、VisioのようにフローチャートやUML図、ビジネスプロセス分析に使うBPMN図を描ける「Draw.io」 という有名なサービスを自前のサーバーで動かすことができるアプリなどもあります。

中でもすごいのは、WebRTCという技術を使ったビデオ通話を実現するアプリがあります。

一昔前は離れた拠点で電話会議をするといったら莫大な費用がかかる割に、実際にやってみると不便で全然使い物にならないや、なんてのがよくありましたが、接続端末が6台ぐらいなら大変快適に動作します。それ以上の端末数だとさすがにWebRTCでは難しいので、Zoomとかの利用を検討したほうが良いとは思いますけどね。

最近のNextcloudでは「Nextcloud Talk」という機能が搭載されて安定動作するようになってきましたが、八光グループでは現在はそれ以前からある「Spreed.Me」というアプリを利用しています。Nextcloud Talkの方がスマホプリが安定しているので、近いうちに乗り換えるかもしれません。

メディカル事業部では、これを使って、長野県千曲市の本社とタイのパトゥムターニーというところにある拠点とで結構月に何回も会議をしていたりしているようです。

なるほどな、と思ったのが、国内の離れた拠点のひとと打ち合わせの必要がある場合は、出張してもらえばいい、ということ。

何を言ってるんだ?と思うかもしれませんが、実は県内、むしろ市内の別拠点みたいな、歩いては来れない程度の近い距離のひとをわざわざ呼びつけたり呼びつけられたりするのが実は意外と負荷が大きい、ということだそうで、そういう近隣の別拠点のひとたちとの会議でも使われています。県外の遠くのひととより近いひととの会議で使われる、というのは意外でした。

WebRTCのルーター超えはSTUNサーバーというものが別途必要だったりして、Nextcloudの導入だけでは済まないというのはあるのですけどね。

それと、これ意外にいけるのでは?と思って試験的に導入をはじめているのが「Passwords」というアプリ。これはWebサイトのURLとログインID、パスワードを管理するアプリです。

自社内の業務システムもWebアプリのものが増え、外部のクラウドサービスを使う機会も増えてくると、それぞれにログインIDとパスワードを設定しなければならないことが増えてきます。

自社内のシステムで自社内に設定されたオンプレミスサーバーのうちは簡単なパスワードでも良かったのですが、クラウド化が進んで自社のシステムもインターネットの向こうにあったりするとそれなりに複雑なパスワードを全スタッフに使ってもらわないといけなくなりますし、他社のサービスを使うことも増えてくると、当然パスワード管理が面倒になってきます。

それで、みんながすべてのサービスで同じパスワードを設定していまったり、容易に推察できるパスワードを設定してしまったりとなりがちです。

パスワードは必ず数字と記号と大文字小文字を含むものしろ」「すべてのサービスのパスワードは別のものにしろ」「パスワードをメモにとるな」などとよくいいますが、そんなんできるかああっと誰しも思うんじゃないでしょうか。

しかしこのようなパスワード管理ツールを使うことで、パスワードそのものはこのツールでランダムに生成させ、それをこのツールで保存しておく。使うときはここからコピー&ペーストする。といった手順を徹底すれば、そもそもパスワードを覚えておく必要もないので、充分に複雑なパスワードを各種サービスで別々に使う、ということが容易になります。

また、会社間取引のEDIなどで、ログインID&パスワードは会社に対して1つしか発行されていないけれど、使うスタッフは複数人いる、みたいなときに、ログインID&パスワードをどこに保管してどうやって共有するか、ということも問題になります。それこそ各自自分のノートにメモをとって…なんてやってしまうと、誰かがノートを紛失した!なんてときに大騒ぎになってしまいます。

このNextcloudの「Passwords」はパスワード情報を特定のユーザー間で共有する機能もあるので、安全に共有することができます。もちろん、これらの情報はデータベースには暗号化されて保存されているようです。

惜しむらくは、QRコードのワンタイムパスワードに対応していないことですね。同種のアプリで「Passman」というものがあって、こちらはワンタイムパスワードにも対応しているのですが、どうもこっちは共有機能を使うとデータが壊れるようなので…。

というわけでこのNextcloud、だいたい一般的に紹介されるのは「オープンソースのDropbox」みたいなカンジですけれど、アズシエルと八光グループは「これヘタなグループウェア入れるよりいろんなことで役にたつじゃんね?」と思いながら使っています。

ちょっとまだNextcloudのソースとかフレームワークみたいところまでは調べていないのですが、例えばNextcloudの上で動く会議室の予約システムとか作ったらおもしろいかもなーなどと夢想しているのですけど、なかなか通常業務が…