Установка OwnCloud на CentOS 7

Доброго времени суток, уважаемые читатели. Сегодня тема статьи: "Установка OwnCloud на CentOS 7". Наверное нет человека, который бы не знал, и не пользовался облачными хранилищами Облако Mail.Ru, Яндекс.Диск, Google Диск, Dropbox, iCloud… В Linux есть возможность создать собственное хранилище, аналог вышеперечисленных, при помощи веб-приложения OwnCloud.
OwnCloud – это бесплатное веб-приложение, для удалённого доступа, хранения, и обмена файлами. Использовать OwnCloud можно, как через браузер, так и через приложения для любой платформы, ссылки на которые можно найти на официальном сайте: https://owncloud.org/
- OwnCloud – это веб-приложение, поэтому для его работы необходимы такие же компоненты, как и для обычного веб-сайта.
- Нужен веб-сервер, север баз данных, и php.
- В статье будут использованы nginx+php-fpm , и mariadb.
- Во внутреннем репозитории CentOS 7, находятся старые версии необходимых пакетов, поэтому будем подключать дополнительные репозитории.
Для примера, в конфигурации я буду использовать домен oblako.ru, Вы измените на свой соответственно.
Если в системе не подключен репозиторий epel-release, то подключаем его:
# yum install epel-release
Установка nginx
- Для установки nginx, подключаем репозиторий nginx.
- Создаём в директории /etc/yum.repos.d/ файл nginx.repo с таким содержанием:
[nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
- После создания файла, запускаем установку веб-сервера nginx.
# yum install nginx
- Запускаем nginx, и добавляем его в автозагрузку.
# systemctl start nginx
# systemctl enable nginx
Установка и настройка mariadb
- Для установки mariadb, подключаем репозиторий mariadb.
- Переходим на официальный сайт, и делаем выбор конфига, под свою операционную систему: http://downloads.mariadb.org/mariadb/repositories/

- Заходим в директорию /etc/yum.repos.d/, и создаём файл mariadb.repo, в который вносим конфиг взятый с сайта mariadb.
- Теперь можно производить установку mariadb.
# yum install MariaDB-server MariaDB-client
- Запускаем mariadb, и добавляем в автозагрузку.
# systemctl start mariadb
# systemctl enable mariadb
- Далее, запускаем скрипт первоначальной установки сервера баз данных.
# /usr/bin/mysql_secure_installation
--- При первом вопросе, жмём «Enter», так как пароля для root, ещё не создано.
--- На приглашение создать пароль для root, отвечаем Y.
--- После создания и подтверждения пароля, на все оставшиеся вопросы отвечаем Y.
- Теперь можно создать базу данных для OwnCloud.
- Заходим под рутом.
# mysql -u root –p
- И выполняем нужные команды.
MariaDB [(none)]> create database oblako; MariaDB [(none)]> GRANT ALL PRIVILEGES ON oblako.* TO 'oblako'@'localhost' IDENTIFIED BY '123'; MariaDB [(none)]> flush privileges; MariaDB [(none)]> quit;
--- Первой командой - мы создаём базу данных oblako.
--- Второй командой - мы создаём пользователя для базы oblako. Пользователь oblako с паролем 123.
--- Третьей командой - мы перезагружаем привилегии.
Вы создаёте базу данных, и пользователя с паролем, на своё усмотрение.
- На этом, с сервером баз данных мы закончили.
Установка и настройка PHP
- Чтобы установить PHP-7.3, нам нужно подключить сторонний репозиторий Remi.
# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
- Далее, нам нужно установить дополнительные пакеты для пакетного менеджера yum.
# yum install yum-utils
- Активируем remi-php73.
# yum-config-manager --enable remi-php73
- Теперь можно устанавливать необходимые пакеты.
# yum install php php-fpm php-pdo php-zip php-dom php-mcrypt php-intl php-gd php-mysql php-mbstring
- После установки, нужно произвести настройку php-fpm.
- Нам нужен конфигурационный файл /etc/php-fpm.d/www.conf.
Находим и закомментируем строчку:
;listen = 127.0.0.1:9000
Под этой строчкой добавляем:
listen = /var/run/php-fpm/php-fpm.sock
listen.mode = 0660
listen.owner = nginx
listen.group = nginx
Находим строчки:
user = apache
group = apache
apache меняем на nginx
Находим и раскомментируем строчки:
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
- Меняем права для временной папки
# chown root:nginx /var/lib/php/session
# chown -R nginx:nginx /var/lib/php/session/
- Запускаем php-fpm, и добавляем в автозагрузку.
# systemctl enable php-fpm
# systemctl start php-fpm
Настройка брандмауэра
- Теперь переходим к настройке брандмауэра.
- Находим конфигурационный файл /etc/sysconfig/iptables, и открываем порты 80 и 443.
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
- Перезапускаем iptables.
# systemctl restart iptables
Настройка nginx
- Пришло время настройки веб-сервера.
- Идём в директорию /etc/nginx/conf.d, и создаём файл oblako.ru.conf.
- В Вашем случае название может быть другим. Если у Вас есть доменное имя, то используйте его.
- При использовании облака в локальной сети, в принципе разницы нет.
- Добавляем конфигурацию в созданный файл.
server { listen 80; server_name oblako.ru; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name oblako.ru; ssl_certificate /etc/nginx/cert.pem; ssl_certificate_key /etc/nginx/cert.key; root /var/www/html/owncloud; access_log /var/log/nginx/oblako_access.log; error_log /var/log/nginx/oblako_error.log; 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:/var/run/php-fpm/php-fpm.sock; } location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires modified +30d; access_log off; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
Создание самоподписанного сертификата
- Далее нам нужно создать удостоверяющие файлы, так как мы будем использовать защищённое подключение.
# openssl req -new -x509 -days 1461 -nodes -out /etc/nginx/cert.pem -keyout /etc/nginx/cert.key -subj "/C=RU/ST=Moscow/L=Moscow/O=Org/OU=OU/CN=oblako.ru"
Вы можете внести изменения в команду, указав свои регистрационные данные.
- Задаём нужные права для созданных файлов.
# chmod 600 /etc/nginx/cert.pem
# chmod 600 /etc/nginx/cert.key
- Перезапускаем веб-сервер.
# systemctl restart nginx
Установка OwnCloud
- Осталось только скачать и установить само облако.
- Для этого понадобятся дополнительные утилиты.
- Если они не установлены, то устанавливаем.
# yum install wget
# yum install unzip zip
- Заходим в директорию /var/www/html.
# cd /var/www/html
- Идём на официальный сайт, и выбираем подходящий тип для скачивания: https://download.owncloud.org/download/community/
- Скачиваем последнюю версию owncloud.
# wget https://download.owncloud.org/download/community/owncloud-latest.zip
- Разархивируем архив.
# unzip owncloud-10.3.0.zip
- После этого, сам архив можно удалить.
- Настраиваем необходимые права.
# chown nginx:nginx -R /var/www/html/owncloud
- Создаём директорию для данных, вне директории owncloud.
# mkdir -p /data
- Задаём нужные права.
# chown nginx:nginx /data
- Настройки на стороне операционной системы закончены. Осталось произвести установку owncloud.
- Открываем браузер, и переходим по адресу:
https://ip-адрес или доменое имя
- Выйдет сообщение о самоподписанном сертификате.
- Так и должно быть, потому что мы используем самоподписанный сертификат.

- Соглашаемся с предупреждением.
- Открывается веб-интерфейс owncloud.

- Создаём учётную запись администратора, меняем расположение каталога с данными на /data, и заполняем настройки подключения к базе данных.
- После всего перечисленного жмём на «Завершить установку».

- Начинается установка owncloud.
- По завершении, появляется форма входа.

- Введя данные учётной записи администратора, созданной на предыдущем этапе, можно войти в аккаунт администратора.
- На этом установка собственного облака owncloud завершена. Веб-приложение установлено и готово к работе.
Сегодня мы рассмотрели тему: "Установка OwnCloud на CentOS 7". Подготовили сервер и произвели установку облака. Смотрите также видео по теме.
Надеюсь статья была вам полезна. До встречи в новых статьях.
✍
С уважением, Андрей Бондаренко.
Видео на тему "Установка OwnCloud на CentOS 7":

WMZ-кошелёк = Z667041230317
«Linux»