Owncloud
Что это такое?
ownCloud — система организации, хранения и обмена данными из единой точки доступа, с возможность редактирования документов на рабочих станциях пользователей и автоматической синхронизации версий в хранилище. Область применения — в организациях и учебных заведениях где требуется построить простую не дорогую и надёжную систему общедоступного централизованного хранилища документооборота, альтернативного Dropbox, для закрытого\открытого сегмента локальной сети.Облако на основе ownCloud, также будет интересно для тех кто создаёт свой мультимедийный домашний офис.
Подготовка:
Оборудование;
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
- Установить LibreOffoce (необязательно)
- Установить PHP5
- Работающий SMTP сервер (необязательно)
- Работающего LDAP сервера (необязательно)
Настройка memcached PHP5
- Пояснения:
memcached — реализует сервис кеширования данных в оперативной памяти
root@cloud home]# apt-get install memcached root@cloud home]# apt-get install php5-memcache root@cloud home]# apt-get install php5-memcached
Редактируем настройки конфига memcached:
root@cloud home]# 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 : IP-адрес сервера Apache2 для трансляции 11211. Запускаем\перезапускаем службу:
root@cloud home]# /etc/init.d/memcached status root@cloud home]# /etc/init.d/memcached start root@cloud home]# /etc/init.d/memcached restart
Добавляем в автозагрузку:
root@cloud home]# chkconfig --levels 235 memcached on root@cloud home]# chkconfig memcached
Проверяем Порт:
root@cloud home]# netstat -tap | grep memcached root@cloud home]# netstat -tulpn | grep :11211 root@cloud home]# apt-get install telnet // если не установлен root@cloud home]# 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 //команда выхода
Перегружаемся:
root@cloud home]# service httpd2 restart
Установка
Установливаем ownCloud xxx отсюда:
root@cloud home]# apt-get install owncloud
ИЛИ отсюда, если не устраивает версия из репозитория
- https://owncloud.org/changelog/
- Распаковываем в /var/www/webapps/owncloud, каталог по умолчанию, можно в /var/www/owncloud :
root@cloud home]# tar xjf owncloud-latest.tar.bz2 -С /var/www/webapps/
- Устанавливаем права
root@cloud home]# chmod -R 777 /var/www/webapps/owncloud/ root@cloud home]# chown -R apache2:apache2 /var/www/webapps/owncloud
Создаём ссылку на каталог /var/www/webapps/, или непосредственно в файле конфигурации /etc/httpd2/conf/sites-available/default.conf добавить строки:
root@cloud home]# Alias /owncloud "/var/www/webapps/owncloud/" <Directory "/var/www/webapps/owncloud/"> Include conf/include/Directory_html_default.conf </Directory>
... или делаем сервер ownCloud как виртуальный хост.
- Перегрузить:
root@cloud home]# service httpd2 restart
Набраем в браузере http://server/owncloud,в окне мастера заполняем нужные поля нажимаем>[Завершить установку]
- СОВЕТ:Если при попытке открытия страницы первичных настроек возникает ошибка типа "отсутствия модуля php5-curl" удалите комментарий в строке:
root@cloud home]# 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, ), ), );
ВАЖНО:Если были внесены изменения необходимо перегрузить вэб-сервер.
- Регистрируемся на нашем 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:
root@cloud home]# mv /var/www/webapps/data /vol/owncloud/data root@cloud home]# vim /var/www/webapps/config/config.php 'datadirectory' => '/vol/owncloud/data', wq root@cloud home]# service httpd2 restart
Удаление ALT/ownCloud.
Для удаления ownCloud необходимо почистить следующие каталоги и БД:
root@cloud home]# apt-get remove owncloud root@cloud home]# rm -r /var/www/webapps/owncloud root@cloud home]# rm -r /etc/ownclud root@cloud home]# 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/
mig