Nextcloud導入が面倒?snapを使うとこれだけでGoogleDocみたいなことができます(Debian sid amd64/Ubuntu 20.04 LTSで確認済み).
$ sudo apt update && sudo apt upgrade
$ sudo apt install snapd
$ sudo snap install nextcloud
$ sudo /snap/bin/nextcloud.occ app:install documentserver_community
$ sudo /snap/bin/nextcloud.occ app:install onlyoffice簡単に説明していきます.
$ sudo apt update && sudo apt upgrade$ sudo apt install snapd$ snap find nextcloud
Name                       Version                    Publisher         Notes  Summary
nextcloud                  18.0.4snap3                nextcloud✓        -      Nextcloud Server - A safe home for all your data
spreedme                   0.29.5snap1                nextcloud✓        -      Spreed.ME audio/video calls and conferences feature for the Nextcloud Snap
onlyoffice-desktopeditors  5.5.1                      onlyoffice✓       -      A comprehensive office suite for editing documents, spreadsheets and presentations
qownnotes                  20.6.2                     pbek              -      Plain-text file markdown note taking with Nextcloud / ownCloud integration
nextcloud-port8080         1.01                       arcticslyfox      -      Nextcloud Server
nextcloud-snap-abacao      11.0.3snap4                abacao            -      Nextcloud Server
nextcloud-nextant          11.0.0snap3                rmescandon        -      Nextcloud Server + search support
nextcloud-abacao           11.0.3snap4                abacao            -      Nextcloud Server
cashbox-nextcloud          11.0.2snap2                cashbox           -      Nextcloud Server for www.cashBOX.plus
nextcloudsnap              12.0.4snap1                oscarbrolin       -      Nextcloud Server - A safe home for all your data
ghostcloud                 0.9.5                      beidl             -      A modern cross-platform client for Nextcloud, ownCloud, WebDav.
htxucloud                  12.0.3snap7                htxu              -      Nextcloud Server
carnet                     0.22.1                     alexandre-roux-m  -      Powerful note taking app with sync, online editor and android app
opentodolist               3.23.0                     mhoeher           -      Todo list and note taking application
solr                       0.1                        rmescandon        -      Starts up solr as forking daemon
mdns-hostname              0.0.1                      welike            -      mDNS mini-daemon to published hostname.local
nextcloud-stondino         15.0.10snap3+git1.ff25cb9  zmusselman        -      Nextcloud Server - A safe home for all your data
vmcloud-nextcloud          1.0.0                      victoriususm      -      Nextcloud 16.0.3 Optimized-Boosted
feedreader                 0+git.9ac478f7             ken-vandine       -      RSS client for various webservices
test003-nc                 13.0.4.snap1               reinism           -      Nextcloud Server - A safe home for all your data
$ snap info nextcloud
name:      nextcloud
summary:   Nextcloud Server - A safe home for all your data
publisher: Nextcloud*
store-url: https://snapcraft.io/nextcloud
contact:   https://github.com/nextcloud/nextcloud-snap
license:   unset
description: |
  Where are your photos and documents? With Nextcloud you pick a server of
  your choice, at home, in a data center or at a provider. And that is where
  your files will be. Nextcloud runs on that server, protecting your data and
  giving you access from your desktop or mobile devices. Through Nextcloud
  you also access, sync and share your existing data on that FTP drive at
  school, a Dropbox or a NAS you have at home.
commands:
  - nextcloud.disable-https
  - nextcloud.enable-https
  - nextcloud.export
  - nextcloud.import
  - nextcloud.manual-install
  - nextcloud.mysql-client
  - nextcloud.mysqldump
  - nextcloud.occ
services:
  nextcloud.apache:          simple, enabled, active
  nextcloud.mdns-publisher:  simple, enabled, active
  nextcloud.mysql:           simple, enabled, active
  nextcloud.nextcloud-cron:  simple, enabled, active
  nextcloud.nextcloud-fixer: simple, enabled, inactive
  nextcloud.php-fpm:         simple, enabled, active
  nextcloud.redis-server:    simple, enabled, active
  nextcloud.renew-certs:     simple, enabled, active
