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

Thank you for reading this post, don't forget to subscribe!

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

Уста­нав­ли­ва­ем ути­ли­ту 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

Отклю­че­ние SELinux.

Для отклю­че­ния SELinux вво­дим две команды:

setenforce 0

sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

* пер­вая коман­да отклю­ча­ет SELinux до пере­за­груз­ки, вто­рая — навсегда.
* подроб­нее об отклю­че­нии SELinux. Подроб­нее о настрой­ке SELinux.

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

В каче­стве СУБД исполь­зу­ем 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

В репо­зи­то­рии CentOS нахо­дит­ся PHP вер­сии 5.4. Для Owncloud тре­бу­ет­ся более новая вер­сия php. Для это­го уста­но­вим репо­зи­то­рий 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-mysql php-mbstring

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

systemctl enable php-fpm
systemctl start php-fpm

NGINX

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

Уста­нав­ли­ва­ем веб-сервер:
yum install nginx

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

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

[codesyntax lang="php" blockstate="collapsed"]

[/codesyntax]

* где owncloud.test.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.test.ru/CN=owncloud"

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

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

nginx -t
systemctl enable nginx
systemctl start nginx

Установка Owncloud

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

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

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

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

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

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

* при ошиб­ке уста­нав­ли­ва­ем bzip2.

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

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

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

Кли­ка­ем по Хра­ни­ли­ще и база дан­ных - пере­клю­ча­ем­ся на MySQL/MariaDB:

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

Завер­ша­ем установку.

Работа с пользователями из UNIX-Shell

В состав 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 — учет­ная запись поль­зо­ва­те­ля, чей пароль хотим сбросить.

Автоматическая чистка удаленных файлов

При уда­ле­нии фай­лов, они не уда­ля­ют­ся из систе­мы, а пере­ме­ща­ют­ся в кор­зи­ну — ката­лог files_trashbin соот­вет­ствен­но­го поль­зо­ва­те­ля. Со вре­ме­нем, это при­ве­дет к израс­хо­до­ва­нию дис­ко­во­го про­стран­ства на сервере.

Что­бы выпол­нить чист­ку всех ката­ло­гов поль­зо­ва­те­лей, необ­хо­ди­мо выпол­нить команду:

sudo -u apache php /var/www/owncloud/occ trashbin:cleanup

В резуль­та­те будут уда­ле­ны все фай­лы из ката­ло­гов files_trashbin всех пользователей.

Так­же мы можем ука­зать пери­од, за кото­рый мож­но счи­тать уда­лен­ные фай­лы уста­рев­ши­ми и уда­лить толь­ко их. Для это­го откры­ва­ем кон­фи­гу­ра­ци­он­ный файл owncloud:

vi /var/www/owncloud/config/config.php

* где /var/www/owncloud — ката­лог, в кото­рый мы раз­вер­ну­ли наш портал.

Добав­ля­ем опцию:

  …
'trashbin_retention_obligation' => '25,31',

* дан­ной настрой­кой мы ука­зы­ва­ем, что owncloud дол­жен хра­нить фай­лы и ката­ло­ги в кор­зине не менее 25 дней. Уда­лять мож­но по про­ше­ствии 30 дней.

Теперь мы можем выпол­нить команду:

sudo -u apache php /var/www/owncloud/occ trashbin:expire

Она уда­лит толь­ко фай­лы, кото­рые явля­ют­ся уста­рев­ши­ми в соот­вет­ствии с нашей настройкой.