18
ownCloud 9.0 と php7.0 と とと ownCloud ととととと ととととととととと 2016 年 4 年 12 年 2017/1/27 年年年

ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

Embed Size (px)

Citation preview

Page 1: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

ownCloud 9.0 と php7.0 で爆速 ownCloud を

構築しよう

株式会社スタイルズ

2016 年 4 月 12 日

2017/1/27改訂版

Page 2: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

2

本スライドのチューニング解説を別スライドで公開しています。ownCloud のあれこれ July Tech Festa 2016

http://www.slideshare.net/ttyno/owncloud-july-tech-festa-2016

2017/1/27追記

Page 3: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

4

ownCloud クラウド主催ストレージイベントEnterprise Storage Now

2017/1/27追記

セキュリティ要件を満たす専用オンラインストレージ「 ownCloud 」日本唯一の公式パートナーであるスタイルズが、パートナーとしての活動をはじめて 3 年の節目に、ストレージのリーディングカンパニー各社様と共同で、企業・学術機関の方々のために最新ストレージ戦略・最新動向をお伝えするイベントです。

【開催日時】: 13:30 ~ 18:30(12:45 受付開始 )【場所】:レッドハット株式会社 セミナールーム  渋谷区恵比寿 4-1-18 恵比寿ネオナート 5階【参加費】:無料

※ お申し込みはイベントサイトからお願いいたします。※ お申し込み者多数の場合は、抽選を行います。抽選結果は E メールにてご登録時のアドレスにお送りいたします。https://owncloud.jp/event

Page 4: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

5

目次はじめにインストール環境nginx 1.8 のインストールと設定Redis のインストールと設定MariaDB の設定とインストールPHP7.0 のインストールと設定ownCloud9 のインストールと設定

Page 5: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

6

はじめにownCloud 9.0 が 2016 年 3 月にリリースされました。

このバージョンは、 PHP7 に正式に対応したバージョンとなっています。

PHP7 は旧来の PHP にくらべて 2 倍以上のパフォーマンスを誇るリリースとなっており、 ownCloud との組み合わせにより爆速 ownCloud を構成することができます。 *1 *2

SoftLayer の最小インスタンス (2vCPU 、 1GB Memory)でどこまでサクサク動く ownCloud を構築できるかにチャレンジします。

*1 体感には個人差があります。*2 高負荷での動作を保証するわけではありません。

Page 6: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

7

環境 SoftLayer の最小インスタンス (2vCPU 、 1GB Memory) を

利用します。 リージョンは、 tok02 OS は、 CentOS 7(64bit) を利用します。 Disk は最小構成(必要に応じて追加してください。) SoftLayer インスタンスのデプロイについてはされているも

のとします。 root 権限で操作するものとします。 SELinux は、 Permissive に設定するものとします。 Firewall は、 disable に設定するとします。 ownCloud が何かについては、ここでは述べません。 MariaDB サーバーのチューニングについては、ここでは述

べません。

Page 7: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

8

nginx 1.8 のインストール# yum install –y http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm# yum install –y --enablerepo=nginx nginx# mkdir -p /etc/nginx/ssl/# openssl dhparam 2048 -out /etc/nginx/ssl/dhparam.pem# openssl ecparam -out /etc/nginx/ssl/prime256v1.pem -name prime256v1# wget https://gist.githubusercontent.com/ynott/a19623d87af406b125874396a0f8dba0/raw/420b687ff8a05a7ace1e361bf1bbace75d3bee19/owncloud.conf -O /etc/nginx/conf.d/owncloud.conf# yum install -y mod_ssl# systemctl enable nginx# systemctl is-enabled nginx

2016/10/27 追記

Page 8: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

9

Redis のインストールと設定# yum install -y redis# sed -i.bak -e s'/^save/#save/' /etc/redis.conf# service redis restart# systemctl enable redis# systemctl is-enabled redis

2016/10/27 追記

Page 9: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

10

MariaDB のインストールと設定# vi /etc/yum.repos.d/MariaDB.repo以下のように入力する----[mariadb]name = MariaDBbaseurl = http://yum.mariadb.org/10.0/centos7-amd64gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDBgpgcheck=1----# yum install -y MariaDB-server MariaDB-client

Page 10: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

11

MariaDB の設定# vi /etc/my.conf.d/server.conf[mysqld] の次の行に以下を追記----transaction-isolation=READ-COMMITTED----# service mysql start# mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';> CREATE DATABASE IF NOT EXISTS owncloud;> GRANT ALL PRIVILEGES ON owncloud.* TO 'username'@'localhost' IDENTIFIED BY 'password';> quit

password は変更をお願いします。

Page 11: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

12

PHP7.0 のインストール# yum install -y epel-release# yum install -y http://rpms.famillecollet.com/enterprise/remi-release-7.rpm# yum install -y --enablerepo remi-php70 php php-fpm php-gmp \ php-mbstring php-mbstring php-mcrypt php-mysqlnd php-opcache \ php-pear-Net-Curl php-pecl-apcu-bc php-pecl-redis php-pecl-zip \ php-soap php-intl php-ldap php-gd