snap-id:      njObIbGQEaVx1H4nyWxchk1i8opy4h54
tracking:     latest/stable
refresh-date: yesterday at 21:53 JST
channels:
  latest/stable:    18.0.4snap4               2020-06-08 (21413) 264MB -
  latest/candidate: ^
  latest/beta:      18.0.4snap4+git5.31f0acd  2020-06-09 (21469) 264MB -
  latest/edge:      master-2020-06-10         2020-06-10 (21487) 267MB -
  18/stable:        18.0.4snap4               2020-06-08 (21413) 264MB -
  18/candidate:     ^
  18/beta:          ^
  18/edge:          18-2020-06-10             2020-06-10 (21482) 265MB -
  17/stable:        17.0.6snap1               2020-05-03 (20616) 229MB -
  17/candidate:     ^
  17/beta:          17.0.6snap1+git10.8f765f8 2020-06-09 (21474) 249MB -
  17/edge:          17-2020-06-10             2020-06-10 (21483) 250MB -
  16/stable:        16.0.11snap1              2020-06-08 (21459) 225MB -
  16/candidate:     ^
  16/beta:          ^
  16/edge:          ^
  15/stable:        15.0.14snap1              2020-01-20 (18374) 216MB -
  15/candidate:     ^
  15/beta:          ^
  15/edge:          ^
  14/stable:        14.0.10snap1              2019-05-04 (13208) 202MB -
  14/candidate:     ^
  14/beta:          ^
  14/edge:          ^
  13/stable:        13.0.12snap1              2019-05-03 (13155) 193MB -
  13/candidate:     ^
  13/beta:          ^
  13/edge:          ^
  12/stable:        12.0.13snap1              2019-01-07 (10632) 206MB -
  12/candidate:     ^
  12/beta:          ^
  12/edge:          ^
  11/stable:        11.0.8snap1               2018-05-10  (6942) 202MB -
  11/candidate:     ^
  11/beta:          ^
  11/edge:          ^いくつかでてきますが,Publisherが nextcloud になっている公式のstableを使います.ちなみにこのコマンドを叩いた時点で19.0.0や18.0.5が出ていてこの記事執筆時点で18.0.6が出ています.ちょっと反映が遅いみたいですね.
$ sudo snap install nextcloudしばらく時間がかかりますが,これでNextcloudと関連のApache httpd/PHP/MySQL等が設定済みの状態で導入されます.
$ ps aux | grep -i nextcloud
root     17628  0.0  0.0   1872   196 ?        Ss   00:10   0:00 /bin/sh /snap/nextcloud/21169/bin/delay-on-failure mdns-publisher nextcloud
root     17615  0.0  0.1   1872  1168 ?        Ss   00:10   0:00 /bin/sh /snap/nextcloud/21169/bin/nextcloud-cron
root     17657  0.0  0.1   1872  1200 ?        Ss   00:10   0:00 /bin/sh /snap/nextcloud/21169/bin/renew-certs
root     17681  0.0  0.1   1872  1272 ?        Ss   00:10   0:00 /bin/sh /snap/nextcloud/21169/bin/start-php-fpm
root     17712  0.0  0.1   1872  1216 ?        Ss   00:10   0:00 /bin/sh /snap/nextcloud/21169/bin/start-redis-server
root     17765  0.0  0.6 258120  6008 ?        Sl   00:10   0:00 mdns-publisher nextcloud
root     17987  0.0  0.1   1872  1200 ?        Ss   00:10   0:00 /bin/sh /snap/nextcloud/21169/bin/run-httpd -k start -DFOREGROUND
root     18069  0.1  0.1   1872  1168 ?        Ss   00:10   0:01 /bin/sh /snap/nextcloud/21169/bin/start_mysql
root     18111  0.0  0.1   1872  1100 ?        S    00:10   0:00 /bin/sh /snap/nextcloud/21169/bin/mysqld_safe --datadir=/var/snap/nextcloud/21169/mysql --pid-file=/tmp/pids/mys
ql.pid --lc-messages-dir=/snap/nextcloud/21169/share --socket=/tmp/sockets/mysql.sock
root     18128  0.9 22.0 1815000 210060 ?      Sl   00:10   0:08 /snap/nextcloud/21169/bin/mysqld --basedir=/snap/nextcloud/21169 --datadir=/var/snap/nextcloud/21169/mysql --plu
gin-dir=/snap/nextcloud/21169/lib/plugin --lc-messages-dir=/snap/nextcloud/21169/share --log-error=error.log --pid-file=/tmp/pids/mysql.pid --socket=/tmp/sockets/mysql.sock
root     18196  0.0  2.1 200580 21712 ?        Ss   00:10   0:00 php-fpm: master process (/snap/nextcloud/21169/config/php/php-fpm.conf)
root     18980  0.0  0.1   1872  1276 ?        S    00:10   0:00 /bin/sh /snap/nextcloud/21169/bin/httpd-wrapper -k start -DFOREGROUND
root     19017  0.0  0.0   6168  0280 ?        S    00:10   0:00 httpd -d /snap/nextcloud/21169 -k start -DFOREGROUND
root     19018  0.0  0.1 1211772 1612 ?        Sl   00:10   0:00 httpd -d /snap/nextcloud/21169 -k start -DFOREGROUND
root     19019  0.0  0.1 880108  1668 ?        Sl   00:10   0:00 httpd -d /snap/nextcloud/21169 -k start -DFOREGROUND
root     19020  0.0  0.1 1080512 1656 ?        Sl   00:10   0:00 httpd -d /snap/nextcloud/21169 -k start -DFOREGROUND
root     19221  0.0  0.0 1716012 0292 ?        Sl   00:10   0:00 httpd -d /snap/nextcloud/21169 -k start -DFOREGROUNDこれでもうデーモンも起動しているので対象マシンのホスト名やipアドレスをウェブブラウザに入力して任意の管理者ユーザのユーザ名とパスワードを入力して登録します.同じネットワークだと誰でも繋いで設定できてしまうので注意しましょう.
「推奨アプリをインストール」にチェックを入れておくと便利な推奨アプリが導入されます.時間がかかるので後でもいいかもしれません.
これでとりあえずNextcloudが利用できるようになりました.実はここまでは snapパッケージが amd64以外にも arm64. armhf, i386, ppc64el に対応しているので armhf/arm64 な Raspberry Pi などでも動作します.
続いて OnlyOffice, community edition の server版を導入します.
Nextcloudのウェブからも導入できるのですが,300MB程とサイズが大きく回線によってはタイムアウトしてしまいます.
その場合は occ コマンドで導入します.(snapなので nextcloud.occ コマンドを使います)
$ sudo /snap/bin/nextcloud.occ app:install documentserver_communityこれでも失敗することがあります.その場合は手動でGitHub からアーカイブを入手して手動で展開して有効化します.(この方法だとamd64以外でも導入はできちゃいますが動かないので注意)
$ COUNT=1; while :;do wget https://github.com/nextcloud/documentserver_community/releases/download/v0.1.6/documentserver_community.tar.gz && break; c=$(( $c + 1 )) ;sleep 10; done;echo $COUNT
$ sudo tar xvf ./documentserver_community.tar.gz -C /var/snap/nextcloud/current/nextcloud/extra-apps/
$ sudo chown -R root.root /var/snap/nextcloud/current/nextcloud/extra-apps/documentserver_community
$ sudo /snap/bin/nextcloud.occ app:enable documentserver_communityCollaboraはAppImageを使っていたのでファイル数は少なかったですがこちらは普通にディレクトリに展開されるようでたくさんあります.
$ sudo find /var/snap/nextcloud/current/nextcloud/extra-apps/documentserver_community | wc -l
12935続いてOnlyOfficeアプリも導入します.
これはOnlyOffice Serverに繋いでやり取りするものです.Nextcloud のアプリ画面若しくは以下のコマンドで導入します.
$ sudo /snap/bin/nextcloud.occ app:install onlyofficeこれでNextcloudに戻って対応ドキュメントを開いたり新規作成するとOnlyOfficeが起動して編集できるはずです :)
アプリが導入されているけどうまく行かない場合はOnlyOfficeアプリを導入し直すとうまく行くかもしれません.(OnlyOfficeアプリがServerより先に導入されるとうまく行かない)
$ sudo /snap/bin/nextcloud.occ app:remove onlyoffice
$ sudo /snap/bin/nextcloud.occ app:install onlyofficeとりあえずこれでお試しは出来る感じです.実際に運用するにはhttps化したりバックアップを定期的に取るようにしたりなど設定したほうがいいですがパスやコマンド以外は通常のNextcloudと同じだと思います.
主なパスやコマンドはこうなっています.
- 設定ファイル /var/snap/nextcloud/current/nextcloud/config/config.php
- Nextcloudデータ,ログ /var/snap/nextcloud/common/
- 関連アプリ格納 /var/snap/nextcloud/current/
- occ /snap/bin/nextcloud.occ
- mysql-client /snap/bin/mysql-client
- mysqldump /snap/bin/nextcloud.mysqldump
dbのアカウント情報は設定ファイルに載っています.
$ sudo grep db /var/snap/nextcloud/current/nextcloud/config/config.php
  'dbtype' => 'mysql',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost:/tmp/sockets/mysql.sock',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'nextcloud',
  'dbpassword' => 'wdwYevflNhziZDUxxG2OXJs6el4zThtkmX20Bijih7Zh_4XU58OkZs3TAt7TCJjt',設定ファイルを編集してデーモンを再起動したい場合はこんな感じで再起動できます.
$ sudo snap restart nextcloudてことでsnap版Nextcloudはお試しにはおすすめです.
OnlyOfficeは今のところamd64環境しか提供されていませんがRaspberry Pi などでも動くようにしたいと言っているのでこれも期待です.
Nextcloud 19 だと先日紹介したCollaboraも同様にWebから導入できるのでおすすめです.