プロジェクト

全般

プロフィール

owncloud8 補足

基本的にはownCloud7と同じ手順でインストールすることが出来ますが、そのままではインストール後に
次のような警告が表示されています。このままでも利用することは可能ですが、念のため対策します。

ログのタイムゾーンの変更

設定ファイルを編集します。
  • /usr/local/owncloud/config/config.php
      'logtimezone' => 'Asia/Tokyo',
    

cURLの問題

  • このサーバーはインターネットに接続していません。この場合、外部ストレージのマウント、更新の通知やサードパーティ製のアプリ、といった一部の機能が利用できません。また、リモート接続でのファイルアクセス、通知メールの送信のような機能も利用できないことがあります。すべての機能を利用するには、このサーバーのインターネット接続を有効にすることをお勧めします。
  • cURL is using an outdated NSS version (NSS/3.15.4). Please update your operating system or features such as installing and updating apps via the app store or Federated Cloud Sharing will not work reliably.

RHELのバグとしてフォーラムに記載されていた。現時点では修正されておらず、ソースコンパイルで
色々やったけれど上手くいかないので新しいバージョンのパッケージを利用します。

  • リポジトリの追加
    # rpm -Uvh http://www.city-fan.org/ftp/contrib/yum-repo/city-fan.org-release-1-13.rhel7.noarch.rpm
    
  • 追加リポジトリがデフォルト有効化しないようにする
    vi /etc/yum.repos.d/city-fan.org.repo 
    
    それぞれ「enable=1」の部分を「enable=0」にする。
    
  • libcurlの更新
    # yum --enablerepo=city-fan.org install libcurl
    
  • Apacheのリスタート
    # systemctl restart httpd
    

再度アクセスし、エラーが消えていることを確認します。

Apacheの設定パラメータの問題

  • "Strict-Transport-Security" HTTP ヘッダが最小値の "15768000" 秒に設定されていません。 セキュリティを強化するため、security tipsを参照して、HSTS を有効にすることをおすすめします。

Apacheの「/etc/httpd/conf.d/ssl.conf」を編集し、サービスを再起動する。

<IfModule mod_headers.c>
  Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" 
</IfModule>

PHPのバージョンの問題

  • ご利用のPHPのバージョン (5.4.16) は、PHPでサポート されていません。 我々は、PHPから提供されている新しいバージョンにアップグレードし、それによるセキュリティの確保とパフォーマンスのメリットを受けられることを強くお勧めします。

標準のphpだとまずこうなってしまうので、epelとremiを使用してphp5.6を導入します。ただし、
他のシステムのバージョン依存に気をつける必要があるため、この解決を見送ることも手です。

  • 必要パッケージ
    yum install epel-release
    
  • remiリポジトリの追加
    wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
    
  • 追加リポジトリがデフォルト有効化しないようにする
    vi /etc/yum.repos.d/remi-safe.repo 
    vi /etc/yum.repos.d/epel.repo
    
    それぞれ「enable=1」の部分を「enable=0」にする。
    
  • 既存のphpを削除(apacheのphp.confが消えるのでバックアップすること)
    # yum remove php*
    
  • php5.6と関連モジュールのインストール(1行で)
    # yum --enablerepo=remi,epel install php56 php56-php  php56-php-cli php56-php-common php56-php-gd php56-php-ldap php56-php-mbstring php56-php-mysqlnd php56-php-pdo php56-php-pecl-jsonc php56-php-pecl-zip php56-php-xml php56-runtime
    
    バージョン確認(php56というコマンドになるので注意)
    # php56 -v
    
  • PHP設定の変更
    新たに作成されるphp.iniにOwncloudのインストールに必要な設定を改めて記載する。
  • /opt/remi/php56/root/etc/php.ini
    default_charset = "UTF-8" 
    date.timezone = Asia/Tokyo
    
    memory_limit = 512M
    post_max_size = 256M
    upload_max_filesize = 256M
    
  • Apacheのリスタート
    # systemctl restart httpd
    

PHPのメモリキャッシュの問題

  • メモリキャッシュが設定されていません。パフォーマンスを向上するために、可能であれば memcache を設定してください。 より詳しい情報については、documentation を参照してください。
  • パッケージのインストール
    # yum --enablerepo=remi install php56-php-pecl-apc
    
リンク先に記載のあるとおり設定ファイルを編集します。
  • /usr/local/owncloud/config/config.php
    下記を追加
      'memcache.local' => '\OC\Memcache\APC',
    
  • Apacheのリスタート
    # systemctl restart httpd
    

トランザクションファイルのロック機能

  • Transactional file locking is using the database as locking backend, for best performance it's advised to configure a memcache for locking. See the documentation ↗ for more information.
  • 必要パッケージのインストール
    # yum install php56-php-pecl-redis --enablerepo=remi
    # yum install redis --enablerepo=epel
    
    # systemctl enable redis
    # systemctl start redis
    
リンク先に記載のあるとおり設定ファイルを編集します。
前述のAPCによるメモリキャッシュもRedisに任せるようにします。
  • /usr/local/owncloud/config/config.php
      'memcache.local' => '\\OC\\Memcache\\Redis',
      'filelocking.enabled' => 'true',
      'memcache.locking' => '\\OC\\Memcache\\Redis',
      'redis' =>
      array (
        'host' => '127.0.0.1',
        'port' => 6379,
        'timeout' => 0,
        'dbindex' => 0,
      ),
    
  • Apacheのリスタート
    # systemctl restart httpd
    

Cronの登録

標準では1時間以上の間隔でのアクセス時にサマリを送信するので送信時間が不定になりやすく、通知
としては使いにくい面がある。管理者設定でアクセス時の通知からCronに切替、以下のコマンドで
owncloudディレクトリ直下にある「cron.php」のCronの登録を行う。

# crontab -u apache -e
*/15 * * * * php56 -f /usr/local/owncloud/cron.php

上記の設定の場合アクティビティがあれば15分間隔で通知が発行される。