ownCloudのインストール

提供: Akionux-wiki
Share/Save/Bookmark
移動先: 案内検索

概要

ownCloudはオンラインストレージサービスのフリーソフトウェア。 ここではそれをSlackBuildsでインストールする。

テスト環境

Slackware Linux x86_64 14.1

SlackBuilds

SlackBuildsでインストールできる:

  • network/owncloud-server

/srv/httpd/htdocs/owncloudにownCloudが置かれる。 私の場合、apacheユーザーの所有権に変えた:

sudo chown apache:apache -R /srv/httpd/htdocs/owncloud

インストール後の設定

以下はSlackBuildsのnetwork/owncloud-serverREADMEに書かれている内容である。

/etc/httpd/httpd.conf/etc/httpd/extra/httpd-vhosts.confに以下のようなホストを追加

  <Directory "/srv/httpd/htdocs/owncloud">
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Require all granted
  </Directory>

/etc/httpd/httpd.conf

LoadModule rewrite_module lib64/httpd/modules/mod_rewrite.so

Include /etc/httpd/mod_php.conf

のコメントアウトを外す。 その後httpdを再起動。

サイトにアクセスして管理者アカウントを作成。

データベースをMySQL/MariaDBにする

[1]に従ってデータベースをチューニングしてMySQL/MariaDBに切り替える。

/etc/php/mysql.iniを以下のように作成:

vim /etc/php/mysql.ini
# configuration for PHP MySQL module
;extension=pdo_mysql.so

[mysql]
mysql.allow_local_infile=On
mysql.allow_persistent=On
mysql.cache_size=2000
mysql.max_persistent=-1
mysql.max_links=-1
mysql.default_port=
mysql.default_socket=/var/run/mysql/mysql.sock
mysql.default_host=
mysql.default_user=
mysql.default_password=
mysql.connect_timeout=60
mysql.trace_mode=Off

私の環境ではpdo_mysql.soは別に読み込んでいるのでコメントアウトした。

ownCloud用のMySQL/MariaDBデータベースを作成

mysql -uroot -p
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
CREATE DATABASE IF NOT EXISTS owncloud;
GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
quit

usernameおよびpasswordは適当なものを設定する。

config/config.phpを書き換える:

<?php

  "dbtype"        => "mysql",
  "dbname"        => "owncloud",
  "dbuser"        => "username",
  "dbpassword"    => "password",
  "dbhost"        => "localhost",
  "dbtableprefix" => "oc_",

さらに、データベースに初期設定をするためにconfig/config.php

'installed' => false,

'installed' => false,

へ書き換える[2]

一応httpdを再起動。

/etc/rc.d/rc.httpd restart

そしてサイトへアクセスして初期設定をする。

APCuによるメモリキャッシュを有効化

config/config.php

'memcache.local' => '\OC\Memcache\APCu',

を追記する[3]

Transactional File Lockingの有効化

[4] SlackBuildsから以下をインストール:

  • system/redis
  • libraries/php-redis

/etc/php.d/redis.iniの以下のコメントアウトを外す:

extension=redis.so

SlackBuildのバグなのか私の設定ミスかわからないが、私の環境では/etc/php.d/redis.iniでなくて/etc/php/redis.iniでないと読み込んでくれないので、とりあえずリンクしとく:

sudo ln -s /etc/php.d/redis.ini /etc/php/

redisを起動し、config/config.php

'filelocking.enabled' => 'true',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => 'localhost',
     'port' => 6379,
     'timeout' => 0.0,
     'password' => '', // Optional, if not defined no password will be used.
      ),

を追記する。

httpdを再起動。

/etc/rc.d/rc.httpd restart

cronによるジョブ実行

バックグラウンドジョブをcronで実行する場合には、cronでcron.phpを15分ごとに実行するよう設定する[5]

# crontab -u apache -e
*/15  *  *  *  * /usr/bin/php -f /path/to/your/owncloud/cron.php

以下のように登録されたかどうか確認する。

# crontab -u apache -l
*/15  *  *  *  * /usr/bin/php -f /path/to/your/owncloud/cron.php

