OwnCloud, делаем своё собственное защищённое облако.

O wnCloud является популярным веб-приложением используется для синхронизации данных и обмена файлами. Он позволяет пользователям легко управлять своими файлами, контактами, календарями, списками дел и многое другое, что делает его отличной альтернативой популярному Google Drive, Dropbox, ICloud и других облачных платформ. OwnCloud является кросс-платформенным и поддерживает все популярные операционные системы, но эта статья была написана специально для . На момент написания последней версии OwnCloud является 10.0.7.

1. Предпосылки

  • PHP> = 5.6 (PHP 7.0 или выше рекомендуется), со следующими расширениями включенными в PHP: XML (Expat), curl, PDO, Phar, GD Graphics Library version 2.0.x+, DOM, ctype, JSON, iconv, intl, mcrypt, openssl, bz2, Zlib и Zip.
  • Apache Web Server> = 2,0 скомпилирован с модулем mod_rewrite
  • MySQL> = 5.x (MySQL 5.5 или более поздней версии), MariaDB 5.5+, PostgreSQL или SQLite , установленных на вашем .

2. Обновление системы

Как обычно перед установкой системных пакетов на сервере, сначала обновите систему:

# sudo apt-get update && apt-get upgrade

3. Установка OwnCloud

# wget -qO- https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key | sudo apt-key add - OK

Убедитесь в том, что apt-transport-https устанавливаются, так как мы будем нуждаться в этом для следующего шага:

# sudo apt-get install apt-transport-https Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: aspell aspell-en dictionaries-common emacsen-common libaspell15 libexttextcat-2.0-0 libexttextcat-data liblua5.1-0 libyajl2 Use "apt autoremove" to remove them. The following NEW packages will be installed: apt-transport-https 0 upgraded, 1 newly installed, 0 to remove and 54 not upgraded. Need to get 26.1 kB of archives. After this operation, 215 kB of additional disk space will be used. Get:1 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 apt-transport-https amd64 1.2.26 Fetched 26.1 kB in 0s (60.8 kB/s) Selecting previously unselected package apt-transport-https. (Reading database ... 35616 files and directories currently installed.) Preparing to unpack .../apt-transport-https_1.2.26_amd64.deb ... Unpacking apt-transport-https (1.2.26) ... Setting up apt-transport-https (1.2.26) ...

Создайте файл owncloud.list в /etc/apt/sources.list.d так что мы могли добавить репозиторий OwnCloud к серверу:

# echo "deb https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /" | sudo tee /etc/apt/sources.list.d/owncloud.list deb https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/ /

Теперь обновите системные пакетов снова, чтобы мы могли установить пакеты OwnCloud:

# sudo apt-get update Hit:1 http://archive.ubuntu.com/ubuntu xenial InRelease Hit:2 http://archive.ubuntu.com/ubuntu xenial-updates InRelease Hit:3 http://archive.canonical.com/ubuntu xenial InRelease Hit:4 http://security.ubuntu.com/ubuntu xenial-security InRelease Ign:5 https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04 InRelease Get:6 https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04 Release Get:7 https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04 Release.gpg Get:8 https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04 Packages Fetched 2203 B in 2s (1030 B/s) Reading package lists... Done

Установка OwnCloud, выполнив следующую команду:

# sudo apt-get install owncloud-files Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: owncloud-files 0 upgraded, 1 newly installed, 0 to remove and 51 not upgraded. Need to get 0 B/35.1 MB of archives. After this operation, 118 MB of additional disk space will be used. Selecting previously unselected package owncloud-files. (Reading database ... 35869 files and directories currently installed.) Preparing to unpack .../owncloud-files_10.0.7-1.1_all.deb ... Unpacking owncloud-files (10.0.7-1.1) ... Setting up owncloud-files (10.0.7-1.1) ...

Теперь мы можем перейти к следующему шагу.

4. Создание базы данных MySQL для OwnCloud

Войдите в MySQL с корневой учетной записью:

# mysql -u root -p

Теперь мы создадим базу данных MySQL для OwnCloud с помощью следующего запроса:

