OwnCloud9: различия между версиями
(→Настройка с использованием web-сервера nginx: уточнение для P8) |
|||
(не показано 7 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
= Запуск облачного сервиса ownCloud 9 версии = | |||
= Запуск облачного сервиса ownCloud | |||
== Первый этап: установка и настройка ПО == | == Первый этап: установка и настройка ПО == | ||
Строка 31: | Строка 27: | ||
PORT="11211" | PORT="11211" | ||
# Start as memcached daemon | # Start as memcached daemon | ||
RUNAS="memcached" | |||
# Set max simultaneous connections to 1024 | # Set max simultaneous connections to 1024 | ||
MAXCONN="1024" | MAXCONN="1024" | ||
Строка 37: | Строка 33: | ||
CACHESIZE="2048" | CACHESIZE="2048" | ||
#Set server IP address | #Set server IP address | ||
LISTEN="127.0.0.1" | |||
</pre> | </pre> | ||
*добавьте сервис в автозагрузку и запустите его: | *добавьте сервис в автозагрузку и запустите его: | ||
Строка 58: | Строка 54: | ||
chkconfig nginx on | chkconfig nginx on | ||
Так как {{pkg| | Так как {{pkg|php7-fpm-fcgi}} не обязан быть на той же машине, что и {{pkg|nginx}}, пункты 3-5 необходимы только в случае связки nginx+PHP-FPM на одном и том же хосте. В противном случае нужно изменить php-handler в {{cmd|/etc/nginx/sites-available.d/owncloud9.conf}} на необходимый. | ||
3. Добавьте сервис | 3. Добавьте сервис php7-fpm в автозагрузку ({{pkg|php7-fpm-fcgi}} должен быть установлен): | ||
chkconfig | chkconfig php7-fpm on | ||
4. Для ownCloud необходимо подправить настройки | 4. Для ownCloud необходимо подправить настройки php7-fpm. Для этого раскомментируйте в файле {{cmd|/etc/fpm/php7-fpm.conf}} следующие строчки: | ||
<pre> | <pre> | ||
env[HOSTNAME] = $HOSTNAME | env[HOSTNAME] = $HOSTNAME | ||
Строка 72: | Строка 68: | ||
</pre> | </pre> | ||
5. Запускаем службу | 5. Запускаем службу php7-fpm: | ||
service | service php7-fpm start | ||
{{note|Может потребоваться добавление пользователя _php_fpm в группу _webserver или в группу _nginx (на Восьмой платформе не нужно)}} | {{note|Может потребоваться добавление пользователя _php_fpm в группу _webserver или в группу _nginx (на Восьмой платформе не нужно)}} | ||
Строка 92: | Строка 88: | ||
''В качестве базы данных будет использована SQLite. Для крупных проектов мы советуем выбрать другой тип базы данных. В частности не рекомендуется использовать SQLite при синхронизации файлов с использованием клиента для ПК.'' | ''В качестве базы данных будет использована SQLite. Для крупных проектов мы советуем выбрать другой тип базы данных. В частности не рекомендуется использовать SQLite при синхронизации файлов с использованием клиента для ПК.'' | ||
{{note|На Восьмой платформе пакет pdo-sqlite отсутствует в зависимостях к owncloud9 и его нужно установить вручную: <pre>apt-get install pdo-sqlite</pre>}} | {{note|На Восьмой платформе пакет {{pkg|pdo-sqlite отсутствует}} в зависимостях к {{pkg|owncloud9}} и его нужно установить вручную: <pre>apt-get install pdo-sqlite</pre>}} | ||
Другими вариантами являются MySQL/MariaDB и PostgreSQL. Однако они будут доступны только при установленных PHP-модулях: {{pkg| | Другими вариантами являются MySQL/MariaDB и PostgreSQL. Однако они будут доступны только при установленных PHP-модулях: {{pkg|php7-pdo_mysql}} для MySQL/MariaDB и {{pkg|php7-pgsql, php7-pdo_pgsql}} для PostgreSQL - по этому поводу также будет сообщение: | ||
''Доступен только SQLite. Установите и активируйте дополнительные модули PHP для возможности выбора других типов баз данных.''" | "''Доступен только SQLite. Установите и активируйте дополнительные модули PHP для возможности выбора других типов баз данных.''" | ||
'''MySQL/MariaDB для ownCloud:''' | '''MySQL/MariaDB для ownCloud:''' | ||
<pre> | <pre> | ||
apt-get install 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 | ||
Строка 122: | Строка 118: | ||
</pre> | </pre> | ||
; Для использования модуля шифрования в OwnCloud (ownCloud Default Encryption Module) необходимо доустановить {{pkg| | ; Для использования модуля шифрования в OwnCloud (ownCloud Default Encryption Module) необходимо доустановить {{pkg|php7-openssl}} | ||
; Желательно указать временную папку (предварительно ее нужно создать - {{cmd|mkdir -m666 /tmp/cloud_tmp_dir}}): | ; Желательно указать временную папку (предварительно ее нужно создать - {{cmd|mkdir -m666 /tmp/cloud_tmp_dir}}): | ||
Строка 129: | Строка 125: | ||
</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>или<br> | ||
{{cmd|su -l -s /bin/bash apache2 -c "/var/www/webapps/owncloud9/occ maintenance:update:htaccess"}} | {{cmd|su -l -s /bin/bash apache2 -c "/var/www/webapps/owncloud9/occ maintenance:update:htaccess"}} | ||
}} | }} | ||
Подробнее о тонкой настройке см. в [https://doc.owncloud.org/server/9.1/admin_manual/configuration_server/index_php_less_urls.html#configuration-steps документации] | |||
= Nextcloud 12 = | = Nextcloud 12 = | ||
Установка и настройки производятся аналогично. В Sisyphus и в ветке p8 присутствуют аналогичные пакеты - {{pkg|nextcloud-apache2}} и {{pkg|nextcloud-nginx}}. Разница при настройке только в имени owncloud⇾nextcloud. Также убраны из зависимостей пакеты для настройки кэширования ({{pkg|memcached}} {{pkg| | Установка и настройки производятся аналогично. В Sisyphus и в ветке p8 присутствуют аналогичные пакеты - {{pkg|nextcloud-apache2}} и {{pkg|nextcloud-nginx}}. Разница при настройке только в имени owncloud⇾nextcloud. Также убраны из зависимостей пакеты для настройки кэширования ({{pkg|memcached}} {{pkg|php7-memcache}} {{pkg|php7-memcached}}), так как использование именно memcached не обязательно. | ||
== См. также == | |||
* [[Owncloud]] | |||
* [https://doc.owncloud.org/ Документация разработчиков ownCloud] | |||
* [http://nextcloud.com/ Официальный сайт NextClod] ([http://docs.nextcloud.com документация]). | |||
[[Категория: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
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 при синхронизации файлов с использованием клиента для ПК.
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' => '/',
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 не обязательно.