Nextcloud

Debian パッケージが存在するか確認する

apt-get search コマンドで確認する。

# apt-cache search nextcloud

Debian Backports にパッケージがある場合もある。そちらも確認すること(Distribution は bullseye-backports にすること)。

<URL:https://backports.debian.org/Packages/>

どちらにも nextcloud パッケージは無いようなので、公式ページのインストールドキュメントを参照する。

インストール

Google 検索すれば、インストール記録などたくさん見つかるが、OS が異なるものや、 古いものなど、玉石混交である。公式 Web を確認するクセをつけてほしい。

公式ドキュメントを探すと、以下のガイドがあり、特に Ubuntu 向けインストール例も存在することがわかる。 Ubuntu を対象にした記事であるが、Debian 11 でも大体同じだろうという想定で実施する(実際、問題はなかった)。

<URL:https://docs.nextcloud.com/server/latest/admin_manual/installation/source_installation.html> <URL:https://docs.nextcloud.com/server/latest/admin_manual/installation/example_ubuntu.html>

以下、インストールドキュメントに書かれた手順の注釈を示す。すでに行っていることもあるので、適宜パスしながら進めている。

必要な Debian パッケージのインストール

Ubuntu ドキュメントを参考にする。 Ubuntu とパッケージ名は同じなので、Ubuntu 用インストールドキュメントの通りにパッケージインストールを行えば良い

<URL:https://docs.nextcloud.com/server/latest/admin_manual/installation/example_ubuntu.html>

MySQL の設定

引き続き、Ubuntu ドキュメントを参考にする。 <URL:https://docs.nextcloud.com/server/latest/admin_manual/installation/example_ubuntu.html>

インストールは終わっているので、マニュアルにあるようにユーザとデータベースを作成し、しかるべき権限を設定する。 私は MySQL のユーザ名を nextcloud にした。

扱うことのできるファイルのサイズを指定

マニュアルでは後述されているが、この段階で PHP で扱えるファイルサイズを増やしておくと良い。

# vi /etc/php/7.4/apache2/php.ini

  memory_limit = 512M
  upload_max_filesize = 1024M
  post_max_size = 2048M
  max_execution_time = 300
  date.timezone = Asia/Tokyo

# /etc/init.d/mysql start

nextcloud のソースの取得とインストール

引き続き、Ubuntu ドキュメントを参考にする。 <URL:https://docs.nextcloud.com/server/latest/admin_manual/installation/example_ubuntu.html>

最新版を取得する。推奨されないが、PGP 署名はスキップしてもインストールはできる。

# wget https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip
# unzip /usr/local/src/nextcloud-23.0.0.zip
...略...

また、展開したファイルの権限を www-data (Web サーバを動かすユーザ) にしておく。

# chown -R www-data:www-data /var/www/nextcloud

Web サーバの設定

Ubuntu ドキュメントには書かれていないので、大元のドキュメントに戻って設定を行う。 <URL:https://docs.nextcloud.com/server/latest/admin_manual/installation/source_installation.html#apache-web-server-configuration>

今回は 80 ポートで nextcloud を立ち上げることにする。

# cat /etc/apache2/sites-available/nextcloud.conf

<VirtualHost *:80>
 # ServerName my.domain.name
 ServerName iot-XX.epi.it.matsue-ct.jp                     (ホスト名は自分のに直すこと)
 ServerAdmin [email protected]              (ホスト名は自分のに直すこと)

 Alias "/nextcloud" /var/www/nextcloud/
 <Directory "/var/www/nextcloud">
     Options +FollowSymlinks
     AllowOverride All
     <IfModule mod_dav.c>
        Dav off
     </IfModule>
     SetEnv HOME /var/www/nextcloud
     SetEnv HTTP_HOME /var/www/nextcloud
 </Directory>

 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

# a2dissite redirect                 (これまでの設定を無効化)
# a2ensite nextcloud.conf
# a2enmod rewrite
# a2enmod headers
# a2enmod env
# a2enmod dir
# a2enmod mime

# /etc/init.d/apache2 restart

データ置き場を作っておく

# mkdir /opt/nextcloud
# chown -R www-data.www-data /opt/nextcloud

設定

初期設定

ブラウザでアクセスするだけ. http://iot-XX.epi.it.matsue-ct.jp/nextcloud/ (iot-XX は自分のホストに変更すること)

  • データベースの設定を行う.
  • データフォルダは /opt/nextcloud とした.
  • 「推奨アプリをインストール」はチェックを付けたままでよい

もし,接続が切れてしまった場合には,再度 http://iot-XX.epi.it.matsue-ct.jp/nextcloud/ (iot-XX は自分のホストに変更すること) にアクセスすること.