Owncloud
Что это такое?
ownCloud — система организации, хранения и обмена данными из единой точки доступа, с возможностью редактирования документов на рабочих станциях пользователей и автоматической синхронизации версий в хранилище. Область применения — в организациях и учебных заведениях где требуется построить простую не дорогую и надёжную систему общедоступного централизованного хранилища документооборота, альтернативного Dropbox, для закрытого\открытого сегмента локальной сети. Облако на основе ownCloud, также будет интересно для тех кто создаёт свой мультимедийный домашний офис.
Owncloud9
В Owncloud9 появились следующие изменения:
- Пакеты имеют суффикс 9: owncloud9, owncloud9-apache2
Подготовка
Оборудование
ALT Linux Xxxx Centaurus x64 (рекомендуется) с последними обновлениями. ОЗУ >4Гб — 32Гб (зависит от количества пользователей) HDD1 — выделенный массив в расчёте ~50Мб дискового пространства для каждого нового пользователя. HDD2 – для резервных копий
Программы
- Установить Apache2
- http://www.altlinux.org/Apache2/Configs
- https://forum.altlinux.org/index.php/topic,29114.0.html
- Установить MySQL http://www.altlinux.org/MySQL
- Установить LibreOffice (необязательно)
- Установить PHP5
- Работающий SMTP сервер (необязательно)
- Работающий LDAP сервер (необязательно)
Настройка кэширования
memcached — реализует сервис кеширования данных в оперативной памяти. Установим пакеты memcached PHP5:
# apt-get install memcached php5-memcache php5-memcached
Редактируем настройки memcached:
# vim /etc/sysconfig/memcached
# Running on Port 11211
PORT="11211"
# Start as memcached daemon
USER="memcached"
# Set max simultaneous connections to 1024
MAXCONN="1024"
# Set Memory size to 2048 - 4GB(4096)
CACHESIZE="2048"
#Set server IP address
OPTIONS="-l 127.0.0.1"
Где:
- PORT — порт, используемый memcached;
- USER — пользователь для запуска службы Memcached;
- MAXCONN — используется для установки лимита одновременных подключений (среднее значение 1024, можно менять);
- CACHESIZE — размер выделяемой кэш-памяти (среднее значение 2048, можно менять до 4GB);
- OPTIONS — интерфейс, на котором слушать запросы (по умолчанию слушать на всех интерфейсах OPTIONS="").
Добавляем службу memcached в автозагрузку и запускаем её, выполнив команды:
# systemctl enable memcached
# systemctl start memcached
Или:
# /etc/init.d/memcached start|status|restart
# chkconfig --levels 235 memcached on
# chkconfig memcached
Проверка запуска службы memcached:
# netstat -tap | grep memcached
# netstat -tulpn | grep :11211
# apt-get install telnet // если не установлен
# telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'
stats //ввод команды
STAT pid 2022
STAT uptime 180054
STAT time 1439364983
STAT version 1.4.13_alt3
STAT libevent 2.0.21-stable-dev
STAT pointer_size 64
STAT rusage_user 2.761277
STAT rusage_system 2.556409
STAT curr_connections 10
STAT total_connections 13
STAT connection_structures 11
STAT reserved_fds 20
STAT cmd_get 0
STAT cmd_set 0
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 0
STAT get_misses 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 50
STAT bytes_written 1059
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT bytes 0
STAT curr_items 0
STAT total_items 0
STAT evictions 0
STAT reclaimed 0
END
quit //команда выхода
Перезапустить веб-сервер Apache2:
# service httpd2 restart
Установка
Устанавливаем ownCloud из репозитория:
# apt-get install owncloud
Или с официального сайта, если не устраивает версия из репозитория:
- Загружаем с https://owncloud.org/changelog/
- Распаковываем в /var/www/webapps/owncloud, каталог по умолчанию, можно в /var/www/owncloud:
# tar xjf owncloud-latest.tar.bz2 -С /var/www/webapps/
Устанавливаем права:
# chmod -R 777 /var/www/webapps/owncloud/
# chown -R apache2:apache2 /var/www/webapps/owncloud
Создаём ссылку на каталог /var/www/webapps/, или непосредственно в файле конфигурации /etc/httpd2/conf/sites-available/default.conf добавить строки:
Alias /owncloud "/var/www/webapps/owncloud/" <Directory "/var/www/webapps/owncloud/"> Include conf/include/Directory_html_default.conf </Directory>
... или делаем сервер ownCloud как виртуальный хост. Перегрузить веб-сервер:
# service httpd2 restart
Набираем в браузере http://server/owncloud (http://127.0.0.1/owncloud), в окне мастера заполняем нужные поля и нажимаем кнопку «Завершить установку»:
СОВЕТ: Если при попытке открытия страницы первичных настроек возникает ошибка типа "отсутствия модуля php5-curl" удалите комментарий в строке:
# vim /etc/php/5.5/apache2-mod_php/php.d/curl.ini
extension=curl.so
Открываем файл конфигурации и вносим, при необходимости, корректировки:
vim /var/www/webapps/owncloud/config/config.php
<?php
$CONFIG = array (
'instanceid' => 'ocefc41a15d4',
'passwordsalt' => '2a32cfc6f9428815a8d80055da0f85',
'secret' =>
'e42d12e449acc44d3b11aa03b8db03b5225512a8077ffbc38881bfeba51e4e631468daa13a652c00ffc7137c16450f57',
'trusted_domains' =>
array (
0 => 'alt-own',
),
'datadirectory' => '/var/www/webapps/owncloud/data',
'overwrite.cli.url' => 'http://alt-own/owncloud',
'dbtype' => 'mysql',
'version' => '8.1.0.8',
'dbname' => 'owncloud',
'dbhost' => 'localhost',
'dbtableprefix' => 'oc_',
'dbuser' => 'oc_master',
'dbpassword' => 'd0e56722e730d938af3d886c9a90c6',
'installed' => true,
'theme' => '',
'maintenance' => false,
'loglevel' => '3',
'memcache.distributed' => '\OC\Memcache\Memcached',
'memcached_servers' =>
array (
0 =>
array (
0 => 'localhost',
1 => 11211,
),
),
);
ВАЖНО:Если были внесены изменения необходимо перегрузить веб-сервер.
В качестве базы данных по умолчанию используется SQLite. Для больших установок рекомендуется использовать другие типы баз данных. Чтобы переехать на другой тип баз данных можно воспользоваться инструментом командной строки "ooc:db:conver-type".
Регистрируемся на нашем ownCloud как admin, открывем страницу «Администрирование», выставляем нужные параметры:
Открываем страницу «Пользователи» — добавляем группы/пользователей с квотами на размер хранимой информации:
Проверяем и устанавливаем необходимые настройки, теперь наше облако готово к работе.
Резервирование ALT/ownCloud
Рекомендуется периодически резервировать каталоги:
- /config - содержит
- .htaccess - защита
- config.php - файл конфигурации
- config.sample.php - используется для оптимизации работы ALT/ownCloud, выбранный кода копировать в файл config.php
- /data - хранилище файлов пользователей
- /var/lib/mysql - БД пользователей
Примерный сценарий резервного копирования для ALT/owncloud: Создаём файл own_bk.sh
TEMPDIR=/tmp/ownback/ BACKUPDIR=/vol mkdir -p $TEMPDIR # Создаём dump MySQL mysqldump -u user -ppassword -A > $TEMPDIR/all_databases.sql # Стоп MySQL /etc/init.d/mysql stop # Копируем /config /data /MySQL cp -r /var/www/webapps/config $TEMPDIR cp -r /var/www/webapps/data $TEMPDIR cp -r /var/lib/mysql $TEMPDIR # Старт MySql /etc/init.d/mysql start # Создаём архив TAR tar -cjf $BACKUPDIR/ownback_`date +%d`_back.tar.bz2 $TEMPDIR # Удаляем временные файлы. <pre>root@cloud home]# rm -r /tmp/ownback
- Включаем резервное копирование:
root@cloud home]# crontab -e
#minute (0-59), #| hour (0-23), #| | day of the month (1-31), #| | | month of the year (1-12), #| | | | day of the week (0-6 with 0=Sunday). #| | | | | commands 00 00 * * /home/own_bk.sh
Восстановление ALT/ownCloud.
Для восстановления из резервной копии необходимо:
- - выполнить требования п.4
- - разархивировать нужную копию ownbackXXX.back.tar.bz2
- - скопировать в дерево /var/www/owncloud каталоги
- /config
- /data
- - восстановить БД
root@cloud home]# mysql -uroot -p[password] -A < all_databases.sql
Обновление и модернизация.
Следует различать - обновление\модернизация OwnCloud.
- Обновление - точечный релиз указанный третьей цифрой номера версии (4.5.1, 5.0.17...7.0.1)
- Основной релиз обозначен двумя цифрами (4.0.0, 5.0.0...7.0.0)
- посмотреть можно в "Администраторе".
- Примечание: Перед каждым обновлением необходимо сделать резервную копию.
- Если хотим оповестить пользователей о временном отказе в доступе к ALT ownСloud, редактируем файл:
root@cloud home]# vim /owncloud/config/config.php ’maintenance’ => true //было false
Пользователи, открывая страницу регистрации ALT ownCloud, видят предупреждение о выполняемых работах.
- После того как в репозитории появится новая версия ownCloud выполните:
root@cloud home]# apt-get update root@cloud home]# apt-get dist-upgrade
ИЛИ
service httpd2 stop
Создаём резервную копию БД:
root@cloud home]# mysqldump -uroot -ppassword owncloud>owncloud.sql
Переименовываем каталог:
root@cloud home]# mv /var/www/webapps/owncloud owncloud_old
Скачиваем новую версию, условное имя owncloud-latest.tar.bz2 с http://owncloud.org/ и распаковывем:
root@cloud home]# tar xjf owncloud-latest.tar.bz2 -С /var/www/webapps/
Проверяем и при необходимости копирум "старый" config (если не сохранился):
cp -R var/www/webapps/owncloud_old/config var/www/webapps/owncloud
Запускаем web сервер:
root@cloud home]# vim /owncloud/config/config.php ’maintenance’ => false root@cloud home]# service httpd2 start
- Набираем в браузере http://server/owncloud и следуем указаниям мастера обновления.
- Наряду с графичиским методом обновления\модернизации ALT ownCloud существует его консольный аналог в виде сценария команды occ с различными ключами например:
root@cloud home]# /var/www/webapps/owncloud/occ maintenance:mode --on //сервер на обслуживание...
Миграция ALT/ownCloud.
При миграции ownCloud на новое оборудование необходимо выполнить следующие действия:
- - создание резервной копиии
- - восстановления данных и БД
- - копирования или замена файла config.php в каталоге
/var/www/webapps/config/
Защита ALT/ownCloud.
Дополнительная антишпионская защита для ownCloud, может быть определена следующими действиями:
- Включеним SSL соединения.
- Установкой и включением антивируса ClamAV.
- Включением шифрования данных для каталогов (Приложение Encryption);
Все описанные действия должны выполняться в каталоге хранилища ownCloud:
root@cloud home]# /var/www/webapps/owncloud/data/owncloud_private_key root@cloud home]# /var/www/webapps/owncloud/data/public-keys root@cloud home]# /var/www/webapps/owncloud/data/<user>/files_encryption root@cloud home]# /var/www/webapps/owncloud/data/.htaccess (настроить)
Обслуживание ALT/ownCloud
Помимо повседневных мер по обслуживанию сервера ownCloud у администратора могут возникать вопросы по переносу хранилища профилей пользователей на другие носители, такой вопрос обязательно возникнет, когда начнётся активное использование вновь созданного облачного хранилища. В связи с этим нужно, предварительно выполнив действия по резервированию хранилища, БД и переноса самого хранилища на новый носитель, аккуратно отредактировать файл config.php каталога /config:
# mv /var/www/webapps/data /vol/owncloud/data
# vim /var/www/webapps/config/config.php
'datadirectory' => '/vol/owncloud/data',
wq
root@cloud home]# service httpd2 restart
Удаление ALT/ownCloud
Для удаления ownCloud необходимо почистить следующие каталоги и БД:
# apt-get remove owncloud
# rm -r /var/www/webapps/owncloud
# rm -r /etc/owncloud
# mysql -uroot -p[password]
> show databases;
> drop database owncloud;
> quit
Полезные ссылки.
- Сайт ownCloud http://owncloud.org/
- Форум ownCloud http://forum.owncloud.org/
- Форум ALT Linux http://forum.altlinux.org/
- Настройка OwnCloud9
mig