CentOS7.3 にowncloudを入れる場合,いろいろ分からないことがあったのでメモ.ここでは全て書かずに,ポイントだけ書きます
概要とポイント
- yum などで必要なプログラムはインストールしておく
- mysqlなどでowncloud DBを owncloudユーザからアクセスできるようにする
- owncloud自身もソースではなく,yumで入れた (9.1.5が入った (2017/12現在))
- CentOS7.3のコンソール画面で(VNC) firefoxを立ち上げlocalでアクセス
- adminなどでログインして動くことを確認
以上までの手続きは下記あたりを参考にした (リンクは切ってます)
http://blog.livedoor.jp/rappazubon/archives/52202106.html
(http://noaboutsnote.hatenablog.com/entry/owncloud90#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB)
ところが,他のパソコンから画面が見えない..ここからがこのページの本題
localhost以外のアクセスでのエラー
例えば
http://192.168.1.30/owncloud
などipaddressや
http://owncloud/owncloud
などドメインでアクセスした場合に下記のようなエラーが出ました.
You don't have permission to access /owncloud on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
アクセスできない.これは実はpermissionのせいでは無く,意図して出されているようです.
yum でインストールした
の方法で入れたところ owncloud 9.1.5がインストールされました.
このとき,上記のエラーに関連する設定ファイルは下記です.
/etc/httpd/conf.d/owncloud.conf
そしてowncloud.confを読むと,改変しないことと外部からアクセスするときはシンボリックリンクを作るように指示が出ています.なのでそれを作成
cd etc/httpd/conf.d/ ln -s /etc/httpd/conf.d/owncloud-access.conf.avail /etc/httpd/conf.d/z-owncloud-access.conf systemctl restart httpd
これで,http://192.168.1.30/owncloud など,localhost以外のマシンからアクセスしても上記のエラーは出なくなりました.
しかし,アクセスすると今度は trusted domain ではない下記のようなエラーが出ます.
(信頼されないドメインからサーバーにアクセスしています)
このtrustedの意味が上記の日本語のメッセージと異なり実は「owncloud2」というホスト名が問題でこれを登録することが解決方法となります.
(注: 上記のエラーメッセージ(日本語)では,アクセス元のパソコンのドメインが問題のように解釈できますが違うようです)
上記の問題に関連するファイルは
/usr/share/owncloud/config/config.php
で関連する部分はここです
'trusted_domains' => array ( 0 => 'localhost', ),
ここがlocalhostという名前しか登録してないので http://localhost/owncloudという名前しか受け付けないというものです.前の0などの数字を増やしながらいくらでもかけるようです.しかし,このファイルは直接書き込むことは推奨されていません.owncloudが自分で書きに来ます.
上記のtrusted domainのエラーが出ると同時に「owncloud2を信頼できるドメイン名に追加」とあります.押してもアクセスできないのでエラーになります.なのでそのリンクだけコピーします.
そしてVNCなど,owncloudサーバのコンソール上でfirefoxを立ち上げて先ほどのパスを投入します.すると下記のように信頼するけど「ok」ですかと尋ねられるのでokを押すと外部からアクセスできます.
よってこの変更は例えば http://192.168.1.30/owncloudでもアクセスしたい場合はこれも同様に登録する必要があります.
さて,上記の変更後さきほどの
/usr/share/owncloud/config/config.php
を確認すると追加されていることがわかります.
'trusted_domains' => array ( 0 => 'localhost', 1 => 'owncloud2', 2 => '192.168.1.30', ),
なので確認はしてないですが,これを直接書いても同様にアクセスできると思います.
また3,4などさらに違う名前でアクセスしたい場合は増やせるようです.