サーバー

ownCloud on スターサーバー(旧ウェブクロウ)

レンタルサーバーって、10GBとか30GBとか容量があるけど、ぶっちゃけ普通のWEBサービスじゃ1GBも使わないよね?っていう人にお勧めなのが、プライベートなDropbox的なサイトを構築できる「ownCloud」。

今回は、趣味用サーバーとしてレンタルしてる激安サーバー・スターサーバー(旧ウェブクロウ)で、ownCloudを構築してみました。

WEBインストーラーでowncloudをインストール

ownCloud Webインストーラーをダウンロードなり、テキストエディタなりで保存して、サーバーにアップ。

http://webアドレス/setup-owncloud.php

にアクセスするとインストーラーがガイドをしてくれます。

しかし、最新版だとライブラリ関連でエラー

上記のWEBインストーラーは、ownCloudの最新版を自動でインストールしてくれるのですが、スターサーバー(旧ウェブクロウ)の場合は最新版(この時点でバージョン9系)では、ライブラリ関連でエラーがでます。

ownCloud 8系だと.htaccess関連でエラー

では、古いバージョンをインストールということで、8系にチャレンジ。しかし、こちらだと.htaccess関連で500 internal server errorに。

エラーログを見れば、どこがダメなのかわかるんですが、ウェブクロウはログ閲覧ができないので、原因はわからず。ネットでは「Options -Indexes」をコメントアウトすればOKと言う情報が多かったですが、ウェブクロウではエラーが出ます。

ウェブクロウで使えたownCloudのバージョンは「7.0.15」

さて、さらにバージョンを下げて、バージョン7系でテストしたところ、無事にインストールが完了しました。

ownCloud Changelogから、古いバージョンをダウンロードして、アップするか、WEBインストールスクリプトのダウンロードファイルを7.0.15に変更して使います。

WEBインストールの場合

WEBインストーラーの中身を、下記のように編集(144行目あたり)。

[php]
if (!file_exists('oc.zip')) {
  $error .= Setup::getFile('https://download.owncloud.org/community/7.0/owncloud-7.0.15.zip','oc.zip');
}
[/php]

.htaccessの記述

[bash]
<ifmodule mod_fcgid.c="">
    <ifmodule mod_setenvif.c="">
        <ifmodule mod_headers.c="">
        SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
        RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
        </ifmodule>
    </ifmodule>
</ifmodule>

ErrorDocument 403 /core/templates/403.php
ErrorDocument 404 /core/templates/404.php

<ifmodule mod_php5.c="">
    php_value upload_max_filesize 513M
    php_value post_max_size 513M
    php_value memory_limit 512M
    php_value mbstring.func_overload 0
    <ifmodule env_module="">
    SetEnv htaccessWorking true
</ifmodule>
</ifmodule>
<ifmodule mod_rewrite.c="">
    RewriteEngine on
    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteRule ^.well-known/host-meta /public.php?service=host-meta [QSA,L]
    RewriteRule ^.well-known/host-meta.json /public.php?service=host-meta-json [QSA,L]
    RewriteRule ^.well-known/carddav /remote.php/carddav/ [R]
    RewriteRule ^.well-known/caldav /remote.php/caldav/ [R]
    RewriteRule ^apps/calendar/caldav.php remote.php/caldav/ [QSA,L]
    RewriteRule ^apps/contacts/carddav.php remote.php/carddav/ [QSA,L]
    RewriteRule ^apps/([^/]*)/(.*\.(php))$ index.php?app=$1&getfile=$2 [QSA,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
</ifmodule>
<ifmodule mod_mime.c="">
    AddType image/svg+xml svg svgz
    AddEncoding gzip svgz
</ifmodule>
<ifmodule dir_module="">
    DirectoryIndex index.php index.html
</ifmodule>
AddDefaultCharset utf-8
<ifmodule pagespeed_module="">
    ModPagespeed Off
</ifmodule>
[/bash]

あとは、「http://webアドレス」にアクセスすればOKです
ちなみに、データベースはSQLITEはめちゃくちゃ遅いので、MYSQLをお勧めします。

そういえば、ウェブクロウは、新しくできた「スターサーバー」に統合されるとか。SSLも無料になって、クラウドサービス的に、サーバーを簡単アップグレードできるとか。

ただ、スターサーバーでは一番安いプランでMYSQLが使えないので、そこは微妙ですね。