Ubuntu14(VPC)とPHP5.6とownCloud10で俺専用ファイルサーバを構築する

普段LinuxMintを使っているのですが、LinuxにはGoogleDriveやOneDrive用のまともなクライアントツールというものがなく、泣く泣くレンタルサーバでownCloudを構築するという記事です。基本的には以下公式サイトの手順を参考に試してみました。
https://doc.owncloud.org/server/latest/admin_manual/
※一応、DropBoxは公式のLinuxクライアントツールがあります。が、無料で使用できる容量が2GBと現在ではちょっと厳しい容量です

#環境
- Ubuntu 14.04 LTS 64bit (DTI ServersMan@VPC Entry)
- PostgreSQL 9.6 (ownCloud10はPostgreSQL10にはまだ対応していないようです)
- Apache 2
- PHP 5.6
- LinuxMint 18 Cinnamon

#パッケージのインストール

```command:command
# add-apt-repository コマンドのインストール
sudo apt-get install apt-file
sudo apt-file update
sudo apt-get install software-properties-common
```

##PostgreSQLのインストール
(公式はMariaDB推しみたいだけどごめんなさい)

```command:command
# Ubuntu14(trusty)向けのPostgresリポジトリ追加
sudo add-apt-repository "deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main"
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-9.6 postgresql-contrib
```

```command:command
# ユーザ確認用コマンドfingerのインストール
sudo apt-get install finger
# postgresユーザへのパスワード設定
sudo passwd postgres

# Postgresサービスの起動と確認
service postgresql start
service postgresql status
```

Postgres用のユーザ設定(仮にmintとする)

```command:command
# linuxにユーザ'mint'を追加
sudo adduser mint

# ユーザ'postgres'にスイッチ・パスワード設定
su postgres
psql -c "alter user postgres with password 'password'"

# postgresにユーザ'mint'を追加・パスワード設定
createuser mint
psql -c "alter user mint with password 'mint'"

# ただ、結局このユーザは使わなかった。。たぶん使っても動くんだろうけど。
```

##PHPのインストール

```command:command
# ownCloud10はPHP5.6以上が必要なためリポジトリを追加(ロケールで失敗する場合があるのでロケール追加)
sudo locale-gen en_US.UTF-8
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y php5.6

# ownCloud10に必須のモジュール類を追加
sudo apt-get install -y php5.6-zip php5.6-dom php5.6-mbstring \
  php5.6-gd php5.6-curl php5.6-pgsql

# apache2のインストール,起動
sudo apt-get install -y apache2 libapache2-mod-php5.6
service apache2 restart
```
#管理画面表示
以下にアクセスする
http://[ホスト名]/owncloud

こんな感じの画面が表示されれば成功です。
PHPのモジュールが足りないとこの画面で叱られますので、インストールしておいて下さい。
![Screenshot-2017-11-19 ownCloud.png](https://qiita-image-store.s3.amazonaws.com/0/181357/85dac505-6ae0-895e-e523-2bb1a08ac164.png)

管理者アカウントやDBユーザにはpostgresユーザのアカウントを設定しておきます。
「セットアップを完了します」ボタンを押下すると、以下のようなダイアログが表示されます。「Desktop app」を選択してみます。
![Screenshot-2017-11-19 ファイル - ownCloud.png](https://qiita-image-store.s3.amazonaws.com/0/181357/b583ea93-eed7-14d6-2c7c-f49d14cb15cc.png)

Linux-Ubuntuと選択していきます。
![Screenshot-2017-11-19 Getting Started with ownCloud ownCloud org.png](https://qiita-image-store.s3.amazonaws.com/0/181357/0d8148dc-5266-1ea9-0b18-b3ff71cc9cb5.png)

![Screenshot-2017-11-19 software opensuse org パッケージのインストール isv ownCloud desktop owncloud-client.png](https://qiita-image-store.s3.amazonaws.com/0/181357/a4c74faf-fca7-7dbe-c02a-980b4b5a446b.png)

LinuxMint18はUbuntu16.04ベースなので、以下のコマンドでクライアントツールをインストール。

```command:command
wget -nv https://download.opensuse.org/repositories/isv:ownCloud:desktop/Ubuntu_16.04/Release.key -O Release.key
sudo apt-key add - < Release.key
sudo apt-get update

sudo sh -c "echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Ubuntu_16.04/ /' > /etc/apt/sources.list.d/owncloud-client.list"
sudo apt-get update
sudo apt-get install owncloud-client
```

インストールが完了したらクライアントツールを起動します。
ownCloudサーバのIPやホスト名を入力します。
![Screenshot from 2017-11-19 15-51-55.png](https://qiita-image-store.s3.amazonaws.com/0/181357/e197a438-3df7-ccc8-b9a3-6dcaf95cce11.png)

次にクライアントアプリ用のID,パスワード入力欄になりますが、「ここをクリック」をクリックしてみます。
![Screenshot from 2017-11-19 15-55-37.png](https://qiita-image-store.s3.amazonaws.com/0/181357/2943f80c-0d8b-90f1-8ca3-11908503ef20.png)

クライアントアプリ用のID/パスワードを設定する画面が表示されます。
アプリ名に適当に名称を入れて、「新しいアプリパスワードを作成」するとID,パスワードが表示されますので、それをクライアント側で入力します。
![Screenshot-2017-11-19 設定 - ownCloud.png](https://qiita-image-store.s3.amazonaws.com/0/181357/8f9ad458-0e48-66d1-6179-f5bfc1733111.png)

認証されると以下のように同期フォルダを指定する画面になりますので、任意に設定し、接続ボタンを押下してください。
![Screenshot from 2017-11-19 16-03-34.png](https://qiita-image-store.s3.amazonaws.com/0/181357/ff25d79e-568b-9dbc-12f7-044f267db49b.png)

これで全ての設定が完了しました！ Finishを押して終了です。
![Screenshot from 2017-11-19 16-09-20.png](https://qiita-image-store.s3.amazonaws.com/0/181357/f585c314-3fb5-7c72-b037-7b909a6ccb78.png)

設定した同期用フォルダにファイルを配置し、サイト上に同期できる事を確認してください。

#最後に
一通り動作確認できたら、ログインアカウントの整備やSSL設定をした方がよいです。
また、公開フォルダの権限設定などもしろと公式で言っています。
https://doc.owncloud.org/server/latest/admin_manual/installation/installation_wizard.html#post-installation-steps
また確認ができたら書いてみたいと思います。

※ちなみに、画面ショットを取る際にはFirefoxのスクリーンショット機能がとても役に立ちました！ 最近新しくなったFirefox Quantum, 超オススメです。