アップグレード

公式の該当バージョンのアップグレード手順(リンク先は9.0)を参照のこと。

マニュアルアップデート

メンテナンスモードをオンにする

cd /var/www/htdocs/owncloud
sudo -u www-data php occ maintenance:mode --on

バックアップを取る

Webサーバを止める。

sudo /etc/rc.d/rc.httpd stop

旧owncloudディレクトリの名前を変更する。

cd /var/www/htdocs
mv owncloud owncloud-old

ダウンロードして展開するか、SlackBuildで新しいバージョンのowncloudにupgradepkgする。

config.phpをコピーする。

cd /var/www/htdocs/owncloud
sudo cp ../owncloud-old/config/config.php config

dataフォルダ以下をコピーする。

sudo cp -r ../owncloud-old/data/* data/

3rdパーティアプリを使っている場合はappsフォルダ以下からコピーする。

Webサーバを再起動する。

sudo /etc/rc.d/rc.httpd start

一時的にowncloudディレクトリ以下の所有権を変更し、Webサーバユーザー(apache)のものにする[6]

sudo chown -R apache:apache /var/www/htdocs/owncloud

occupgradeコマンドを実行する。

sudo -u apache php occ upgrade

owncloudディレクトリ以下の所有権を戻す[7]

sudo chown root:apache .htaccess
sudo chown root:apache data/.htaccess

メンテナンスモードをオフにする。

sudo -u apache php occ maintenance:mode --off

アプリ

ownCloudのアプリを有効にすることで機能を追加できる。

Calender

Calenderはカレンダーのフロントエンドを提供してくれる。 アプリ→Productivity→Calenderにある。

カレンダーアプリにて、 左のほうにあるカレンダー(初回時には'default'というのがあるはず)の右にある「・・・」をクリックし、共有用の鎖マークをクリックすると、 CalDAV用のURLが表示されるので、そのURLでCalDAVアカウントと同期することができる。

メールクライアントThunderbirdはLightningというAdd-onを有効にすることでCalDAVクライアントとして使える。 カレンダーのFormatはiCalendar,CalDAV,Sun Java System Calendar Serverのうちから選択できるが、owncloudのCalendarと同期させるにはCalDAVを選択する。 この設定手順は[8]で説明してくれている。

External storage support

External storage supportはサーバのローカルファイルの共有を可能にする。

ownNote

ownNoteはノートアプリ。 Evernoteからインポートすることもできる。

AndroidアプリのownNote - Notes for ownCloudがクライアントになる。

Gallery+

デフォルトで有効になっている、画像のギャラリーを有効にするアプリGalleryに機能を追加したアプリ。 Galleryを無効にしてから、Gallery+を有効にすること。

References

  1. Database Configuration — ownCloud 8.2 Server Administration Manual 8.2 documentation https://doc.owncloud.org/server/8.2/admin_manual/configuration_database/linux_database_configuration.html
  2. MySQL error after reinstall - ownCloud Forums https://forum.owncloud.org/viewtopic.php?t=18670
  3. Configuring Memory Caching — ownCloud 8.2 Server Administration Manual 8.2 documentation https://doc.owncloud.org/server/8.2/admin_manual/configuration_server/caching_configuration.html#id2
  4. Transactional File Locking — ownCloud 8.2 Server Administration Manual 8.2 documentation https://doc.owncloud.org/server/8.2/admin_manual/configuration_files/files_locking_transactional.html
  5. Background Jobs — ownCloud 10.0.3 Server Administration Manual 10.0.3 documentation https://doc.owncloud.org/server/10.0/admin_manual/configuration/server/background_jobs_configuration.html
  6. Setting Permissions for Updating https://doc.owncloud.org/server/9.0/admin_manual/maintenance/update.html#setting-permissions-for-updating
  7. Setting Strong Directory Permissions https://doc.owncloud.org/server/9.0/admin_manual/installation/installation_wizard.html#setting-strong-directory-permissions
  8. Einen Kalender aus ownCloud in Thunderbird Lightning integrieren - YouTube https://www.youtube.com/watch?v=b6qdkmKCqug