Mysql> CREATE DATABASE owncloud;

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

Mysql> GRANT ALL PRIVILEGES ON owncloud.* to "owncloud"@"localhost" IDENTIFIED BY "enter_username_password_here";

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

Mysql> FLUSH PRIVILEGES;

Теперь мы можем выйти из сеанса MySQL:

Mysql> exit;

5. Настройка OwnCloud

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

# sudo apt-get install libapache2-mod-php7.0 \ openssl php-imagick php7.0-common php7.0-curl php7.0-gd \ php7.0-imap php7.0-intl php7.0-json php7.0-ldap php7.0-mbstring \ php7.0-mcrypt php7.0-mysql php7.0-pgsql php-smbclient php-ssh2 \ php7.0-sqlite3 php7.0-xml php7.0-zip

6. Настройка Apache для сервера OwnCloud

Теперь нам нужно будет настроить конфигурацию Apache, чтобы он мог обслуживать каталог ownCloud, добавить следующее содержимое ниже в файл /etc/apache2/sites-available/owncloud.conf с помощью nano или вашим любимым редактором:

# sudo nano /etc/apache2/sites-available/owncloud.conf Alias /owncloud "/var/www/owncloud/" Options +FollowSymlinks AllowOverride All Dav off SetEnv HOME /var/www/owncloud SetEnv HTTP_HOME /var/www/owncloud

Включите следующие модули Apache:

# sudo a2enmod rewrite # sudo a2enmod headers # sudo a2enmod env # sudo a2enmod dir # sudo a2enmod mime

Включите конфигурацию Apache OwnCloud:

# sudo a2ensite owncloud.conf

Теперь перезапустите веб-сервер Apache:

# sudo systemctl restart apache2

Откройте веб-браузер и введите следующий URL-адрес для доступа к веб-интерфейсу OwnCloud:

Http://your_server_ip_address_or_domain_name/owncloud

Отсюда вы можете закончить установку, выполнив действия, описанные ниже:

  • Введите имя пользователя и пароль для учетной записи администратора.
  • Нажмите ссылку Storage & database.
  • Оставьте значение по умолчанию для папки данных.
  • Нажмите на кнопку MySQL/MariaDB.
  • Заполняем поля с информацией базы данных, которую мы установили выше.
  • Нажмите Готово.

Вот, теперь вы должны были успешно установить OwnCloud 10 на сервере.

OwnCloud - это свободное и открытое веб-приложение для организации своего собственного "облачного" хранилища файлов. Отличается предоставлением пользователю полного контроля над своими данными - информация размещается на подконтрольных пользователю системах. Иными словами с помощью ownCloud вы сможете сделать свой вариант drumbox, yandex диск или SkyDrive , но используя свое облако вы избавитесь от одного из недостатков облаков других компаний предоставляющих этот сервис, все данные будут храниться на ваших дисках (подконтрольных вам дисках) . OwnCloud можно сделать как на VDS/VPS (виртуальные сервера арендуемые у хостера), так и на домашнем компьютере. В этой статье я остановлюсь на домашнем варианте, хотя установка и возможности не будут отличаться от установки на VDS/VPS.

Для начала разберем, что же такого особенного предоставляет OwnCloud:

1 Первое что приходит в голову- хранилище файлов (фото, видео, документы). В случае если вы разворачиваете OwnCloud на своем компьютере можно не ограничиваться 10-20 Гб (как у сторонних сервисов), а смело использовать 500 Гб, 1 Тб и т.д.

2 Вы сможете делиться своими файлами с другими пользователями.

3 Можно открывать/ создавать тестовые файлы (.ODF .odt, ODP, .ods расширения), прослушивать музыку, просматривать видео.

4 Сможете синхронизировать данные с компьютером (Windows, Mac, Linux).

5 Если установленного функционала вам мало, сможете расширить его с помощью установки дополнительных приложений и расширить возможности облачного хранилища.

Предлагаю перейти к установке OwnCloud. В этой статье я буду устанавливать на Ubuntu Server 12.04. Установка OwnCloud требует минимум усилий, достаточно запустить команду

sudo apt-get install owncloud

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

