OwnCloud9: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 25 промежуточных версий 5 участников)
Строка 1: Строка 1:
За более подробной информацией вцелом по сервису ownCloud можете обратиться [[Owncloud|сюда]] или [https://doc.owncloud.org/ сюда]
= Запуск облачного сервиса ownCloud 9 версии =


= Запуск облачного сервиса ownCloud (9 версия) =
== Первый этап: установка и настройка ПО ==


'''Свежий ownCloud (на момент написания статьи - версия 9.1.3) всегда можете найти в Sisyphus'''
=== Настройка с использованием web-сервера Apache2 ===
apt-get install owncloud9
{{note|Переход на ветку обновлений Sisyphus:
apt-repo rm all
apt-repo add branch Sisyphus
apt-get update
}}
 
== Настройка с использованием web-сервера Apache2 ==


1. Установите соответствующий пакет:
1. Установите соответствующий пакет:
Строка 35: Строка 27:
PORT="11211"
PORT="11211"
# Start as memcached daemon
# Start as memcached daemon
USER="memcached"
RUNAS="memcached"
# Set max simultaneous connections to 1024
# Set max simultaneous connections to 1024
MAXCONN="1024"
MAXCONN="1024"
Строка 41: Строка 33:
CACHESIZE="2048"
CACHESIZE="2048"
#Set server IP address
#Set server IP address
OPTIONS="-l 127.0.0.1"
LISTEN="127.0.0.1"
</pre>
</pre>
*добавьте сервис в автозагрузку и запустите его:
*добавьте сервис в автозагрузку и запустите его:
Строка 52: Строка 44:


5. Запускаем web-сервер ({{cmd|service httpd2 start}}) и открываем в браузере страницу сервера - www.example.com (должно автоматически переадресовать на 443 порт).
5. Запускаем web-сервер ({{cmd|service httpd2 start}}) и открываем в браузере страницу сервера - www.example.com (должно автоматически переадресовать на 443 порт).
=== Настройка с использованием web-сервера nginx ===
1. Установите соответствующий пакет:
apt-get install owncloud9-nginx
Частью его установки является дефолтный файл настроек виртуального хоста owncloud9, который был взят с [https://doc.owncloud.org/server/9.1/admin_manual/installation/nginx_examples.html сайта документации] и актуализирован под Альт и имеющийся пакет {{pkg|owncloud9}}. Ознакомиться с ним можете [http://git.altlinux.org/people/ekorneechev/packages/?p=owncloud9.git;a=blob_plain;f=nginx/default.conf здесь].
2. Добавьте сервис nginx в автозагрузку:
chkconfig nginx on
Так как {{pkg|php7-fpm-fcgi}} не обязан быть на той же машине, что и {{pkg|nginx}}, пункты 3-5 необходимы только в случае связки nginx+PHP-FPM на одном и том же хосте. В противном случае нужно изменить php-handler в {{cmd|/etc/nginx/sites-available.d/owncloud9.conf}} на необходимый.
3. Добавьте сервис php7-fpm в автозагрузку ({{pkg|php7-fpm-fcgi}} должен быть установлен):
chkconfig php7-fpm on
4. Для ownCloud необходимо подправить настройки php7-fpm. Для этого раскомментируйте в файле {{cmd|/etc/fpm/php7-fpm.conf}} следующие строчки:
<pre>
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
</pre>
5. Запускаем службу php7-fpm:
service php7-fpm start
{{note|Может потребоваться добавление пользователя _php_fpm в группу _webserver или в группу _nginx (на Восьмой платформе не нужно)}}
6. Настраиваем сервис memcached (см. выше пункт 3 настройки [[OwnCloud9#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D1.81_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5.D0.BC_web-.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.B0_Apache2|apache2]])
7. Сгенерируйте сертификат для использования https (см. выше пункт 4 настройки [[OwnCloud9#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D1.81_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5.D0.BC_web-.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.B0_Apache2|apache2]])
8. Измените под свой сервер файл настроек - {{cmd|/etc/nginx/sites-available.d/owncloud9.conf}}. И подключите данную конфигурацию:
ln -s /etc/nginx/sites-available.d/owncloud9.conf /etc/nginx/sites-enabled.d/
9. Запустите web-сервер {{cmd|service nginx start}} и откройте в браузере страницу сервера, например, cloud.example.com - HTTP должно автоматически переадресовать на HTTPS (443 порт).
== Второй этап: настройка в браузере ==


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


Другими вариантами являются MySQL/MariaDB и PostgreSQL. Однако они будут доступны только при установленных PHP-модулях: {{pkg|php5-pdo_mysql}} для MySQL/MariaDB и {{pkg|php5-pgsql, php5-pdo_pgsql}} для PostgreSQL - по этому поводу также будет сообщение:
{{note|На Восьмой платформе пакет {{pkg|pdo-sqlite отсутствует}} в зависимостях к {{pkg|owncloud9}} и его нужно установить вручную: <pre>apt-get install pdo-sqlite</pre>}}


''Доступен только SQLite. Установите и активируйте дополнительные модули PHP для возможности выбора других типов баз данных.''"
Другими вариантами являются MySQL/MariaDB и PostgreSQL. Однако они будут доступны только при установленных PHP-модулях: {{pkg|php7-pdo_mysql}} для MySQL/MariaDB и {{pkg|php7-pgsql, php7-pdo_pgsql}} для PostgreSQL - по этому поводу также будет сообщение:


'''MySQL для ownCloud:'''
"''Доступен только SQLite. Установите и активируйте дополнительные модули PHP для возможности выбора других типов баз данных.''"
 
'''MySQL/MariaDB для ownCloud:'''
<pre>
<pre>
apt-get install MySQL-server php5-pdo_mysql # устанавливаем необходимые пакеты для MySQL
apt-get install MySQL[mariadb]-server php7-pdo_mysql # устанавливаем необходимые пакеты для MySQL или для MariDB
chkconfig mysqld on && service mysqld start # добавляем сервис в автозагрузку и запускаем его
chkconfig mysqld on && service mysqld start # добавляем сервис в автозагрузку и запускаем его
mysql -u root # запускаем консоль mysql для установки пароля на пользователя root
mysql -u root # запускаем консоль mysql для установки пароля на пользователя root
Строка 69: Строка 102:
mysql> quit;
mysql> quit;
</pre>
</pre>
7. Донастройка ownCloud 9. Откройте файл {{cmd|/etc/owncloud9/config/config.php}} и внесите в него необходимые изменения.
 
* настраиваем кэширование:
== Донастройка ownCloud 9 ==
 
Откройте файл {{cmd|/etc/owncloud9/config/config.php}} и внесите в него необходимые изменения.
 
; Настраиваем кэширование:
<pre>
<pre>
   'maintenance' => false,
   'maintenance' => false,
Строка 80: Строка 117:
     ),
     ),
</pre>
</pre>
* желательно указать временную папку (предварительно ее нужно создать - {{cmd|mkdir -m666 /tmp/cloud_tmp_dir}}):
 
; Для использования модуля шифрования в OwnCloud (ownCloud Default Encryption Module) необходимо доустановить {{pkg|php7-openssl}}
 
; Желательно указать временную папку (предварительно ее нужно создать - {{cmd|mkdir -m666 /tmp/cloud_tmp_dir}}):
<pre>
<pre>
   'tempdirectory' => '/tmp/cloud_tmp_dir',
   'tempdirectory' => '/tmp/cloud_tmp_dir',
</pre>
</pre>
* можно настроить "красивый урл" (''www.example.com/apps/files/'' вместо ''www.example.com/index.php/apps/files/'') - актуально только для apache2, в nginx так "с коробки":
 
; Можно настроить "красивый урл" (''www.example.com/apps/files/'' вместо ''www.example.com/index.php/apps/files/'') - актуально только для apache2, в nginx так "из коробки":
<pre>
<pre>
   'overwrite.cli.url' => 'https://www.example.com',
   'overwrite.cli.url' => 'https://www.example.com',
   'htaccess.RewriteBase' => '/',
   'htaccess.RewriteBase' => '/',
</pre>
</pre>
{{note|Для быстрого применения данной настройки нужно выполнить команду:
{{note|Для быстрого применения данной настройки нужно с правами вебсервера выполнить команду {{cmd|/var/www/webapps/owncloud9/occ maintenance:update:htaccess}}:
 
<br>
{{cmd|sudo -u apache2 /var/www/webapps/owncloud9/occ maintenance:update:htaccess}}
{{cmd|sudo -u apache2 /var/www/webapps/owncloud9/occ maintenance:update:htaccess}}
 
<br>или<br>
Предварительно нужно дать руту права [[sudo]]. Подробнее [https://doc.owncloud.org/server/9.1/admin_manual/configuration_server/index_php_less_urls.html#configuration-steps здесь]
{{cmd|su -l -s /bin/bash apache2 -c "/var/www/webapps/owncloud9/occ maintenance:update:htaccess"}}
}}
}}


== Настройка с использованием web-сервера nginx ==
Подробнее о тонкой настройке см. в [https://doc.owncloud.org/server/9.1/admin_manual/configuration_server/index_php_less_urls.html#configuration-steps документации]
 
1. Установите соответствующий пакет:
apt-get install owncloud9-nginx
Частью его установки является дефолтный файл настроек виртуального хоста owncloud9, который был взят с [https://doc.owncloud.org/server/9.1/admin_manual/installation/nginx_examples.html сайта документации] и актуализирован под Альт и имеющийся пакет {{pkg|owncloud9}}. Ознакомиться с ним можете [http://git.altlinux.org/people/ekorneechev/packages/?p=owncloud9.git;a=blob_plain;f=nginx/default.conf здесь].
 
2. Добавьте сервисы nginx и php5-fpm в автозагрузку:
chkconfig httpd2 on
chkconfig php5-fpm on


3. Для ownCloud необходимо подправить настройки php5-fpm. Для этого раскомментируйте в файле {{cmd|/etc/fpm/php5-fpm.conf}} следующие строчки:
= Nextcloud 12 =
<pre>
Установка и настройки производятся аналогично. В Sisyphus и в ветке p8 присутствуют аналогичные пакеты - {{pkg|nextcloud-apache2}} и {{pkg|nextcloud-nginx}}. Разница при настройке только в имени owncloud⇾nextcloud. Также убраны из зависимостей пакеты для настройки кэширования ({{pkg|memcached}} {{pkg|php7-memcache}} {{pkg|php7-memcached}}), так как использование именно memcached не обязательно.
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
</pre>
 
4. Запускаем службу php5-fpm:
service php5-fpm start
 
5. Настраиваем сервис memcached (см. выше пункт 3 настройки [[OwnCloud9#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D1.81_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5.D0.BC_web-.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.B0_Apache2|apache2]])
 
6. Сгенерируйте самоподписанный сертификат для использования https (см. выше пункт 4 настройки [[OwnCloud9#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D1.81_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5.D0.BC_web-.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.B0_Apache2|apache2]])
 
7. Измените его под свой сервер файл настроек - {{cmd|/etc/nginx/sites-available.d/owncloud9.conf}}. И подключите данную конфигурацию:
ln -s /etc/nginx/sites-available.d/owncloud9.conf /etc/nginx/sites-enabled.d/


8. Запускаем web-сервер {{cmd|service nginx start}} и открываем в браузере страницу сервера - cloud.example.com (должно автоматически переадресовать на 443 порт).
== См. также ==
* [[Owncloud]]
* [https://doc.owncloud.org/ Документация разработчиков ownCloud]
* [http://nextcloud.com/ Официальный сайт NextClod] ([http://docs.nextcloud.com документация]).


9. См. выше с пункта 6 настройки [[OwnCloud9#.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B0_.D1.81_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5.D0.BC_web-.D1.81.D0.B5.D1.80.D0.B2.D0.B5.D1.80.D0.B0_Apache2|apache2]]


[[Категория:HOWTO]][[Категория:Enterprise Software]]
[[Категория:HOWTO]][[Категория:Enterprise Software]]

Текущая версия от 07:25, 27 сентября 2022

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

Первый этап: установка и настройка ПО

Настройка с использованием 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
RUNAS="memcached"
# Set max simultaneous connections to 1024
MAXCONN="1024"
# Set Memory size to 2048 - 4GB(4096)
CACHESIZE="2048"
#Set server IP address
LISTEN="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 порт).

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

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

apt-get install owncloud9-nginx

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

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

chkconfig nginx on

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

3. Добавьте сервис php7-fpm в автозагрузку (php7-fpm-fcgi должен быть установлен):

chkconfig php7-fpm on

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

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

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

service php7-fpm start
Примечание: Может потребоваться добавление пользователя _php_fpm в группу _webserver или в группу _nginx (на Восьмой платформе не нужно)


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 - HTTP должно автоматически переадресовать на HTTPS (443 порт).

Второй этап: настройка в браузере

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

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

Примечание: На Восьмой платформе пакет pdo-sqlite отсутствует в зависимостях к owncloud9 и его нужно установить вручную:
apt-get install pdo-sqlite


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

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

MySQL/MariaDB для ownCloud:

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

Донастройка 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),
     ),
Для использования модуля шифрования в OwnCloud (ownCloud Default Encryption Module) необходимо доустановить php7-openssl
Желательно указать временную папку (предварительно ее нужно создать - 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' => '/',
Примечание: Для быстрого применения данной настройки нужно с правами вебсервера выполнить команду /var/www/webapps/owncloud9/occ maintenance:update:htaccess:


sudo -u apache2 /var/www/webapps/owncloud9/occ maintenance:update:htaccess
или
su -l -s /bin/bash apache2 -c "/var/www/webapps/owncloud9/occ maintenance:update:htaccess"


Подробнее о тонкой настройке см. в документации

Nextcloud 12

Установка и настройки производятся аналогично. В Sisyphus и в ветке p8 присутствуют аналогичные пакеты - nextcloud-apache2 и nextcloud-nginx. Разница при настройке только в имени owncloud⇾nextcloud. Также убраны из зависимостей пакеты для настройки кэширования (memcached php7-memcache php7-memcached), так как использование именно memcached не обязательно.

См. также