Данная инструкция протестирована для установки OwnCloud на CentOS версий 7 и 8.
Синхронизируем время.
Устанавливаем утилиту chrony:
yum install chrony
Запускаем ее службу:
systemctl enable chronyd –now
Выставляем нужный часовой пояс:
\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
* в данном примере московское время.
Настройка брандмауэра.
Выполняется следующими командами:
firewall-cmd –permanent –add-service=http
firewall-cmd –permanent –add-service=https
firewall-cmd –reload
Отключение SELinux.
Для отключения SELinux вводим две команды:
setenforce 0
sed -i “s/SELINUX=enforcing/SELINUX=disabled/” /etc/selinux/config
* первая команда отключает SELinux до перезагрузки, вторая — навсегда.* подробнее об отключении SELinux. Подробнее о настройке SELinux.
В качестве СУБД используем MariaDB.
Устанавливаем:
yum install mariadb-server
Разрешаем автозапуск и стартуем сервис:
systemctl enable mariadb –now
Задаем пароль для суперпользователя mysql:
mysqladmin -u root password
Подключаемся к MariaDB, создаем базу данных и пользователя:
mysql -uroot -p
> CREATE DATABASE owncloud DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
> GRANT ALL PRIVILEGES ON owncloud.* TO [email protected] IDENTIFIED BY ‘owncloud’;
* данными командами мы создали базу данных owncloud, затем с таким же названием мы создали пользователя и задали ему пароль owncloud.
Установка на CentOS 7 и 8 немного происходит по-разному. Рассмотрим оба варианта в отдельности.
а) На CentOS 7:
В репозитории CentOS 7 находится PHP версии 5.4. Для Owncloud требуется более новая версия php. Для этого установим репозиторий REMI.
Сначала устанавливаем репозиторий EPEL:
yum install epel-release
… и после — REMI:
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
Устанавливаем PHP, PHP-FPM и необходимые для работы owncloud модули:
yum –enablerepo=remi-php72 install php php-fpm php-pdo php-zip php-dom php-intl php-gd php-mysqli php-mbstring php-json php-process
б) На CentOS 8:
В репозитории CentOS 8 есть требуемая версия пакета php. Просто вводим команду:
dnf install php php-fpm php-pdo php-zip php-dom php-intl php-gd php-mysqli php-mbstring php-json php-process
Сам пакет php-fpm мы установили на предыдущем шаге. Поэтому на данном этапе необходимо его настроить.
Открываем конфигурационный файл:
vi /etc/php-fpm.d/www.conf
Находим опции listen и listen.owner. Задаем им значения:
listen = /run/php-fpm/www.sock…listen.owner = nginx
Разрешаем автозапуск php-fpm и запускаем его:
systemctl enable php-fpm –now
Owncloud можно развернуть на NGINX или Apache. В данной инструкции будем использовать первый.
Устанавливаем веб-сервер:
yum install nginx
* подробнее процесс установки описан в инструкции Установка NGINX на CentOS.
Новые версии owncloud работают по https — для правильной работы протокола создаем виртуальный домен и настраиваем его для работы с облачным сервисом в NGINX:
vi /etc/nginx/conf.d/owncloud.admins24.com.conf
server { listen 80; server_name owncloud.admins24.com; return 301 https://$server_name$request_uri;}
server { listen 443 ssl; server_name owncloud.admins24.com;
ssl_certificate /etc/nginx/ssl/cert.pem; ssl_certificate_key /etc/nginx/ssl/cert.key;
root /var/www/owncloud;
add_header Strict-Transport-Security “max-age=31536000; includeSubDomains” always; client_max_body_size 10G; fastcgi_buffers 64 4K;
rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect; rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
index index.php; error_page 403 = /core/templates/403.php; error_page 404 = /core/templates/404.php;
location = /robots.txt { allow all; log_not_found off; access_log off; }
location ~ ^/(data|config|\.ht|db_structure\.xml|README) { deny all; }
location / { rewrite ^/.well-known/host-meta /public.php?service=host-meta last; rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; try_files $uri $uri/ index.php; }
location ~ ^(.+?\.php)(/.*)?$ { try_files $1 = 404; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$1; fastcgi_param PATH_INFO $2; fastcgi_param HTTPS on; fastcgi_pass unix:/run/php-fpm/www.sock; }
location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires modified +30d; access_log off; }}
* где admins24.com — домен, на котором будет работать сервис; owncloud.admins24.com — имя сервера, на котором будет работать owncloud; /etc/nginx/ssl — каталог, в котором будут храниться сертификаты; /var/www/owncloud — каталог с порталом.
Создаем каталог для хранения сертификатов и переходим в него:
mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
Генерируем сертификат:
openssl req -new -x509 -days 1461 -nodes -out cert.pem -keyout cert.key -subj “/C=RU/ST=SPb/L=SPb/O=Global Security/OU=IT Department/CN=owncloud.admins24.com/CN=owncloud”
* данная команда создаст сертификат на 4 года для URL owncloud.admins24.com или owncloud.* в данном примере мы, всего лишь, создали самоподписанный сертификат, который не будет приниматься браузером и нужно будет пропускать предупреждение. Данный метод подходит для тестирования, а для продуктивной среды стоит купить сертификат или получить его бесплатно от Let’s Encrypt.
Проверяем конфигурацию nginx, разрешаем его автозапуск и перезапускаем сервис:
systemctl enable nginx –now
Для загрузки и распаковки архива на нужны следующие пакеты:
yum install wget bzip2
Заходим на страницу owncloud и копируем ссылку на скачивание последней версии программы:
Переходим во временную папку и скачиваем исходник для установки:
wget https://download.owncloud.org/community/owncloud-10.4.1.tar.bz2
Распаковываем скачанный архив:
tar -xvjf owncloud-*.tar.bz2 -C /var/www/
Задаем права доступа:
chown -R apache:apache /var/www/owncloud
Открываем браузер и переходим по адресу https://owncloud.admins24.com, где owncloud.admins24.com — адрес облачного сервиса. Так как мы используем самоподписанный сертификат, браузер выдаст предупреждение безопасности — игнорируем его и переходим на страницу.
* так как мы настроили виртуальный домен, важно обратиться к серверу, именно, по имени. Таким образом, настроенный узел (в моем случае, owncloud.admins24.com) должен разрешаться в DNS или внесен в локальный файл hosts.
Заполняем поля с пользователем и паролем для создания учетной записи администратора. Кликаем по Хранилище и база данных – переключаемся на MySQL/MariaDB:
В качестве базы данных выбираем MySQL/MariaDB и вводим в качестве логина, пароля и базы owncloud.
Завершаем установку. После входим в панель программы под созданным пользователем.
После входа в owncloud под администратором, переходим в настройки для пользователя:
В разделе «Администрирование» переходим в Основные:
В разделе «Предупреждения безопасности и установки» мы можем увидеть список проблем:
Рассмотрим процесс решения некоторых из них.
Открываем файл php.ini. При нашей установке, это:
Снимаем комментарий с параметра PATH:
env[PATH] = /usr/local/bin:/usr/bin:/bin
Перезапускаем php-fpm:
systemctl restart php-fpm
Необходимо убедиться, что в системе установлен пакет php-process (мы его устанавливали ранее).
Создаем задание в cron от пользователя apache:
crontab -e -u apache
*/15 * * * * php -f /var/www/owncloud/cron.php
* где /var/www/owncloud — путь, по которому находится owncloud.
Переходим в каталог с порталом и запускаем команду от пользователя apache:
cd /var/www/owncloud
sudo -u www-data php occ background:cron
Мы должны увидеть:
Set mode for background jobs to ‘cron’
В состав owncloud входит php-скрипт occ, с помощью которого можно управлять сервисом из командной строки Linux.
Создать нового пользователя можно командой:
sudo -u apache php /var/www/owncloud/occ user:add admin
* где admin — имя учетной записи.
При необходимости сбросить пароль пользователя, можно воспользоваться командой:
sudo -u apache php /var/www/owncloud/occ user:resetpassword admin
* где admin — учетная запись пользователя, чей пароль хотим сбросить.
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies