Облачные технологии · 7 min read · Jan 05, 2026

Запустите свой собственный облачный сервис: Установка OwnCloud 9 на Debian 8

OwnCloud предоставляет вам возможность запустить облачный сервис хранения данных, которым вы управляете и контролируете самостоятельно. Последняя версия, ownCloud 9.0, была выпущена 8 марта.

Установка ownCloud

Давайте рассмотрим процесс установки ownCloud 9.0 на систему с установленным Debian Jessie.

1. Установите необходимые и рекомендуемые пакеты

Начните с установки поддерживающих программных пакетов. OwnCloud использует PHP и рекомендует MariaDB в качестве своей базы данных. Войдите как root и установите следующие пакеты с помощью apt-get:

apt-get install mariadb-server mariadb-client apache2 libapache2-mod-php5 php5-json php5-gd php5-mysql php5-curl php5-intl php5-mcrypt php5-imagick

2. Скачайте

Затем скачайте пакет ownCloud 9.0. На этом этапе мы также загрузим SHA256 хэш, публичную PGP подпись ownCloud и PGP подпись для программного пакета. Мы будем использовать их на следующих этапах для проверки и аутентификации программного обеспечения перед его установкой. SHA256 является рекомендуемым алгоритмом проверки, но если вы предпочитаете проверять с помощью MD5, этот хэш также доступен для загрузки на сайте ownCloud.

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

wget https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
wget https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2.sha256
wget https://owncloud.org/owncloud.asc
wget https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2.asc

3. Проверьте целостность загруженного пакета

Проверьте, что SHA256 хэш загруженного программного архива совпадает с суммой, предоставленной ownCloud:

sha256sum -c owncloud-9.0.0.tar.bz2.sha256

Успешный вывод:

owncloud-9.0.0.tar.bz2: OK

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

4. Импортируйте публичный ключ PGP ownCloud в ключевую цепочку GnuPG

Далее мы будем использовать GnuPG для проверки подлинности программного пакета. Для этого сначала импортируйте публичный PGP ключ ownCloud в вашу ключевую цепочку GnuPG.

gpg --import owncloud.asc

Успешный вывод:

[...]  
gpg: Всего обработано: 1  
gpg: импортировано: 1 (RSA: 1)

5. Проверьте подлинность подписи пакета

Далее используйте GnuPG для проверки подписи программного пакета. Он проверит подпись по архиву, используя ключ, который вы импортировали на предыдущем шаге.

gpg --verify owncloud-9.0.0.tar.bz2.asc

Успешный вывод:

[…]
gpg: Хорошая подпись от “ownCloud < [email protected] >”
[…]

Вы получите предупреждение о том, что подпись ownCloud еще не доверена. Доверие к подписи является необязательным шагом, который вы можете выполнить самостоятельно. Для получения дополнительной информации о доверии к публичным ключам обратитесь к Руководству по конфиденциальности GNU, Глава 3.

6. Извлеките программный пакет

После проверки и аутентификации загрузки извлеките его.

tar xjvf owncloud-9.0.0.tar.bz2

7. Скопируйте директорию ownCloud в корень документов Apache2

Далее скопируйте вновь созданную директорию owncloud и ее содержимое в корень ваших веб-документов. В Debian 8 Apache2 использует /var/www/html в качестве своего корневого документа по умолчанию; вы можете настроить это местоположение, если хотите. В этом руководстве мы поместим owncloud непосредственно в /var/www.

cp -r owncloud /var/www

8. Добавьте owncloud в доступные сайты Apache2

Теперь мы можем начать настраивать Apache2. Создайте копию файла конфигурации сайта по умолчанию, /etc/apache2/sites-available/000-default.conf, назвав ее owncloud.conf.

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/owncloud.conf

9. Отредактируйте конфигурацию сайта ownCloud

Как root, откройте /etc/apache2/sites-available/owncloud.conf в текстовом редакторе. Внесите следующие изменения:

  1. Найдите строку ServerName и раскомментируйте ее, удалив ведущий #
  2. Измените значение ServerName так, чтобы оно соответствовало имени хоста, которое будет отображаться в URL, который вы используете для доступа к серверу: например, www.mypersonaldomain.com или myhostname
  3. Добавьте следующие строки в конец файла, изменив имя директории ** по мере необходимости, чтобы соответствовать местоположению, где вы поместили owncloud:
Alias /owncloud "/var/www/owncloud/"  
  
  
  Options +FollowSymlinks  
  AllowOverride All  
  
   
  Dav off  
   
  
 SetEnv HOME /var/www/owncloud  
 SetEnv HTTP_HOME /var/www/owncloud  
  

10. Создайте символическую ссылку на файл конфигурации в /etc/apache2/sites-enabled

Создайте символическую ссылку на вашу конфигурацию сайта в директории /etc/apache2/sites-enabled:

ln -s /etc/apache2/sites-available/owncloud.conf /etc/apache2/sites-enabled/owncloud.conf

11. Включите модули Apache2

OwnCloud требует mod_rewrite. Включите его:

a2enmod rewrite

Рекомендуется также модуль headers. Включите его:

a2enmod headers

Также рекомендуется включить модули env, dir и mime. Эти модули обычно включены по умолчанию, но вы можете вручную включить их для безопасности:

a2enmod env
a2enmod dir
a2enmod mime

12. Включите конфигурацию сайта ownCloud и перезапустите Apache2

Включите вашу конфигурацию сайта:

a2ensite owncloud

Перезапустите службу Apache2, чтобы ваши изменения вступили в силу:

service apache2 restart

13. Установите разрешения для файлов ownCloud

Перед тем как начать настраивать ownCloud, вам нужно убедиться, что у HTTP пользователя/группы есть разрешение на внесение изменений в файлы ownCloud. В Debian этот пользователь и группа называются www-data. Сделайте их владельцем директории owncloud и всего ее содержимого.

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

Затем уточните эти разрешения. Точные разрешения для установки owncloud:

  • Все файлы должны быть доступными для чтения и записи для владельца файла, только для чтения для группы владельца и недоступны для других
  • Все директории должны быть исполняемыми, доступными для чтения и записи для владельца директории и только для чтения для группы владельца
  • Директория apps/ должна принадлежать [HTTP user]:[HTTP group]
  • Директория config/ должна принадлежать [HTTP user]:[HTTP group]
  • Директория themes/ должна принадлежать [HTTP user]:[HTTP group]
  • Директория assets/ должна принадлежать [HTTP user]:[HTTP group]
  • Директория data/ должна принадлежать [HTTP user]:[HTTP group]
  • Файл [ocpath]/.htaccess должен принадлежать root:[HTTP group]
  • Файл data/.htaccess должен принадлежать root:[HTTP group]
  • Оба файла .htaccess должны быть доступны для чтения и записи для владельца файла, только для чтения для группы владельца и недоступны для других

Чтобы соответствовать этой структуре разрешений, скопируйте и вставьте следующий скрипт в новый файл. В этом примере имя файла скрипта будет /root/oc-perms.sh. Измените значение ocpath, если вы используете пользовательское местоположение.

#!/bin/bash  
ocpath='/var/www/owncloud'  
htuser='www-data'  
htgroup='www-data'  
rootuser='root'  
  
printf "Создание возможных недостающих директорий\n"  
mkdir -p $ocpath/data  
mkdir -p $ocpath/assets  
  
printf "chmod Файлы и директории\n"  
find ${ocpath}/ -type f -print0 | xargs -0 chmod 0640  
find ${ocpath}/ -type d -print0 | xargs -0 chmod 0750  
  
printf "chown Директории\n"  
chown -R ${rootuser}:${htgroup} ${ocpath}/  
chown -R ${htuser}:${htgroup} ${ocpath}/apps/  
chown -R ${htuser}:${htgroup} ${ocpath}/config/  
chown -R ${htuser}:${htgroup} ${ocpath}/data/  
chown -R ${htuser}:${htgroup} ${ocpath}/themes/  
chown -R ${htuser}:${htgroup} ${ocpath}/assets/  
  
chmod +x ${ocpath}/occ  
  
printf "chmod/chown .htaccess\n"  
if [ -f ${ocpath}/.htaccess ]  
 then  
  chmod 0644 ${ocpath}/.htaccess  
  chown ${rootuser}:${htgroup} ${ocpath}/.htaccess  
