Поиск по сайту:

Как установить OwnCloud 8 с Nginx и MariaDB на CentOS 7


Это руководство существует для этих версий ОС

  • CentOS 7.3
  • CentOS 7

На этой странице

  1. Предпосылки
  2. Что делать
  3. Отключите SELinux и настройте firewalld.
  4. Установка и настройка LEMP
    1. Шаг 1. Включите epel-репозиторий

    1. Шаг 1. Создание базы данных и пользователя
    2. Шаг 2. Создание SSL-сертификата

    1. Настройка виртуального хоста для OwnCloud

    OwnCloud — это серверное программное обеспечение для синхронизации данных и обмена файлами с простым в использовании веб-интерфейсом, доступное по лицензии с открытым исходным кодом. Owncloud можно установить на веб-сервер Linux или Windows, его легко настроить и он имеет исчерпывающую онлайн-документацию. Собственный клиент доступен для Windows, MacOS и Linux (настольное приложение). Также есть мобильное приложение для Android и iOS.

    В этом руководстве описывается установка Owncloud 8 на CentOS 7 с веб-сервером nginx и базой данных MariaDB.

    Последняя версия на сегодняшний день — OwnCloud 8.0.

    Предпосылки

    • СентОС 7

    Делать

    Вот шаги, которые мы сделаем в этом руководстве:

    • Отключите SELinux и настройте firewalld.
    • Установите и настройте Nginx, MariaDB, php-fpm.
    • Создайте базу данных и настройте SSL.
    • Установите OwnCloud.
    • Настройте виртуальный хост для OwnCloud.
    • Протестируйте OwnCloud в браузере.

    Отключить SELinux и настроить firewalld

    Чтобы отключить SELinux, отредактируйте файл /etc/sysconfig/selinux и измените принудительно на отключено.

    vim /etc/sysconfig/selinux

    Запустите эти команды, чтобы открыть порты 80/http и 443/https в firewalld, чтобы позже мы могли получить доступ к интерфейсу OwnCloud по http и https.

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

    Установите и настройте LEMP

    Это шаги по настройке базового сервера LEMP (Linux — Nginx — MariaDB — PHP) для запуска OwnCloud.

    Шаг 1. Включите epel-репозиторий.

    Чтобы установить LEMP (Linux, Nginx, MariaDB и PHP), вы должны включить epel-репозиторий.

    yum -y install epel-release

    Шаг 2 — Установка Nginx, MariaDB и php-fpm

    sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    yum -y install nginx mariadb mariadb-server php-fpm php-cli php-gd php-mcrypt php-mysql php-pear php-xml bzip2 vim

    Шаг 3 — Запустите и настройте MariaDB

    systemctl start mariadb
    mysql_secure_installation

    в первый раз просто нажмите Enter.

    Change the root password? [Y/n] Y
    Remove anonymous users? [Y/n] Y
    Disallow root login remotely? [Y/n] Y
    Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y

    Шаг 4 — Настройте php-fpm

    Отредактируйте файл /etc/php-fpm.d/www.conf.

    vim /etc/php-fpm.d/www.conf

    убедитесь, что строка listen:

    listen = 127.0.0.1:9000

    И отредактируйте строку для группы пользователей:

    user = nginx
    group = nginx

    Создайте каталог для пути к сеансу.

    mkdir -p /var/lib/php/session
    chown nginx:nginx -R /var/lib/php/session/

    Запустите php-fpm.

    systemctl start php-fpm

    Шаг 5 — Запустите nginx

    systemctl start nginx

    На этом шаге вы можете посетить свой веб-сервер http://192.168.1.101/.

    Создайте базу данных и настройте SSL

    Шаг 1 — Создайте базу данных и пользователя

    Войдите в MariaDB с помощью клиента командной строки mysql:

    mysql -u root -p

    Создайте базу данных:

    create database owncloud_db;

    Добавьте пользователя:

    create user  identified by 'ownclouduser';

    Предоставить пользователю доступ к базе данных

    grant all privileges on owncloud_db.* to  identified by 'ownclouduser';
    flush privileges;

    Шаг 2 — Создайте SSL-сертификат

    mkdir -p /etc/nginx/cert/
    cd /etc/nginx/cert/
    openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/owncloud.crt -keyout /etc/nginx/cert/owncloud.key

    команда создаст файлы owncloud.crt и owncloud.key в каталоге /etc/nginx/cert/.

    Изменить файл сертификата разрешения.

    chmod 600 owncloud.crt
    chmod 600 owncloud.key

    Установить собственное облако

    Загрузите исходный код приложения с помощью wget.

    yum -y install wget
    cd /tmp/
    wget https://download.owncloud.org/community/owncloud-8.0.0.tar.bz2

    Извлеките и переместите каталог owncloud в /usr/share/nginx/html.

    tar -xjvf owncloud-8.0.0.tar.bz2
    mv owncloud/ /usr/share/nginx/html/

    Измените владельца каталога owncloud на nginx.

    cd /usr/share/nginx/html/
    chown nginx:nginx -R owncloud/

    Создайте каталог с именем data в каталоге owncloud и измените владельца на nginx.

    mkdir -p owncloud/data/
    chown nginx:nginx -R owncloud/data/

    Настройка виртуального хоста для OwnCloud

    Последний шаг — настроить виртуальный хост для owncloud.

    cd /etc/nginx/conf.d/
    mv default.conf default

    добавить конфигурацию owncloud в /etc/nginx/conf.d/

    vim owncloud.conf

    Вставьте конфигурацию ниже:

    upstream php-handler {
        server 127.0.0.1:9000;
        #server unix:/var/run/php5-fpm.sock;
    }
    
    server {
            listen 80;
            server_name 192.168.1.101; #YourIP or domain
            return 301 https://$server_name$request_uri;  # redirect all to use ssl
    }
    
    
    server {
            listen 443 ssl;
            server_name 192.168.1.101; #YourIP or domain
    
            #SSL Certificate you created
            ssl_certificate /etc/nginx/cert/owncloud.crt; 
            ssl_certificate_key /etc/nginx/cert/owncloud.key;
    
            # owncloud path
            root /usr/share/nginx/html/owncloud/;
    
            client_max_body_size 10G; # set max upload size
            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 / {
                    # The following 2 rules are only needed with webfinger
                    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 php-handler;
            }
    
            # Optional: set long EXPIRES header on static assets
            location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
                    expires 30d;
                    # Optional: Don't log access to assets
                    access_log off;
            }
    
    }
    
    

    Затем перезапустите стек LEMP:

    systemctl restart nginx mariadb php-fpm

    Теперь настройте службы LEMP для запуска при загрузке.

    systemctl enable nginx
    systemctl enable php-fpm
    systemctl enable mariadb

    Затем перезагрузите сервер:

    reboot

    Тестировать OwnCloud

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

    Заключение

    OwnCloud — это правильное решение для частного облака на сегодняшний день. Простота в использовании и настройке, а также удобный интерфейс, облегчающий использование и установку. Owncloud быстрый, стабильный и имеет множество функций.

    Ссылки

    • Собственное облако
    • СентОС
    • Nginx
    • МарияДБ
    • PHP