Page 12: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

13

PHP7.0 の設定 (1)# sed -i.bak -e 's/files$/redis/g' /etc/php-fpm.d/www.conf# sed -i -e 's#/var/lib/php/session#"tcp://localhost:6379"#g' /etc/php-fpm.d/www.conf# sed -i -e 's/= apache/= nginx/g' /etc/php-fpm.d/www.conf# sed -i -e 's/;listen.owner = nobody/listen.owner = nginx/g' /etc/php-fpm.d/www.conf# sed -i -e 's/;listen.group = nobody/listen.group = nginx/g' /etc/php-fpm.d/www.conf# sed -i -e 's#listen = 127.0.0.1:9000#listen = /var/run/php-fpm/php-fpm.sock#g' /etc/php-fpm.d/www.conf# sed -i -e 's#;env\[PATH\].*#env\[PATH\] = /sbin:/bin:/usr/sbin:/usr/bin#g' /etc/php-fpm.d/www.conf# sed -i.bak -e 's/;apc.enable_cli=0/apc.enable_cli=1/g' /etc/php.d/40-apcu.ini# sed -i.bak -e 's/;opcache.fast_shutdown=0/opcache.fast_shutdown=1/g' /etc/php.d/10-opcache.ini# sed -i -e 's/;opcache.revalidate_freq=2/opcache.revalidate_freq=600/g' /etc/php.d/10-opcache.ini

Page 13: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

14

PHP7.0 の設定 (2)# vi /etc/php.d/30-mysqli.iniに以下の行を追加する。----mysql.allow_local_infile=Onmysql.allow_persistent=Onmysql.cache_size=2000mysql.max_persistent=-1mysql.max_links=-1mysql.connect_timeout=60mysql.trace_mode=Off----

Page 14: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

15

ownCloud のインストール# rpm --import https://download.owncloud.org/download/repositories/9.0/CentOS_7/repodata/repomd.xml.key# wget http://download.owncloud.org/download/repositories/9.0/CentOS_7/ce:9.0.repo -O /etc/yum.repos.d/ce:9.0.repo# yum clean expire-cache# yum install -y owncloud-files# chgrp -R nginx /var/www/html/owncloud# chown -R nginx /var/www/html/owncloud/{apps,config,data,occ}# service php-fpm restart# service nginx restart# systemctl enable php-fpm# systemctl is-enabled php-fpm

2016/10/27 追記

Page 15: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

16

ownCloud の設定 (1)以下のサイトのhttps://thinkit.co.jp/story/2015/04/27/5755「 3. ownCloud の初期設定」にそって項目を設定します。

※ データフォルダーは、デフォルトでも構いません。/home/data にする場合は、# mkdir /home/data# chown -R nginx:nginx /home/data

Page 16: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

17

ownCloud の設定 (2)# sudo -u nginx /var/www/html/owncloud/occ background:cron# echo $'* * * * * nginx php -f /var/www/html/owncloud/cron.php > /dev/null 2>&1 || logger "cron failed. ret=$? `/bin/awk \'{print $1}\' /proc/$$/cmdline`"' > /etc/cron.d/owncloud-cron-php# vi /var/www/html/owncloud/config/config.phpに以下 を「 ); 」 の前の行に追記----'memcache.distributed' => '\OC\Memcache\Redis','memcache.locking' => '\OC\Memcache\Redis','memcache.local' => '\OC\Memcache\APCu','redis' => array( 'host' => 'localhost', 'port' => 6379, ),----

Page 17: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

18

ownCloud の設定 (3)# sudo -u nginx /var/www/html/owncloud/occ config:system:set logtimezone --value="Asia/Tokyo"# sudo -u nginx /var/www/html/owncloud/occ config:system:set logdateformat --value="Y-m-d H:i:s"

( 補記 ) メモリーを増強して、 MariaDB のチューニングを進めればもう少し早くなると思われる。  nginx にももう少しメモリーを割りあてたい。 高負荷時用には、 kernel の sysctl でチューニングが必要。

Page 18: ownCloud 9 と php 7 で爆速 owncloud を 構築しよう

ownCloud 導入のご相談・お見積もりのお問い合わせ

スタイルズは、 ownCloud の国内唯一の正式パートナーです。

株式会社スタイルズ ownCloud 担当

03-5244-4113電話でのお問い合わせ

受付時間:平日 9 : 00 ~ 17 :00

メールでのお問い合わせ

受付時間: 24 時間受付中

株式会社スタイルズ(旧・株式会社ビーグッド・テクノロジー)〒 101-0052 東京都千代田区神田小川町 1−2 風雲堂ビル 6F http://www.stylez.co.jp http://owncloud.jp

[email protected]

19