ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

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

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

Установка OwnCloud на CentOS 7 должна занять около десяти минут, если вы будете следовать очень простым шагам, описанным ниже.

Остановите службу Apache и отключите его запуск при загрузке сервера:

systemctl stop httpd
systemctl disable httpd

Установите Nginx и PHP-FPM:

yum install nginx php-fpm php-cli php-gd php-mcrypt php-mysql php-pear php-xml bzip2

Загрузите последнюю версию OwnCloud доступную на https://download.owncloud.org/ и распакуйте в директорию на сервере:

cd /opt/
wget https://download.owncloud.org/community/owncloud-9.1.2.tar.bz2
tar xfv owncloud-9.1.2.tar.bz2
mv owncloud /var/www/html

Пользователь веб-сервер (Nginx) должен иметь возможность писать файлы и каталоги внутри ‘/var/www/html/owncloud‘, так что его можно легко осуществить, выполнив следующую команду:

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

Отредактируйте конфигурационный файл ‘/etc/php-fpm.d/www.conf’ и установите пользователя и группу для Nginx:

sed -i s'/user = apache/user = nginx/' /etc/php-fpm.d/www.conf
sed -i s'/group = apache/group = nginx/' /etc/php-fpm.d/www.conf

Создайте каталог “data” за пределами документа root, так чтобы он не был доступен из Интернета:

mkdir -p /data
chown nginx:nginx /data

OwnCloud требует базу данных, таким образом, создайте новую базу данных с помощью следующих команд:

mysql -uroot -p
MariaDB [(none)]> create database ownclouddb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ownclouddb.* TO 'owncloud'@'localhost' IDENTIFIED BY 'my-password';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit

Рекомендуется обеспечить OwnCloud сертификатом SSL и заставить шифровать OwnCloud с помощью HTTPS для трафика OwnCloud. Вы можете приобрести доверенный сертификат SSL, или создать самозаверяющий сертификат SSL с помощью:

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/my-domain.ru.crt -keyout /etc/nginx/my-domain.ru.key

chmod 600 /etc/nginx/my-domain.ru.crt
chmod 600 /etc/nginx/my-domain.ru.key

Создайте новый блок сервера Nginx со следующим содержанием:

vi /etc/nginx/sites-available/my-domain.ru.conf
server {
    listen       80;
    server_name  my-domain.ru;
    rewrite ^ https://$server_name$request_uri? permanent;
}

server {
  listen 443 ssl;
		server_name my-domain.ru;
		ssl_certificate /etc/nginx/my-domain.ru.crt;
		ssl_certificate_key /etc/nginx/my-domain.ru.key;
		root   /var/www/html/owncloud;
  access_log  /var/log/nginx/my-domain.ru_access.log;
  error_log  /var/log/nginx/my-domain.ru_error.log;
  index index.php;
  client_max_body_size 2000M;

        rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
        rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
        rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

        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 ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
                deny all;
        }

        location / {
                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(?:$|/) {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param HTTPS on;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
        }

  error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root           html;
  }
}

Выполните следующую команду, чтобы увидеть настройки ‘session.save_path‘:

#cat /etc/php-fpm.d/www.conf | grep session.save_path
php_value[session.save_path] = /var/lib/php/session

Измените права доступа на директории в PHP ‘session.save_path‘:

chown root:nginx /var/lib/php/session
chown -R nginx:nginx /var/lib/php/session/*

Включите вновь созданный блок сервера Nginx:

mkdir -p /etc/nginx/sites-available
mkdir -p /etc/nginx/sites-enabled
ln -s /etc/nginx/sites-available/my-domain.ru.conf /etc/nginx/sites-enabled/my-domain.ru.conf

Отредактируйте файл главной конфигурации Nginx (/etc/nginx/nginx.conf) и добавьте следующую строку:

include /etc/nginx/sites-enabled/*.conf;

До конца блока HTTP {}, непосредственно перед блоком server {}:

vi /etc/nginx/nginx.conf
include /etc/nginx/sites-enabled/*.conf;

При желании можно удалить по умолчанию блок server {}.

Отредактируйте файл конфигурации ‘/etc/php-fpm.d/www.conf‘ и измените (или закомментируйте) ‘listen = 127.0.0.1:9000’ в ‘listen = /var/run/php5-fpm.sock’.

vi /etc/php-fpm.d/www.conf
;listen = 127.0.0.1:9000
listen = /var/run/php5-fpm.sock

Перезапустите услуги PHP-FPM и Nginx, чтобы изменения вступили в силу:

systemctl restart php-fpm
systemctl restart nginx

Установите PHP-FPM и Nginx для загрузки при запуске сервера:

systemctl enable php-fpm
systemctl enable nginx

Откройте https://my-domain.ru в вашем веб-браузере, создайте учетную запись администратора (для администратора установите имя пользователя и пароль), измените каталог ‘data’ на ‘/data’ (не оставляйте настройки по умолчанию ‘/var/www/html/owncloud/data’), нажмите кнопку ‘Storage & database’, выберите MySQL / MariaDB, введите данные для данные базы данных (пользователя MariaDB, пароль, имя базы данных и имя хоста) и нажмите кнопку ‘Finish setup’.

Все, установка OwnCloud завершена.

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

Exit mobile version