ownCloud/NextcloudでAutoconfig!


ownCloud/Nextcloud Japan Advent Calendar 2016 - Qiita
http://qiita.com/advent-calendar/2016/owncloudjp
の24日目です。

Stylez Advent Calendar 2016 - Qiita
http://qiita.com/advent-calendar/2016/stylez

株式会社スタイルズの Adventカレンダー 24日目も兼ねてます。

ownCloud/Nextcloud のセットアップ自動化なんて必要としている人はまあ、ほとんどいないよね、とか思いつつ書いてみます。
#ネタがないんですよ。。

1. 通常の動作

普通は、ownCloud/(Nextcloudも同様、以下略) のRPMをインストールしてブラウザーでURLを叩くと一番最初に以下のような画面がでてきます。

上記は、DBを指定している画面。

管理者IDとパスワードを入力して、データフォルダーを指定して、データベースを指定しないと次に進むことはできません。

さらに、データベース接続IDとかパスワードを間違えると大変面倒なことになります。

2. ぶっちゃけ面倒ですよね。

どうせ、セットアップしたときに

  • データフォルダー
  • データベースのIPアドレス
  • データベースの接続ID
  • データベースの接続パスワード

は決まっているんですから、入力しなくてもいいですよね。

3. autoconfig.php で自動化!

まず、以下のようなファイルを用意します。

autoconfig.php
<?php
$AUTOCONFIG = array(
  "dbtype"        => "mysql",
  "dbname"        => "<データベース名を指定>",
  "dbuser"        => "<データベースの接続ID>",
  "dbpass"        => "<データベースの接続パスワード>",
  "dbhost"        => "<データベースのIPアドレス>",
  'dbtableprefix' => 'oc_',
  /* date format to be used while writing to the owncloud logfile */
  'logdateformat' => 'Y-m-d H:i:s',
  /* timezone used while writing to the owncloud logfile (default: UTC) */
  'logtimezone' => 'Asia/Tokyo',
#  "adminlogin"    => "<管理者ID>",
#  "adminpass"     => "<管理者パスワード>",
);

このファイルを
ownCloudのconfig ディレクトリに設置します。
パーミッションは、Webサーバーの実行権限に合わせてください。

4. ブラウザーをリロードします。

opcacheを使っている場合は、Webサーバー(or php-fpm)をリスタートした方が良いかもしれません。


ほら!こんなにスッキリ!

※注:スクリーンショットがNextcloudになっていますが、autoconfig.phpを入れたらNextcloudになるわけではありません。