OwnCloud9

Материал из ALT Linux Wiki

За более подробной информацией вцелом по сервису ownCloud можете обратиться сюда или сюда

Запуск облачного сервиса ownCloud (9 версия)

Свежий ownCloud (на момент написания статьи - версия 9.1.3) можете найти в Sisyphus

apt-get install owncloud9

Настройка с использованием web-сервера Apache2

1. Установите соответствующий пакет:

apt-get install owncloud9-apache2

Частью его установки является дефолтный файл настроек виртуального хоста owncloud9. Ознакомиться с ним можете здесь. Изменить его под свои нужды нужно здесь - /etc/httpd2/conf/sites-available/owncloud9.conf

Также он автоматически включает этот хост в разрешенные, открывает порт 443 для доступа по HTTPS, и включает все необходимые модули (для оптимальной работы сервиса):

a2ensite owncloud9
a2enport https
a2enmod ssl
a2enmod rewrite
a2enmod env
a2enmod headers

2. Добавьте сервис Apache2 в автозагрузку:

chkconfig httpd2 on

3. Настройка сервиса кэширования memcached:

  • приведите файл /etc/sysconfig/memcached к виду:
# Running on Port 11211
PORT="11211"
# Start as memcached daemon
USER="memcached"
# Set max simultaneous connections to 1024
MAXCONN="1024"
# Set Memory size to 2048 - 4GB(4096)
CACHESIZE="2048"
#Set server IP address
OPTIONS="-l 127.0.0.1"
  • добавьте сервис в автозагрузку и запустите его:
chkconfig memcached on && service memcached start

4. Настройка доступа по https.

Так как модули rewrite и ssl включены, остается только сгенерировать самоподписанный сертификат для сервера (CN обязательно нужно указать - IP или FQDN вашего сервера):

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /var/lib/ssl/private/owncloud.key -out /var/lib/ssl/certs/owncloud.pem

5. Запускаем web-сервер (service httpd2 start) и открываем в браузере страницу сервера - www.example.com (должно автоматически переадресовать на 443 порт).

6. После ввода логина/пароля администратора необходимо выбрать тип используемой БД - по умолчанию это SQLite. Однако при этом ownCloud выдаст предупреждение о производительности:

В качестве базы данных будет использована SQLite. Для крупных проектов мы советуем выбрать другой тип базы данных. В частности не рекомендуется использовать SQLite при синхронизации файлов с использованием клиента для ПК.

Другими вариантами являются MySQL/MariaDB и PostgreSQL. Однако они будут доступны только при установленных PHP-модулях: php5-pdo_mysql для MySQL/MariaDB и php5-pgsql, php5-pdo_pgsql для PostgreSQL - по этому поводу также будет сообщение:

Доступен только SQLite. Установите и активируйте дополнительные модули PHP для возможности выбора других типов баз данных."

MySQL для ownCloud:

apt-get install MySQL-server php5-pdo_mysql # устанавливаем необходимые пакеты для MySQL
chkconfig mysqld on && service mysqld start # добавляем сервис в автозагрузку и запускаем его
mysql -u root # запускаем консоль mysql для установки пароля на пользователя root
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('111111');
mysql> quit;

7. Донастройка ownCloud 9. Откройте файл /etc/owncloud9/config/config.php и внесите в него необходимые изменения.

  • настраиваем кэширование:
  'maintenance' => false,
  'loglevel' => '3',
  'memcache.local' => '\OC\Memcache\Memcached',
  'memcache.distributed' => '\OC\Memcache\Memcached',
  'memcached_servers' => array(
     array('localhost', 11211),
     ),
  • желательно указать временную папку (предварительно ее нужно создать - mkdir -m666 /tmp/cloud_tmp_dir):
  'tempdirectory' => '/tmp/cloud_tmp_dir',
  • можно настроить "красивый урл" (www.example.com/apps/files/ вместо www.example.com/index.php/apps/files/) - актуально только для apache2, в nginx так "с коробки":
  'overwrite.cli.url' => 'https://www.example.com',
  'htaccess.RewriteBase' => '/',
Примечание: Для быстрого применения данной настройки нужно выполнить команду:

sudo -u apache2 /var/www/webapps/owncloud9/occ maintenance:update:htaccess

Предварительно нужно дать руту права sudo. Подробнее здесь


Настройка с использованием web-сервера nginx

1. Установите соответствующий пакет:

apt-get install owncloud9-nginx

Частью его установки является дефолтный файл настроек виртуального хоста owncloud9, который был взят с сайта документации и актуализирован под Альт и имеющийся пакет owncloud9. Ознакомиться с ним можете здесь.

2. Добавьте сервис nginx в автозагрузку:

chkconfig nginx on

Так как php5-fpm-fcgi не обязан быть на той же машине, что и nginx, пункты 3-5 необходимы только в случае связки nginx+PHP-FPM на одном и том же хосте. В противном случае нужно изменить php-handler в /etc/nginx/sites-available.d/owncloud9.conf на необходимый.

3. Добавьте сервис php5-fpm в автозагрузку:

chkconfig php5-fpm on

4. Для ownCloud необходимо подправить настройки php5-fpm. Для этого раскомментируйте в файле /etc/fpm/php5-fpm.conf следующие строчки:

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

5. Запускаем службу php5-fpm:

service php5-fpm start

6. Настраиваем сервис memcached (см. выше пункт 3 настройки apache2)

7. Сгенерируйте самоподписанный сертификат для использования https (см. выше пункт 4 настройки apache2)

8. Измените под свой сервер файл настроек - /etc/nginx/sites-available.d/owncloud9.conf. И подключите данную конфигурацию:

ln -s /etc/nginx/sites-available.d/owncloud9.conf /etc/nginx/sites-enabled.d/

9. Запускаем web-сервер service nginx start и открываем в браузере страницу сервера - cloud.example.com (должно автоматически переадресовать на 443 порт).

10. См. выше с пункта 6 настройки apache2