fi  
if [ -f ${ocpath}/data/.htaccess ]  
 then  
  chmod 0644 ${ocpath}/data/.htaccess  
  chown ${rootuser}:${htgroup} ${ocpath}/data/.htaccess  
fi

Сделайте скрипт исполняемым:

chmod u+x /root/oc-perms.sh

Выполните его:

/root/oc-perms.sh

14. Создайте базу данных ownCloud и пользователя базы данных

Далее подготовьте базу данных для использования ownCloud. Войдите в клиент MariaDB как корневой пользователь базы данных:

mysql -u root -p

Вам будет предложено ввести пароль корневого пользователя базы данных. Если вы установили MariaDB впервые на шаге 1, вам предложили создать этот пароль. Введите его сейчас. Вы окажетесь на приглашении клиента MariaDB.

Выберите имя для вашей базы данных owncloud ( ocdbname), пользователя базы данных owncloud ( ocuser) и пароль для этого пользователя ( ocuserpw). Затем выполните следующие две команды на приглашении MariaDB, заменив значения в скобках на свои:

CREATE DATABASE [ocdbname];
GRANT ALL ON [ocdbname].* TO [ocuser]@localhost IDENTIFIED BY '[ocuserpw]';

Выйдите из клиента базы данных:

quit

15. Настройте клиент ownCloud

Перейдите в веб-браузере к вашей установке ownCloud, например, http://myhostname/owncloud. Вам будут представлены поля, где вы можете создать учетную запись администратора ownCloud и ввести значения конфигурации базы данных.

Настройки OwnCloud.

Имя пользователя и Пароль — это значения для пользователя, который будет администрировать установку; установите их на любые значения, которые вам нравятся.

Пользователь базы данных, Пароль базы данных и Имя базы данных должны соответствовать значениям [ocuser], [ocuserpw] и [ocdbname], которые вы создали на предыдущем шаге.

Нажмите Завершить настройку.

Поздравляем! Вы готовы начать использовать ownCloud.

OwnCloud установлен.

Дополнительно: Использование SSL

Рекомендуется шифровать сетевой трафик, который будет проходить в и из ownCloud. Вот несколько шагов, чтобы запустить HTTPS с вашей установкой.

1. Включите SSL в Apache2

a2enmod ssl
a2ensite default-ssl

2. Добавьте конфигурацию виртуального хоста SSL в owncloud.conf

Apache2 поставляется с конфигурацией сайта SSL по умолчанию, расположенной в /etc/apache2/sites-available/default-ssl.conf. Скопируйте содержимое этого файла и вставьте его в верхнюю часть owncloud.conf. В разделе default:443> внесите следующие изменения:

Добавьте строку ServerName с вашим именем хоста в качестве значения, например:

 ServerName myhostname****

Отредактируйте строку DocumentRoot, чтобы отразить родительский каталог установки owncloud, например:

 DocumentRoot /var/www/

3. Сгенерируйте новую пару сертификатов/ключей, если необходимо

Раздел default:443> уже содержит три важных строки для включения SSL, когда сайт доступен по HTTPS:

SSLEngine on  
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem  
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

Значения SSLCertificateFile и SSLCertificateKeyFile указывают на файлы, которые должны уже существовать на вашей системе, установленные в рамках пакетов по умолчанию openssl и ssl-cert. Однако вам может потребоваться регенерировать эти файлы в определенных обстоятельствах — например, если вы вносите изменения в конфигурацию в /etc/hosts.

Если вам нужно регенерировать эти файлы, используйте команду:

make-ssl-cert generate-default-snakeoil --force-overwrite

Для получения дополнительной информации и устранения ошибок сертификатов обратитесь к примечаниям в /usr/share/doc/apache2/README.Debian.gz.

4. Перезагрузите конфигурацию Apache2

service apache2 reload

Теперь вы должны иметь возможность получить доступ к вашей установке ownCloud, используя URL с https://. Обратите внимание, что вы получите предупреждение в вашем веб-браузере, потому что ваш сертификат самоподписан. Вам нужно будет вручную добавить ваш сайт в исключения перед установлением безопасного соединения.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.