Во время установки потребуется ввести пароль для SQL, рекомендую использовать пароль не менее 8 символов с заглавными буквами, цифрами и спец знаками (!"№#$).

Спустя несколько секунд установка будет закончена. Теперь необходимо создать базу данных для работы с облачным хранилищем, для этого выполните команды:

mysql -u root -p
create database <имя_базы_mysql>;
grant all privileges on owncloud.* to <имя_пользователя_mysql>@localhost identified by "пароль_пользователя_mysql";
exit

Например:

mysql -u root -p
create database owncloud;
grant all privileges on owncloud.* to root@localhost identified by "Cloud50$";
exit

Теперь вы сможете донастроить ownCloud, для этого необходимо в браузере зайти по ссылке

/owncloud

В моем случае:

192.168.1.6/owncloud

В открывшемся веб интерфейсе необходимо ввести учетные данные для входа в облачное хранилище (рекомендую указать сложный пароль с заглавными буквами, цифрами и спец знаками (!@#!"№)), путь хранения файлов и данные SQL (логин и пароль).

Поясню, что логин и пароль вы указываете уникальный, путь где будут храниться файлы можно оставить по умолчанию, логин в базу SQL логин- root, пароль который вы указали при установке SQL и название базы, которое вы указали ранее. Нажмите "Завершить установку ".

После этого вы попадете на веб интерфейс вашего облака.

Для того, что бы загрузить файл, нажмите кнопку со стрелкой и выберите необходимый файл для загрузки. Как вы можете заметить файлы можно загрузить ограниченного размера (этот размер берется от объема оперативной памяти). Это значение можно изменить в настройках.

Дает возможность хранить данные в безопасном месте и держать их под вашим контролем. Аналог Dropbox, можно загружать все виды медиа — файлов
(видео, фото, музыку) документы. Отличается OwnCloud от Dropbox тем, что это открытый исходный код, в свободном доступе.
Ваши данные доступны из любой точки земного шара, где есть интернет и на любых устройствах: смартфонах, планшетах, ПК и ноутбуках.

Что нового в версии 9.0

  • Коментарии к файлам
  • Метки файлов
  • Уведомления
  • Автозаполнение имен пользователей
  • Доверенные сервера
  • Код подписи проверяется при обновлении или установке ядра и приложения
  • Автономные обновления для более надежной модернизации
  • Улучшены возможности и производительность при совместном использовании
  • Новый API-интерфейсы для повышения маcштабируемости используя внешние системы хранения данных
  • Календарь и Контакты были полностью переписаны и теперь CalDAV и CardDAV являются частью ядра
  • Усилена безопасность
  • OwnCloud API работает для улучшения маcштабируемости
  • Множество небольших улучшений

В Администрировании

  • Отдельное шифрование для локальных и удаленных систем хранения данных. Вы можете шифровать на удаленных системах хранения, а на локальных не использовать шифрование.
  • Новые команды, для передачи файлов между пользователями
  • Оптимизирован совместный обмен между пользователями и группами
  • Настраиваемый сброс пароля URL
  • Добавлены новые параметры для командной строки в приложение Updater
  • Много новых команд OCC
  • Опции администрирования, включения/отключения внешних систем хранения данных (точки монтирования)
  • Новые OCC команды для миграции контактов и календарей с версии 8.2> если автоматическая миграция не удалась и новые команды для создания адресных книг и календарей пользователей (команды DAV)
  • Введена поддержка второго имени(атрибута) для LDAP.

Для установки Owncloud нам потребуется:

  • Linux или BSD сервер (так же можно установить и на Mac OS)
  • MySQL5.5 +/MariaDB
  • PHP 5.4 или выше
  • Apache 2.2+

Поддерживаемые LINUX системы:

  • CentOS 7
  • Debian 8
  • RHEL 7
  • SLES 12
  • Ubuntu 14.04,15.10

Подготовка

В архиве Owncloud содержаться все необходимые пакеты для PHP. Ниже перечислены обязательные и не обязательные пакеты. Что бы проверить установленные модели РНР введите в командной строке PHP -m | Grep -i /

Необходимые модули для PHP:

PHP5 (>=5.4)
PHP module ctype
PHP module dom
PHP module GD
PHP module iconv
PHP module JSON
PHP module libxml (Linux package libxml2 должен быть >=2.7.0)
PHP module mb multibyte
PHP module posix
PHP module SimpleXML
PHP module XMLWriter
PHP module zip
PHP module zlib

Для баз данных (выбрать только один):

PHP module sqlite (>= 3,не рекомендуется из соображения производительности)
PHP module pdo_mysql (MySQL/MariaDB)
PHP module pgsql (requires PostgreSQL >= 9.0)

PHP module curl (настоятельно рекомендуется, некоторые функциональные возможности, например, аутентификация пользователя HTTP, от этого зависит)
PHP module fileinfo (настоятельно рекомендуется, повышает производительность анализа файлов)
PHP module bz2 (рекомендуется, необходимое для извлечения приложений)
PHP module intl (увеличивает производительность языка перевода и исправления сортировки не-ASCII символов)
PHP module mcrypt (повышает производительность шифрования файлов)
PHP module openssl (необходим для доступа к ресурсам HTTPS)

Требуемые для некоторых приложений:

PHP module ldap (для интеграции LDAP)
PHP module smbclient (интеграция SMB / CIFS см SMB / CIFS)
PHP module ftp (FTP для хранения аутентификации / внешний пользователь)
PHP module imap (для внешней аутентификации пользователя)

PHP module exif (для поворота изображения в картинках приложение)
PHP module gmp (для хранения по SFTP)

Для повышения производительности сервера (по желанию) выберите один из следующих систем кэширования:

PHP module apc
PHP module apcu
PHP module memcached
PHP module redis (> = 2.2.5, необходимое для транзакционного Блокирование файлов)

Вам не нужен модуль WebDAV для вашего веб — сервера (т.е. mod_webdav Apache), так как OwnCloud имеет свой встроенный WebDAV сервер, SabreDAV. Если mod_webdav включен, вы должны отключить его для OwnCloud.

Установка на Ubuntu 14.04 LTS Server

Для этого потребуется установить дополнительные пакеты из командной строки с root правами

#apt-get install apache2 mariadb-server libapache2-mod-php5

#apt-get install php5-gd php5-json php5-mysql php5-curl

#apt-get install php5-intl php5-mcrypt php5-imagick

Эти пакеты, для установки базовой системы Owncloud. Если вы планируете запускать дополнительные приложения, то может потребоваться установка дополнительных пакетов
При установке MySQL/MariaDB, вам будет предложено создать пароль администратора базы данных.
Обязательно его запомните, т.к. он потребуется далее, для установки базы данных OwnCloud

Далее загружаем архив последней версии Owncloud:

Переходим по ссылке ownCloud Download Page
Скачиваем файл с именем OwnCloud-xyztar.bz2 или OwnCloud-xyz.zip (где хуz это номер версии).

Конфигурируем web сервер Apache

В Debian, Ubuntu, и их производных, Apache устанавливается в нужной для нас фигурации, так что все, что вам нужно сделать, это создать файл в /etc/apache2/sites-available/owncloud.conf со следующим содержанием строк в нем, заменяя директории и другие пути к файлам вашими собственными: расположениями к файлам

# nano /etc/apache2/sites-available/owncloud.conf

Дополнительные настройки Apache

Для корректной работы owncloud, мы должны включить модуль mod_rewrite

Также можно использовать mod_fcgi вместо стандартного mod_php

При использовании SSL, обратите особое внимание на запись ServerName . Вы должны указать такое же имя в конфигурации сервера, а также в поле CommonName сертификата.
Теперь перезапустите Apache:

#service apache2 restart

Если вы используете OwnCloud в подкаталоге и хотите использовать CalDAV или CardDAV для клиентов убедитесь, что вы настроили правильно сервис обнаружения URL

Включение SSL

Вы можете использовать через обычный HTTP, но настоятельно рекомендуется использовать SSL / TLS для шифрования всего трафика сервера, а также для защиты учетных записей пользователя и данных в процессе передачи.
Apache установленный под Ubuntu поставляется уже с настроенным простым самоподписанным сертификатом. Все, что вам нужно сделать, это включить модуль SSL и узел по умолчанию. Откройте терминал и выполните команду:

Запускаем браузер и вводим http://ip-server/owncloud

На экране появиться следующее содержание, осталось только ввести данные и процесс установки OwnCloud закончен.

Задаем логин Администратора Owncloud сервера

Вводим пароль администратора Owncloud сервера

Указываем место хранения данных, можно оставить по умолчанию и потом изменить.

Пользователь базы данных root

Пароль пользователя базы данных (тот, что мы задавали выше при установке баз данных)

Это Свободное и открытое веб-приложение для синхронизации данных, расшаривания файлов и удалённого хранения документов в «облаке». Возможности

  • Хранение файлов с использованием обычных структур каталогов, или с использованием WebDAV
  • Криптография
  • Синхронизация между клиентами под управлением Windows (Windows XP, Vista, 7 и 8), Mac OS X (10.6 и новее) или Linux
  • Календарь (также как CalDAV)
  • Планировщик задач
  • Адресная книга (также как CardDAV)
  • Потоковое мультимедиа (используется Ampache)
  • Администрирование пользователей и групп (с использованием OpenID или LDAP)
  • Расшаривание контента между группами или используя публичные URL
  • Онлайн текстовый редактор с подсветкой синтаксиса и сворачиванием
  • Закладки
  • Механизм сокращения URL
  • Фотогалерея
  • Просмотрщик PDF (используется PDF.js)
  • Просмотрщик ODF файлов (.odt, .odp, .ods)
  • Модуль логирования

Установка Установку ownCloud я решил сильно упростить, используя готовый дистрибутив от Bitnami , в который интегрированы Apache и PHP. Скачиваем и запускаем установочный файл. Выбираем папку для установки.
Создаем учетную запись администратора.
Указываем хост сервера. Я указал IP-адрес.
Настраиваем почту.Этот этап можно пропустить и настроить почту позже.
Пропускаем предложение посетить сайт Bitnami.
Все готово для установки, жмем Далее.
Ждем завершения установки.
После завершения установки запускаем Bitnami ownCloud Stack.

Настройка ownCloud. В Bitnami ownCloud Stack нажимаем Go To Application, в браузере открывается приветственная страница. Жмем ссылку «Access Bitnami ownCloud Stack».
Открывается окно входа в ownCloud.
Вводим регистрационные данные, указанные на этапе установки. Получаем полнофункциональный облачный сервис!
В верхнем меню слева выбираем Приложения.
У меня список приложений загружался почему-то очень долго. В нем выбираем LDAP User and Group backend и включаем приложение.
Далее заходим в Администрирование.
Опускаемся до LDAP-секции и видим сообщение, что модуль LDAp для PHP не установлен. Включаем (раскомментируем) в php.ini строку extension=php_ldap.dll . Не забываем перезапустить серверы в Bitnami ownCloud Stack на вкладке Manage Servers, чтобы изменения вступили в силу.

Настройка интеграции ownCloud с LDAP. Заходим под администраторской учетной записью в меню Администрирование. Проматываем вниз и ставим галочку напротив Enable LDAP Backend.
Далее возвращаемся к LDAP-секции и заполняем ее. Предварительно я создал пользователя owncloudaduser в контейнере Users. Ему не нужно членство в каких-то группах корме Domain Users. Пароль сделаем ему бессрочным. Во второе поле пишем содержимое атрибута distinguishedName из влкадки Редактора атрибутов. Она станет доступна в свойствах учетной записи, если в оснастке Active Directory Users and Computers в меню Вид (View) включить Дополнительные компоненты (Advanced Features).
На вкладке Login устанавливаем атрибут для входа. У меня это имя пользователя LDAP.
Далее на вкладке Дополнительно устанавливаем параметры подключения. Делаем нашу конфигурацию активной.
Заполняем настройки каталога.
Затем Специальные атрибуты. Важно заполнить поле mail, если вы планируете использовать уведомления по почте.
Не забываем Сохранить настройки. Возвращаемся на вкладку Пользователи. В качестве объектов я указал User, и сразу нашлось 1483 пользователя.
Вот и все, интеграция ownCloud с LDAP завершена.

Здравствуйте, хабравчане! Сегодня я хотел бы рассказать о персональном облачном хранилище ownCloud и его установке.

Для нас уже стало обыденным использование таких сервисов как Dropbox, Google Drive, SkyDrive или даже Облако Mail.Ru, мы пользуемся их услугами каждый день не обращая внимание на явные недостатки тех или иных серверов. На одном, сервисе мало места, на другом нет локализации, на третьем ненадежное хранилище, на четвертом кривой интерфейс и так далее, но у всех этих сервисов есть общий существенный недостаток - ваши данные всегда хранятся на неконтролируемых вами серверах. В случае когда необходимо использовать сервисы для размещения данных не имеющих для вас большой ценности - этих сервисов должно полностью хватить. В случае если, необходима защита контента, полная конфиденциальность, безопасность, неограниченное количество свободного места, возможность организовать многопользовательский доступ для работы в группах, контроль версий, синхронизация, возможность просматривать документы, таблицы, изображения, видеоматериалы, аудиозаписи, заметки из любой точки мира без необходимости их загрузки - ownCloud это то что вам нужно.

Давайте подробнее рассмотрим ownCloud и попробуем его установить

OwnCloud переводиться буквально как «собственное облако». Это CMS с открытым кодом, которое можно загрузить на свой компьютер и позднее установить его на хостинг или собственный сервер. По функциональности ownCloud не отстает от ведущих компаний в мире облачных хранилищ, а некоторых превосходит.

За простым лаконичным интерфейсом скрывается большой функционал расширяемый еще более с помощью предустановленных модулей и собственного App store представленного на официальном сайте.

Возможности ownCloud «из коробки»:

  • Многопоточная загрузка данных «перетягиванием» при помощи технологии Drag-and-drop
  • Редактирование прав на доступ к файлам для конкретных пользователей, групп или интернета
  • Подключение и просмотр новостных RSS лент
  • Просмотр изображений, видео, офисных документов
  • Синхронизируемый календарь, менеджер задач, менеджер контактов, менеджер веб закладок
  • Отслеживание активности пользователей
  • Защищенное соединение, шифрование данных, LDAP\WebDAV аутентификация
  • Поддержка внешних хранилищ: Google Drive, Dropbox, FTP, SMB, WebDAV, Amazon S3, IRODS, OpenStack Object Storage, а так же локальных
  • Клиентские приложения с полной синхронизацией для всех актуальных платформ

Это всего лишь краткий список возможностей ownCloud, но уже сейчас видны его преимущества. При желании можно добавить почтовый клиент, торрент клиент, чат с видео, полноценный офис, проверку фалов на VirusTotal и многое другое.

Перейдем от теории к практике.

Установка ownCloud на сервер под управлением Debian 7 wheezy

1.Установка базового ПО

Прежде чем начинать давайте убедимся что наша система в актуальном состоянии.
Открываем терминал и вводим:
sudo apt-get update && sudo apt-get upgrade
Эти две простые команды обновят все программы на нашем сервере, процесс может занять длительное время в зависимости от скорости интернета и нашего сервера.

Теперь, можно приступить к установке необходимого для работы ownCloud программного обеспечения:
sudo apt-get install apache2 php5 php5-common php5-gd php5-intl php5-mcrypt php5-cli php5-ldap php5-sqlite curl libcurl3 libcurl4-openssl-dev php5-curl php-apc php5-mysql ffmpeg
Теперь у нас есть все необходимое для быстрого развертывания ownCloud на нашем сервере и можно переходить к пункту 4 или продолжить полную установку вместе со мной.

2.Установка MySQL

Устанавливаем MySQL:
apt-get install mysql-client mysql-server
Создаем пароль для базы данных MySQL и идем дальше.

Важно:

Теперь немножко позаботимся о нашей безопасности, вводим в консоль:
mysql_secure_installation
На все вопросы кроме «Change the root password» (Если не хотите менять пароль MySQL) отвечаем положительно Y.

Входим в консоль управления MySQL и вводим пароль (его не видно):
mysql -u root -p
Создаем базу данных:
create database Имя_БД;
Создаем пользователя, желательно с именем как и у базы данных:
create user "Имя_пользователя"@"localhost" IDENTIFIED BY "Новый_пароль";
Важно: пароль не должен совпадать с паролем суперпользователя.

Передаем созданному пользователю полные права на созданную базу данных:
GRANT ALL ON Имя_БД.* to "Имя_пользователя"@"localhost" ;
Выходим:
quit

3.Установка ntp для синхронизации времени на сервере

Устанавливаем ntp клиент:
apt-get install ntp ntpdate
Теперь меняем сервер синхронизации времени на ближайший:
sudo gedit /etc/ntp.conf
В открывшемся фале находим:

server 0.debian.pool.ntp.org iburst dynamic
server 1.debian.pool.ntp.org iburst dynamic
server 2.debian.pool.ntp.org iburst dynamic
server 3.debian.pool.ntp.org iburst dynamic

Меняем на адреса ближайших к нам npt серверов, например на:
server 0.ru.pool.ntp.org iburst dynamic
server 1.ru.pool.ntp.org iburst dynamic
server 2.ru.pool.ntp.org iburst dynamic
server 3.ru.pool.ntp.org iburst dynamic

Сохраняем и выходим из редактора.

Чтобы проверить правильность времени достаточно ввести в терминале:
ntpdate 0.ru.pool.ntp.org
Если время на нашем сервере не соответствует времени полученному с ntp сервера вводим:
ntpdate -bs 0.ru.pool.ntp.org

4.Настройка

Редактируем файл /etc/apache2/sites-enabled/000-default:
sudo gedit /etc/apache2/sites-enabled/000-default
Находим строчку в разделе "":


Меняем на:

Сохраняем файл и выходим.

Перезапускаем apache:
service apache2 restart
Редактируем php.ini:
sudo gedit /etc/php5/apache2/php.ini
Находим строчки:
mysql.default_socket = mysql.cache_size = memory_limit = post_max_size = upload_max_filesize =
Меняем на:
mysql.default_socket=/var/run/mysqld/mysqld.sock mysql.cache_size = 4000 upload_max_filesize = 1024M //максимальный размер файла который мы можем загрузить на наш сайт post_max_size = 1024M //Должен быть больше или равен upload_max_filesize memory_limit = 1024M //Должен быть больше или равен post_max_size
Сохраняем файл и выходим.

Перезапускам apache еще раз:
service apache2 restart

5.Установка ownCloud

Загружаем последнюю версию ownCloud, на момент написания ownCloud 6:
cd /var/www/
wget http://download.owncloud.org/community/owncloud-6.0.0a.tar.bz2

Также, можно просто скачать последнюю версию с официального сайта ownCloud в папку /var/www/

Распаковываем:
tar -xvf owncloud-6.0.0a.tar.bz2

Выставляем права:
sudo chown -R www-data:www-data /var/www/owncloud/

Теперь наш сайт готов, остался только маленький штрих, открываем в браузере localhost/owncloud

А) Для тех кто сразу перешел на пункт 4: Придумываем login и пароль для администратора - входим
B) Для тех кто установил MySQL: Придумываем login и пароль для администратора, выбираем «advanced» затем «MySQL» и вводим имя ранее созданного пользователя базы данных, его пароль, имя самой базы данных, в поле Database host пишем localhost.

Готово! Теперь вы счастливый обладатель персонального облака owncloud с синхронизацией на всех устройствах в вашей домашней сети, для этого достаточно набрать в браузере ваш_внутренний_IP/ownCloud или если вы подключены к интернету напрямую можно получить доступ к owncloud набрав внешний_IP/ownCloud.

Настройка доступа к ownCloud из интернета через рутер

Рассмотрим пример на основе роутера asus rt-n16:

Из браузера заходим на адрес 192.168.1.1, вводим логин и пароль и входим в веб интерфейс роутера:

веб интерфейс


1. Переходим во вкладку «интернет» 2. Переходим во вкладку «переадресация портов» (Virtual Server / Port Forwarding) 3. Включаем переадресацию.

Меню переадресации портов


4. Выбираем уже заботливо подготовленные для нас профили: FTP и HTTP.

Выбор подготовленных профилей


5. Выбираем внутренний IP адрес нашего сервера («ip a» в терминале, адрес вида 192.168.1.X или 192.168.0.X) и нажимаем "+" что бы добавить в список

Выбор внутреннего IP сервера


6. По аналогии заполняем и добавляем нужные нам порты, затем нажимаем кнопку «Применить»

Список портов для ownCloud

Заметки

1. Некорректная установка приложения в разделе Apps

В случае если после включения приложения веб сайт начал некорректно работать я нашел 3 решения:
1.Полная переустановка.
2.Очистить базу данных созданную для owncloud в phpmyadmin и удалить файл:
rm -f \var\www\owncloud\config\config.php
3.Наверное самый приятный вариант, переместить папку с приложением после которого начались проблемы из папки \var\www\owncloud\apps в любую другую, проверить что сайт работает, вернуть папку на место и не трогать до фикса.

2. Авто login пользователя как только он заходит на сайт

1. Создаем в админ панели пользователя, к примеру Gman с паролем noclip.
2. Открываем файл base.php:
Sudo gedit /var/www/owncloud/lib/base.php
3. В самом конце находим строчи:
protected static function tryBasicAuthLogin() { if (!isset($_SERVER["PHP_AUTH_USER"]) || !isset($_SERVER["PHP_AUTH_PW"])) { return false; } OC_App::loadApps(array("authentication")); if (OC_User::login($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])) { //OC_Log::write("core","Logged in with HTTP Authentication", OC_Log::DEBUG);

Заменяем на

Protected static function tryBasicAuthLogin() { //if (!isset($_SERVER["PHP_AUTH_USER"]) // || !isset($_SERVER["PHP_AUTH_PW"]) //) { // return false; //} if (OC_User::login(Gman, noclip)) { OC_App::loadApps(array("authentication")); //if (OC_User::login($_SERVER["PHP_AUTH_USER"], $_SERVER["PHP_AUTH_PW"])) { //OC_Log::write("core","Logged in with HTTP Authentication", OC_Log::DEBUG);

1. Открываем fileactions.js
Sudo gedit /var/www/owncloud/apps/files/js/fileactions.js
2. Ищем следующие строки:
remove the existing delete action parent.parent().children().last().find(".action.delete").remove(); if (actions["Delete"]) { var img = FileActions.icons["Delete"]; if (img.call) { img = img(file); } if (typeof trashBinApp !== "undefined" && trashBinApp) { var html = ""; } else { var html = ""; } var element = $(html); element.data("action", actions["Delete"]); element.on("click", {a: null, elem: parent, actionFunc: actions["Delete"]}, actionHandler); parent.parent().children().last().append(element); }
3. Комментируем их:
// remove the existing delete action // parent.parent().children().last().find(".action.delete").remove(); // if (actions["Delete"]) { // var img = FileActions.icons["Delete"]; // if (img.call) { // img = img(file); // } // if (typeof trashBinApp !== "undefined" && trashBinApp) { // var html = "
"; // } else { // var html = ""; // } // var element = $(html); // element.data("action", actions["Delete"]); // element.on("click", {a: null, elem: parent, actionFunc: actions["Delete"]}, actionHandler); // parent.parent().children().last().append(element); // }

4. Открываем:
Sudo gedit /var/www/owncloud/apps/files/js/files.js

5. Находим следующие строчки:

$(".delete-selected").click(function(event) { var files=getSelectedFilesTrash("name"); event.preventDefault(); FileList.do_delete(files); return false; });

6. Комментируем их:
//$(".delete-selected").click(function(event) { // var files=getSelectedFilesTrash("name"); // event.preventDefault(); // FileList.do_delete(files); // return false; // });

Статьи по теме: