Owncloud — это лидирующая на рынке система обмена файлами в Интернете, которая позволяет легко создавать резервные копии и делиться файлами. Если вы не являетесь поклонником DropBox или Google Drive, то OwnCloud — отличная альтернатива.
В этой статье мы познакомим вас с установкой OwnCloud в Debian 10.
Шаг 1: Установка LAMP Stack в Debian
Поскольку OwnCloud запускается в браузере и на бэк-энде, сохраняя данные в базе данных, нам нужно сначала установить стек LAMP. LAMP — это популярный бесплатный хостинг с открытым исходным кодом, используемый разработчиками для размещения своих веб-приложений. Он обозначает Linux, Apache, MariaDB/MySQL и PHP.
Во-первых, давайте обновим системные репозитории:
$ sudo apt update && sudo apt upgrade
Затем установите веб-сервер Apache и сервер базы данных MariaDB, выполнив команду:
$ sudo apt install apache2 mariadb-server mariadb-client
После завершения установки продолжите и установите PHP 7.2. На момент написания этого руководства PHP 7.3 еще не поддерживался, поэтому лучше всего использовать PHP 7.2.
Итак, включите репозиторий PHP, как показано:
$ sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
$ sudo echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
Когда вы закончите создавать репозиторий для PHP, обновите системные пакеты и репозитории, чтобы новый PHP-репозиторий вступил в силу:
$ sudo apt update
Теперь установите PHP и необходимые зависимости, как показано ниже:
$ sudo apt install php7.2 libapache2-mod-php7.2 php7.2-{mysql,intl,curl,json,gd,xml,mb,zip}
После установки проверьте версию PHP с помощью команды:
$ php -v
Также убедитесь, что веб-сервер Apache работает, выполнив команду:
$ systemctl status apache2
Если Apache запущен и работает, вы должны получить вывод, аналогичный показанному ниже, что означает, что он «активен»:
Если Apache не запущен, запустите и включите его при загрузке, выполнив следующие команды:
$ systemctl start apache2
$ systemctl enable apache2
Шаг 2. Создание базы данных для файлов OwnCloud
Следующим шагом будет создание базы данных для обработки файлов OwnCloud во время и после установки.
Авторизуйтесь на сервере MariaDB:
$ mysql -u root -p
Как установить OwnCloud в Debian 10? После входа в систему создайте базу данных для OwnCloud:
MariaDB [(none)]> CREATE DATABASE owncloud;
Создайте пользователя для базы данных OwnCloud и предоставьте ему все привилегии:
MariaDB [(none)]> GRANT ALL ON owncloud.* TO 'owncloud_user'@'localhost' IDENTIFIED BY '[email protected]';
Наконец, сбросьте привилегии и выйдите:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Шаг 3: Установка OwnCloud в Debian
По умолчанию OwnCloud не включен в репозитории Debian 10. Тем не менее, OwnCloud поддерживает репозиторий для каждого дистрибутива. Репозиторий для Debian 10 еще не выпущен, и поэтому мы будем использовать репозиторий Debian 9.
Сначала установите ключ подписи PGP:
$ sudo apt-get install curl gnupg
$ sudo curl https://download.owncloud.org/download/repositories/10.2.1/Debian_9.0/Release.key | apt-key add -
Как установить OwnCloud в Debian 10? После того, как ключ подписи установлен, включите репозиторий OwnCloud:
$ sudo echo 'deb http://download.owncloud.org/download/repositories/10.2.1/Debian_9.0/ /' > /etc/apt/sources.list.d/owncloud.list
Еще раз обновите вашу систему, чтобы повторно синхронизировать системные пакеты и установить Owncloud:
$ sudo apt update
$ sudo apt-get install owncloud-files
Меняем права доступа чтобы веб-сервер имел право записи в папку с Owncloud:
$ sudo chown -R www-data:www-data /var/www/owncloud/
Шаг 4: Настройка Apache для OwnCloud
После установки OwnCloud сохраняет свои файлы в каталоге /var/www/owncloud. Поэтому нам необходимо настроить наш веб-сервер для обслуживания файлов OwnCloud.
Итак, создайте файл виртуального хоста для Owncloud, как показано ниже:
$ sudo vim /etc/apache2/sites-available/owncloud.conf
Как установить OwnCloud в Debian 10? Добавьте конфигурацию ниже и сохраните:
Alias / "/var/www/owncloud/"
<Directory /var/www/owncloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
</Directory>
Чтобы включить сервер OwnCloud, как любой виртуальный хост, выполните команду:
$ sudo a2ensite owncloud
Затем включите дополнительные модули Apache, необходимые для OwnCloud, и перезапустите веб-сервер Apache, чтобы перезагрузить конфигурацию и сохранить изменения:
$ sudo a2enmod rewrite headers env dir mime unique_id
$ sudo systemctl restart apache2
Установим и активируем поддержку https:
$ sudo apt-get install certbot python-certbot-apache
Как установить OwnCloud в Debian 10? Получаем сертфикат для нашего домена:
$ certbot --webroot -w /var/www/owncloud/ -d owncloud.hhbb.me certonly
Редактируем файл конфигурации ssl:
$ sudo vim /etc/apache2/sites-available/default-ssl.conf
Удаляем опции по умолчанию: SSLCertificateFile, SSLCertificateKeyFile и добавляем новые:
SSLCertificateFile /etc/letsencrypt/live/owncloud.hhbb.me/cert.pem
SSLCertificateChainFile /etc/letsencrypt/live/owncloud.hhbb.me/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/owncloud.hhbb.me/privkey.pem
SSLCACertificateFile /etc/letsencrypt/live/owncloud.hhbb.me/chain.pem
Активируем https:
$ sudo a2enmod ssl
$ a2ensite default-ssl
$ systemctl reload apache2
Перенаправляем трафик http на https, для этого редактируем файл:
$ vim /etc/apache2/sites-available/000-default.conf
В конец файла, перед тегом </VirtualHost> добавляем следующую строчку:
Redirect / https://owncloud.hhbb.me
Шаг 5: Завершение установки OwnCloud
Чтобы завершить настройку OwnCloud, просмотрите IP-адрес вашего сервера, как показано ниже:
https://owncloud.hhbb.me
Вы увидите приветственный интерфейс, как показано на скриншоте. Вам необходимо будет указать имя пользователя и пароль:
Затем нажмите «Хранилище и база данных» и укажите данные базы данных, такие как: пользователь базы данных, имя базы данных и пароль:
Наконец, нажмите «Завершить настройку»:
Вы попадете на страницу входа. Введите свое имя пользователя, пароль и нажмите ENTER:
Сначала вы получите всплывающее окно с информацией о приложении OwnCloud для настольных ПК, Android и iOS, которое вы можете установить на свои устройства. Это позволяет вам получить доступ к вашим данным со всех устройств:
Вот так выглядит панель:
В ввернем левом углу нажимаем Market, в котором можно найти плагины к OwnCloud. Давайте устаноим плагин для работы с офисными файлами OnlyOffice:
Вот мы подошли к концу этой статьи. Теперь вы можете с легкостью сохранять и обмениваться файлами, используя OwnCloud. Спасибо, что остаётесь с нами!
Спасибо за уделенное время на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet (программируемые сети) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco и Linux с трудоустройством!
- Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
- Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
- Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
- Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
- Если хотите индивидуальный график — обсудим и осуществим.
- Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- отредактировать резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
7 комментариев. Оставить новый
1. А какое дисковое пространство будет занимать вся эта система (на сколько увеличится), не считая, естественно, самих объектов хранения?
2. А как на UBUNTU (16.04 🙂 ) ставить? Есть разница?
2. в принципе OwnCloud можно поставить и на Ubuntu 16.04, но в статья я это делал через репозиторий, так удобнее потом все это дело обновлять.
1. Транзакционная блокировка файлов должна быть настроена на использование блокировок в памяти, а не в базе данных, как установлено по умолчанию.
2. Мы рекомендуем включить системный cron, так как любой другой планировщик может иметь недоработки в производительности и надёжности.
3. Заголовок HTTP «Strict-Transport-Security» должен быть настроен как минимум на «15552000» секунд. Для улучшения безопасности рекомендуется включить HSTS согласно нашим подсказкам по безопасности.
4. Не настроена система кеширования. Для увеличения производительности сервера, по возможности, настройте memcache.
# crontab -u www-data -e #Для открытия файла cron
В файле добавляем строку:
*/15 * * * * /usr/bin/php /var/www/owncloud/occ system:cron
В настройках в браузере выбираем планировщик cron.
# crontab -u www-data -l # Для проверки добавленного задания.
#! /bin/bash
#Скрипт разработан для настройки кэширования в owncloud и nextcloud на debian 9 и php7
#by dumasti ([email protected])
$1 #(переменной указываем owncloud или nextcloud)
#Установка необходимых зависимостей для установки redis
apt-get update && apt-get install build-essential -y
#Устанавливаем TCL для использования тестов
apt-get install ed -y
apt-get install tcl8.5 -y
#Устанавливаем redis server
wget http://download.redis.io/releases/redis-stable.tar.gz && tar xzf redis-stable.tar.gz
mv redis-stable redis
rm redis-stable.tar.gz
#Запускаем тестирование конфигурации
cd redis && make && taskset -c 1 make test
#Если тест прошел успешно, то продолжаем установку
make install
cd utils && ./install_server.sh #На все вопросы просто нажать enter
#Проверяем версию redis
/usr/local/bin/redis-server -v
#Устанавливаем модуль PHP для работы с owncloud и nextcloud
apt-get install php7.3-dev -y
#Устанавливаем GIT и клонируем репозиторий
apt-get install git -y -q && git clone https://github.com/phpredis/phpredis.git
#Перемещаем PHPREDIS в /etc
mv phpredis/ /etc/ && cd /etc/phpredis
#Создаем PHP-модуль с помощью MAKE
phpize && ./configure && make && make install
#Добавляем расширение к php.ini
touch /etc/php/7.3/mods-available/redis.ini
echo ‘extension = redis.so’> /etc/php/7.3/mods-available/redis.ini
#Включаем расширение и перезапускаем Apache
phpenmod redis && service apache2 restart
#Удаляем каталог из которого мы его построили
cd .. && rm -rf phpredis
#Проверяем версию (должно быть 2.2.5 или больше)
php —ri redis
#Устанавливаем параметры config для owncloud или nextcloud
ed /var/www/owncloud/config/config.php ‘true’,
‘memcache.distributed’ => ‘\OC\Memcache\Redis’,
‘ memcache.locking ‘=>’ \OC\Memcache\Redis ‘,
‘ redis ‘=> [
‘ host ‘=>’ localhost ‘,
‘ port ‘=> 6379,
‘ timeout ‘=> 0,
‘ dbindex ‘=> 0,
],
.
w
q
END
#Устанавливаем параметры config для owncloud или nextcloud
ed /var/www/owncloud/config/config.php < ‘\OC\Memcache\Redis’,
‘filelocking.enabled’ => ‘true’,
‘memcache.distributed’ => ‘\OC\Memcache\Redis’,
‘memcache.locking’ => ‘\OC\Memcache\Redis’,
‘redis’ => [
‘host’ => ‘localhost’,
‘port’ => 6379, # если использовать данный порт, то надо его открыть или можно изменить значение на «0»
‘timeout’ => 0,
‘dbindex’ => 0,
],
.
w
q
END
#! /bin/bash
#Скрипт разработан для настройки кэширования в owncloud и nextcloud на debian 9 и php7
#by dumasti ([email protected])
$1 #(переменной указываем owncloud или nextcloud)
#Установка необходимых зависимостей для установки redis
apt-get update && apt-get install build-essential -y
#Устанавливаем TCL для использования тестов
apt-get install ed -y
apt-get install tcl8.5 -y
#Устанавливаем redis server
wget http://download.redis.io/releases/redis-stable.tar.gz && tar xzf redis-stable.tar.gz
mv redis-stable redis
rm redis-stable.tar.gz
#Запускаем тестирование конфигурации
cd redis && make && taskset -c 1 make test
#Если тест прошел успешно, то продолжаем установку
make install
cd utils && ./install_server.sh #На все вопросы просто нажать enter
#Проверяем версию redis
/usr/local/bin/redis-server -v
#Устанавливаем модуль PHP для работы с owncloud и nextcloud
apt-get install php7.3-dev -y
#Устанавливаем GIT и клонируем репозиторий
apt-get install git -y -q && git clone https://github.com/phpredis/phpredis.git
#Перемещаем PHPREDIS в /etc
mv phpredis/ /etc/ && cd /etc/phpredis
#Создаем PHP-модуль с помощью MAKE
phpize && ./configure && make && make install
#Добавляем расширение к php.ini
touch /etc/php/7.3/mods-available/redis.ini
echo ‘extension = redis.so’> /etc/php/7.3/mods-available/redis.ini
#Включаем расширение и перезапускаем Apache
phpenmod redis && service apache2 restart
#Удаляем каталог из которого мы его построили
cd .. && rm -rf phpredis
#Проверяем версию (должно быть 2.2.5 или больше)
php —ri redis
#Устанавливаем параметры config для owncloud или nextcloud
ed /var/www/owncloud/config/config.php < ‘\OC\Memcache\Redis’,
‘filelocking.enabled’ => ‘true’,
‘memcache.distributed’ => ‘\OC\Memcache\Redis’,
‘ memcache.locking ‘=>’ \OC\Memcache\Redis ‘,
‘ redis ‘=> [
‘ host ‘=>’ localhost ‘,
‘ port ‘=> 6379,
‘ timeout ‘=> 0,
‘ dbindex ‘=> 0,
],
.
w
q
END