2gusia (2gusia) wrote,
2gusia
2gusia

Category:

Установка Owncloud в jail на nas4free

Этот пост следует читать после Даешь собственное облако или ставим owncloud в jail nas4free, в котором дано оглавление процесса. Будем ставить свободный продукт, owncloud.
UPD от 23 февраля 2015. Проверено - успешно встаёт в джейл на текущем nas4free 1349, TheBrig 0.8. Устанавливал текущий owncloud 8.0.0 По сравнению с предыдущей редакцией внесены заметные изменения. /UPD
UPD от 30 августа 2015. Проверено - успешно встаёт в джейл на текущем nas4free 10.2.0.2.1810,  Устанавливал текущий owncloud 8.1.1 По сравнению с предыдущей редакцией внесены изменения. /UPD




Предисловие. Источником послужила ветка на форуме nas4free. Низкий поклон fsbruva за скрипт для установки. Старую версию скрипта можно скачать из командной строки fetch -oowncloud_injail.sh "http://forums.nas4free.org/download/file.php?id=1198"

Только, к сожалению, написан он так, что если что-то пошло неправильно, надо начинать чуть не с пересоздания джейла. А возможностей сделать неправильно - море, мне лично без ошибки не удалось ни разу, вы - можете попытаться. Поэтому для криворуких типа себя я разбил скрипт на 4 части и их чуть-чуть обработал напильником. Кроме того, для текущей версии понадобилась заменить pkg_add на pkg install и добавить кое-что. Скрипт лежит на моём Яндекс Диске.

tar надо скачать и, после создания джейла owncloud, надо (например - через ftp) загрузить на NAS в /mnt/Pool/Ext/Jails/owncloud/tmp
(заменить на путь из хоста к папке tmp вашего owncloud).
На выбор, другой вариант, вместо ftp - положить tar куда-то на NAS и скопировать в целевую папку, командой
nas4free ~/ root~$ cp -a /mnt/Pool/Media/111/ow_scripts.tar /mnt/Pool/Ext/Jails/owncloud/tmp/
или комплектным файловым менеджером.

Создаём джейл owncloud. NB Я настоятельно советую создать под джейл отдельный датасет owncloud Disks|ZFS|Datasets|Dataset, плюсик снизу и ставить в него. У меня датасет Ext/Jails/owncloud, то есть виден как отдельная подпапка в папке где лежат джейлы.

Запоминаем IP джейла, мои скрипты настроены на 192.168.1.55 Если у вас другой IP редактируйте вначале каждый из них (кроме первого).
Там же указан номер версии owncloud. У меня свежий на сегодня 8.0.0, если не подойдёт - ставьте свой. Речь идёт о параметрах
server_ip="192.168.1.55"
owncloud_version="8.0.0"

ПРИМ Для версии 8.1.1_1 пришлось грузить 8.1.1

Чуть ниже мы проверим какой owncloud предлагается в данный момент.

1) Заходим в джейл
jexec 5 tcsh
cd /tmp

системное приглашение у нас изменилось, было что-то вроде nas4free ~/ root~$, стало
root@owncloud:/tmp #

Качаем сюда ow_scripts.tar как описано выше.

2) разархивируем
tar -xf ow_scripts.tar

Даём скриптам права на исполнение (для единообразия, т.к. права должны уже быть)

cd ow_sh
chmod a+x ow*.sh


3) Ставим новый менеджер пакетов
root@owncloud:/ # pkg
на все вопросы - соглашаемся, жмём y

4) Проверим, какая на сегодня версия Owncloud в пакетах (но ставить ПОКА НЕ БУДЕМ)
root@owncloud:/ # pkg install owncloud
бла-бла
New packages to be INSTALLED:
owncloud: 8.0.0
бла-бла
Proceed with this action? [y/N]:

Запомнили 8.0.0, жмём N для отказа от установки - она чуть сложнее

5) Все скрипты ниже настроены на версию 8.0.0 Если версия сменилась - надо КАЖДЫЙ из скриптов отредактировать, заменив в начале файла
owncloud_version="8.0.0"
на то, что вам нужно. Там же можно заменить IP и порт, если они у вас другие.

для редактирования полезно установить редактор nano
root@owncloud:/ # pkg install nano

6) Устанавливаем пакеты
./ow1_inst.sh

Здесь всё должно скачаться и установиться. Я делал это много раз и не знаю уж почему, очень часто первая часть пакетов скачивается и ставится, а в конце идут сообщения Protocol error - и пакеты в конце списка не качаются. Судя по форуму - это не у одного меня.
Если у вас такое случится - обратите внимание в сообщениях какой пакет последний установился нормально, откройте скрипт
nano ow1_inst.sh
и закомментируйте (или удалите) строки для пакетов, которые успешно установлены. Затем перезапустите скрипт.

Переходить к следующему шагу - только после успешной установки

7) Конфигурирование базы данных mysql
Это самый сложный этап. Он связан с генерацией криптографических ключей. Перед началом придумайте пароль и парольную фразу, вам их придётся вводить. Очень советую также до запуска скрипта выбрать адрес электронной почты, к которой у вас будет доступ и  URL, по которому вы будете ходить на owncloud извне. Если вы сконфигурировали DDNS как описывалось, то, что-то типа vasia_pupkin@no-ip.info

Скрипт удаляет тестовый доступ к mysql, генерирует через openssl ключи и сертификаты для доступа из интернет к вашему облаку.
Готовы?
./ow2_mysql.sh

На многие вопросы пойдет ответ по умолчанию путём нажатия Enter, там указано [Y/n]
Но там, где просят пароль и парольную фразу - их придётся ввести (и сохранить на всякий случай в надёжном месте. Пароль из ключа удалён и восстановить его не удастся. Если вы будете переставлять NAS и захотите сохранить ваши данные в личном облаке, пароль и парольная фраза могут понадобиться.)
Также придётся ввести для собственного же удобства параметры сертификата. Вы его сейчас будете подписывать и в ваших интересах дать ту информацию, которую вы узнаете, когда ваш сайт (или подменённый злым хакером ;) будет предъявлять вам сертификат.
Например
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Moscow
Locality Name (eg, city) []:Kolomna
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Private
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:vasia_pupkin.no-ip.com
Email Address []:vasia_pupkin@gmail.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:.

В результате в /root будут созданы ключи и сертификаты. Важно. Сертификаты имеют срок годности, в нашем случае - год. Через год процедуру генерации сертификата придется повторить с теми же паролем и парольной фразой. Иначе будет ругаться каждый раз при доступе.

8) Конфигурируем веб сервер. Тут главное перед запуском скрипта не забыть установить верный IP, если 192.168.1.55 вам не подходит
./ow3_lighttpd.sh

Сильно советую после исполнения проверить синтаксис конфига
lighttpd -t -f /usr/local/etc/lighttpd/lighttpd.conf
Если всё хорошо - он напишет Syntax OK
Если вы более одного раза запускали скрипт - Syntax OK не получите.  Посмотрите что делает скрипт и откатите изменения. Если не понимаете - вам проще убить джейл и сделать всё заново. Не расставайтесь, я раз 10 это сделал ;)

Если получилось - установка выходит на финишную прямую

9) Качаем и ставим owncloud
./ow4_owncloud.sh

В результате должен запуститься вебсервер. Если сообщений нет - проверяем работоспособность

10) Пишем в браузере
https://192.168.1.55:81
Если получите "Соединение было сброшено" - значит вместо https вы набрали http. Не пойдёт, пускаем к себе в облако только по защищённому протоколу.

Здесь вы должны видеть предупреждение системы безопасности о том, что сертификат предъявлен недостоверный, самоподписаный. Так как вы сами же этот сертификат и изготовили несколькими минутами раньше, стоит его принять. Напоминаю, сертификат не вечный, срок действия год. Через год снова ругаться будет.

Ну и, наконец, видим вебгуй owncloud.
owncloud_just_started

Не обязательно, но желательно нажать на строку Хранилище и база данных и использовать наш MySQL, а не SQLite, который слабенький.

11) Войдём в нашу клетку (у вас будет не 2, а другой номер, см командрй оды)
Создадим папку Каталога с данными и дадим ему владельца www
<code>nas4free ~/ root~$ jexec 2 tcsh
owncloud / >mkdir /data_root
owncloud / >chown -R www /data_root
owncloud / >chmod -R 770 /data_root/</code>

12) Теперь возвращаемся к диалогу из п 10 - при настройке БД он выглядит так.


Имя администратора и пароль - придумываете сейчас. Причём пароль стоит выбирать стойкий, никаких Masha_13. Что-то длинное, с буквами, цифрами и спецсимволами, без словарных слов. Мы в сеть это собираемся вывалить... И как-то сохраните, я не разбирался как его восстанавливать.

Каталог с данными мы создали в п 11 - можете выбрать свой. Я туда собираюсь монтировать через fstab папки с хост системы.

Настройки базы данных - жмём кнопку MySQL/MariaDB
пользователь - root
пароль - который вы чуть раньше, в 7 пункте, задали. Обратите нимание, это НЕ root хост системы, это root базы данных. Так что не надо писать сюда root пароль от хоста - не примет.
Имя базы данных, думал я, любое - owbd - НЕ ВЕРНО. Оказывается, чуть выше я его задал как owncloud. Вы введите то, что задали.

Жмём завершить установку, и если всё ОК - попадаем в своё облако.

13) И видим интерфейс
owncloud_main


На сегодня хватит.

Хорошая идея - снять снапшот с джейла, если вы что-то собираетесь с ним скерьёзно переделывать.

Нам осталось сделать так, чтобы к owncloud был доступ извне. И ещё я хотел прикрутить Fail2ban, но пока прикручиваю.
Tags: cloud, it, nas, nas4free, owncloud, руками
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 84 comments
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →
Previous
← Ctrl ← Alt
Next
Ctrl → Alt →