CentOS7のownCloud7イメージ作った

* [owncloudのリポジトリ](http://software.opensuse.org/download/package?project=isv:ownCloud:community&package=owncloud)
* [クライアント証明書を要求するサイトの構築（Apache+OpenSSL）](http://qiita.com/tukiyo/items/b5e8b3efce800b0fd269)推奨

# ownCloud7のdockerイメージ作った

* [tukiyo3/centos7-owncloud](https://registry.hub.docker.com/u/tukiyo3/centos7-owncloud/)

```bash:使い方
docker run --privileged -it -d -p 8080:80 \
  --name owncloud tukiyo3/centos7-owncloud
docker exec -it owncloud bash

mysqladmin -uroot create owncloud
```

* http://docker-ip:port/owncloud でアクセスができる。

![owncloud.png](https://qiita-image-store.s3.amazonaws.com/0/25728/51d7a185-0494-b5e6-10ca-24762bb86e0c.png)

# ドメイン変更対応

/var/www/html/owncloud/config/config.php
でドメイン名が定義されているので修正。

# samba4対応

```bash:ポート445の接続を有効にする
docker run --privileged -it -d \
  -p 445:445 -p 8080:80 \
  --name owncloud tukiyo3/centos7-owncloud
```

```bash:パッケージインストール
yum install -y samba
systemctl enable smb
systemctl start smb
```

```bash:/etc/samba/smb.conf
[global]
        workgroup = MYGROUP
        server string = Samba Server Version %v
        log file = /var/log/samba/log.%m
        max log size = 50
        load printers = no
        disable spoolss = yes
        hosts allow = 192.168.100.

[owncloud]
        comment = owncloud files
        browseable = Yes
        path = /var/www/html/owncloud/data/admin/files
        writeable = Yes
        force create mode = 0664
        force directory mode = 0775
        valid users = apache
```

```bash:/etc/sysconfig/samba
SMBDOPTIONS="-D"
```

```bash:apacheユーザで接続するためのパスワードを設定
pdbedit -a -u apache
```

* apache : パスワード で読み書きができることを確認。

# samba4のエラーとその対処

## エラー1

> Unable to connect to CUPS server localhost:631 - Transport endpoint is not connected

```bash:/etc/samba/smb.conf
[global]
load printers = no
disable spoolss = yes
```

## エラー2

> standard input is not a socket, assuming -D option

```bash:/etc/sysconfig/samba
SMBDOPTIONS="-D"
```


パッケージインストール
===========

* カレンダーの共有は読み取り専用。
  同一アカウントで複数カレンダーを作り、CalDavで読み書きしてもらうとよい。

```bash:mod_davを有効化
$ cd /etc/apache2/mods-enabled
$ sudo ln -s ../mods-available/dav.load .
$ sudo ln -s ../mods-available/dav_fs.conf .
$ sudo ln -s ../mods-available/dav_fs.load .
$ sudo /etc/init.d/apache2 restart
```

```bash:webdav認証用パスワード作成
$ htpasswd -c /etc/apache2/.htpasswd ownclouduser
```

```diff:/etc/apache2/sites-enabled/000-default
# すいません、以下の状態ではwebdav動作しません。
+       <Directory /var/www/owncloud/data/>
+               Options Indexes FollowSymLinks MultiViews
+               AllowOverride All
+               Order deny,allow
+               deny from all
+               allow from 192.168.100.
+               DAV on
+               Require valid-user
+               AuthType        Basic
+               AuthName        "WebDAV"
+               AuthUserFile    "/etc/apache2/.htpasswd"
+       </Directory>
```

他のアプリを追加
===========

[File Tree](http://apps.owncloud.com/content/show.php/Files+Tree?content=155479)を入れてみよう。

```bash:
$ git clone https://github.com/EELV-fr/Owncloud-Files_tree.git
$ sudo mv Owncloud-Files_tree  /var/www/owncloud/apps/files_tree
```

* フォルダ名はREADMEに書いてあるものに設定しないと有効になりません。（今回はfiles_tree）


[EditDoc](http://www.toolstogether.nl/pivot/entry.php?id=22)を入れてみよう。

```bash:
$ git clone https://github.com/EELV-fr/Owncloud-Files_tree.git
$ sudo mv editdoc /var/www/owncloud/apps/editdoc
```