Установка и настройка OwnCloud на CentOS 7

Обновлено Обновлено: Опубликовано Опубликовано:

Подготовка системы

Синхронизируем время.

Устанавливаем утилиту ntpdate:

yum install ntpdate

Выставляем нужный часовой пояс:

\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

* в данном примере московское время.

Синхронизируем время:

ntpdate ru.pool.ntp.org

Настройка брандмауэра.

Выполняется следующими командами:

firewall-cmd --permanent --add-service=http

firewall-cmd --permanent --add-service=https

firewall-cmd --reload

Настройка сервера баз данных

В качестве СУБД используем MariaDB.

Устанавливаем:

yum install mariadb mariadb-server

Разрешаем автозапуск и стартуем сервис:

systemctl enable mariadb

systemctl start mariadb

Задаем пароль для суперпользователя 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 owncloud@localhost IDENTIFIED BY 'owncloud' WITH GRANT OPTION;

> \q

Установка и настройка веб-сервера

PHP

Устанавливаем PHP и PHP-FPM:

yum install php php-fpm

Разрешаем автозапуск php-fpm и запускаем его:

systemctl enable php-fpm

systemctl start php-fpm

NGINX

Owncloud можно развернуть на NGINX или Apache. В данной инструкции будем использовать первый.

Устанавливаем веб-сервер:

yum install nginx

* подробнее процесс установки описан в инструкции Установка NGINX на CentOS.

Создаем виртуальный домен и настраиваем его для работы с облачным сервисом:

vi /etc/nginx/conf.d/owncloud.dmosk.ru.conf

server {
        listen 80;
        server_name owncloud.dmosk.ru;
        return 301 https://$server_name$request_uri;
}

server {
        listen 443 ssl;
        server_name owncloud.dmosk.ru;

        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 127.0.0.1:9000;
        }

        location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
                expires 30d;
                access_log off;
        }
}

* где owncloud.dmosk.ru — домен, на котором будет работать сервис; /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.dmosk.ru/CN=owncloud"

* данная команда создаст сертификат на 4 года для URL owncloud.dmosk.ru или owncloud.

Проверяем конфигурацию nginx и перезапускаем сервис:

nginx -t

systemctl restart nginx

Установка Owncloud

Заходим на страницу owncloud и копируем ссылку на скачивание последней версии программы:

Ссылка для скачивания owncloud

Переходим во временную папку и скачиваем исходник для установки:

cd /tmp

wget https://download.owncloud.org/community/owncloud-10.0.3.tar.bz2

* если система вернет ошибку, устанавливаем wget командой yum install wget.

Распаковываем скачанный архив:

tar -xvjf owncloud-10.0.3.tar.bz2 -C /var/www/

Задаем права доступа:

chown -R nginx:nginx /var/www/owncloud

Открываем браузер и переходим по адресу https://owncloud.dmosk.ru, где owncloud.dmosk.ru — адрес облачного сервиса.

В качестве базы данных выбираем MySQL/MariaDB и вводим в качестве логина, пароля и базы owncloud.

# Серверы # CentOS
Дмитрий Моск — частный мастер
Была ли полезна вам эта инструкция?

Да            Нет