Показаны сообщения с ярлыком ubuntu. Показать все сообщения
Показаны сообщения с ярлыком ubuntu. Показать все сообщения

суббота, 25 августа 2018 г.

Установка ownCloud (Nextcloud) в OMV 4 (Arrakis) без плагинов

Всем привет!
Openmediavault 4 (Arrakis) вышел в релиз и я решил опробовать его на виртуалке.
Что привлекло в новом OMV: Debian 9.2; архитектура только 64х; "из коробки" php 7.0.
Дистрибутив OMV (на момент написания 4.0.14.) скачивается с оф. сайта:https://sourceforge.net/projects/openmediavault/files/4.0.14/openmediavault_4.0.14-amd64.iso/download
Установку самого OMV нет смысла описывать - она ничем не отличается от предыдущих версий, настройка основных сервисов тоже, а вот установка ownCloud имеет некоторые нюансы, поэтому решил сваять этот гайд.

 Общее

После установки OMV Вы увидите консоль с предложением ввести логин. Логин у всех root, а пароль тот, что Вы задали при установке. Далее, для простоты, я везде использую пароль "123", но у меня система виртуальная и не стоит так делать на рабочей системе - это понятно.
После ввода логина и пароля надо узнать (если не знаете), какой IP адрес достался серверу, чтобы зайти на его веб-морду.
Вводим:
 ip a 
В результате увидим IP(первый слева в строке, у меня это 192.168.115.134), который вводим в браузере и больше мы к этой консоли не вернемся!
Все скрины далее можете открыть в новом окне - они развернуться в полном размере.


Для ввода всех последующих команд будем использовать протокол SSH и программу PuTTY https://www.chiark.greenend.org.uk/~sgtatham/putty/
Работу с файлами и папками будем осуществлять в Midnight Commander (mc) запушенном все в том же PuTTY- это консольный файловый менеджер для Linux.
Немного о работе в mc, далее уже повторять не буду:
Копирование файла - F5
Перенос файла - F6
Создать папку - F7
Меню - F9
Перемещение курсора между панелями - Tab
Выход из mc - F10
Открыть файл для чтения - F3
Открыть файл для правки - F4 (в первый раз просит выбрать редактор - самый простой и надежный nano под цифрой 1)
Сохранить изменения в файле Ctrl+O
Выйти из режима редактирования файла Ctrl+X
Для копирования текста внутри файла надо поставить курсор клавишами стрелок (не мышкой) в место, куда вставляется текст, мышкой выделить фрагмент, который копируем, и на ранее установленный курсор кликаем правой кнопкой мышки.
Для копирования текста между файлами или между виндовой машиной и PuTTY лучше использовать сочетание Ctrl+insert (копировать) и Shift+insert (вставить).
Чтобы не писать руками пути до папок, открываем в mc нужную папку и сворачиваем панели mc сочетанием Ctrl+O. После этого открытый путь выделяем мышкой и жмем Ctrl+insert для копирования, затем панели надо вернуть опять нажав Ctrl+O !!! При свернутых панелях можно вводить команды, но не стоит открывать файлы для редактирования - есть баг. Все дело в том, что сохранение редактируемого файла и скрытие панелей используют комбинацию Ctrl+O и если Вы откроете в nano файл для редактирования и потом захотите его сохранить, то при нажатии CTRL+O у вас откроются панели mc и файл не сохранится.
Итак: Мы попали на веб-морду OMV. Стандартный логин: admin, пароль: openmediavault (лучше сразу сменить в общих настройках)


Открываем раздел сервиса SSH (он уже включен по умолчанию) и для первичной настройки можно ничего не менять, просто ввести эти же данные в PuTTY. В дальнейшем лучше отключить вход для рут и сделать для этого другого пользователя.

После ввода пользователя root и его пароля в PuTTY должны увидеть нечто подобное:

Проверяем обновления и ставим mc, поочередно выполняя команды (так как мы зашли под root, можно не писать sudo перед каждой командой)
apt-get update
apt-get upgrade
apt-get install mc
mc
Если все правильно, то Вы увидите файловый менеджер и переходим к следующему этапу.

Установка ownCloud (Nextcloud устанавливается аналогично)

Для работы ownCloud нам понадобится установить 2 плагина, которые идут в пакете OMVExtras
Скачиваем пакет с оф. сайта http://omv-extras.org/openmediavault-omvextrasorg_latest_all4.deb
Заходим на веб-морду OMV -> раздел плагины -> кнопка "загрузить" и выбираем скачанный выше файл.
После этого в списке сразу появится нужный плагин, отмечаем его и устанавливаем:

После установки в разделе плагины ждем кнопку "проверка" для обновления списков плагинов, без этого нужные не отобразятся.
Находим в списке нужные, отмечаем, устанавливаем:

Если все верно, в списке сервисов появится 2 новых, только что добавленных:

Через консоль поочередно ставим пакеты, необходимые для правильной работы ownCloud
apt-get install php7.0-zip
apt-get install php7.0-gd
apt-get install php7.0-curl
apt-get install redis-server php-redis
apt-get install php-apcu
apt-get install memcached php-memcached
Через веб-морду создаем общий каталог www и в нем подкаталок owncloud (права пока не трогаем, оставим по умолчанию). Создаем именно за 2 раза.
У меня примонтирована виртуальная файловая система с меткой "data" поэтому везде далее будет путь на этот диск.

Для хранения данных рекомендую использовать отдельную папку, вне созданной выше. Это облегчит дальнейшее администрирование.
Так же как и выше, создаем в корне диска каталог clouddata, права пока тоже по умолчанию.
С оф. сайта ownCloud скачиваем серверную часть, распаковываем и любым удобным способом закидываем в папку www/owncloud https://download.owncloud.org/community/owncloud-10.0.3.zip
Теперь можно выставить права. Чтобы не писать в консоли, делаем через веб-морду, как на скринах:

Через веб-морду создаем SSL сертификат, нужен будет позже.
Переходим к настройке MySQL.
В списке сервисов открываем MySQL, включаем, сбрасываем пароль по умолчанию:

Кнопкой "show" открываем сайт управления MySQL. Логин по умолчанию omvadmin, пароль установили шагом выше.
- Создаем базу данных owncloud и открываем ее
Через меню Инструменты -> пользователь manager создаем пользователя owncloud и даем ему пароль (у меня все тот же 123)

тут же даем пользователю права на базу owncloud (порядок действий на скрине):

Можно закрывать страницу MySQL - настройка завершена.
Настройка плагина Nginx:
В списке сервисов открываем плагин, включаем.
На вкладке pools добавим запись как на скрине (доп опции пока не трогаем, может не запуститься сайт в первый раз)

На вкладке сервера добавим сервер:

В расширенные опции сервера добавим следующее:
client_max_body_size 10G; # set max upload size
fastcgi_buffers 64 4K;

add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;";

rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

index index.php;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
deny all;
}

location / {
# The following 2 rules are only needed with webfinger
rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

try_files $uri $uri/ index.php;
}

location ~ ^(.+?\.php)(/.*)?$ {
try_files $1 = 404;

include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$1;
fastcgi_param PATH_INFO $2;
fastcgi_param HTTPS on;
fastcgi_pass $socket;
}

# Optional: set long EXPIRES header on static assets
location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
# Optional: Don't log access to assets
access_log off;
}
Теперь нам надо сделать первичную настройку облака, чтобы сконфигурировался файл config.php, который потом будем править.
В строке сервера кликаем на url и должен открыться сайт ownCloud с первичной настройкой

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

Первичная настройка завершена
При входе на веб-морду облака в разделе основных настроек видим ошибки:

Устраним их:
- В файл www/owncloud/config/config.php добавим следующие строки:
'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.locking' => '\\OC\\Memcache\\Redis',
- в дополнительные опции пула nginx добавим следующее:
env[PATH] = /usr/local/bin:/usr/bin:/bin
- в консоли пишем
crontab -u www-data -e
и в самый низ открывшегося файла добавим строку и сохраним:
*/15  *  *  *  * php -f /тут свой путь до папки/owncloud/cron.php
После этого надо зайти на веб-морду облака и включить в настройках cron, после чего выйти из системы и заново зайти
Вуаля! Все настройки завершены:

Запуск Storj Share для Linux

В данной статье, мы разберем вопрос запуска Storj Share для заработка с помощью лишнего пространства на наших жестких дисках. Гайд написан для пользователей Linux, именно данная ОС рекомендуется для постоянного использования в подобных делах.
Группа Storj Вконтакте: https://vk.com/storjproject
Неофициальные минимальные системные требования для установки Storj Share Daemon:
  • 1 гигабайт оперативной памяти (Критический минимум)
  • 10 гигабайт на жестком диске
  • Стабильное подключение к интернету,  +10 мбит/с
  • Средненький процессор, не рекомендуется использование Intel Atom и тому подобных.
  • Свежая ОС семейства Linux
  • Белый IP, с возможностью проброса порта вашей машины во внешний мир.
Хотелось бы дополнить. По мере наполнения вашего хранилища, растет и нагрузка, от загруженности вашего процессора зависит дельта (задержки с сетью Storj), что в последствии приводит к возможной потере контрактов.  Вы можете использовать VDS для создания ноды в Storj, но учтите, все может захлебнуться в любой момент.

Установка Storj Share Daemon в Linux

Шаг 1. Обязательно обновляем репозитории системы из под привилегированного пользователя, например root.
Для Debian & Ubuntu:
apt-get update
Для Centos:
yum update

Шаг 2. Устанавливаем необходимые зависимости для установки Storj Share Daemon.
Для Debian & Ubuntu:
apt install git python build-essential
Для Centos:
yum groupinstall ‘Development Tools’

Шаг 3. Создаем пользователя с произвольным именем, из под которого будет работать Storj Share Daemon(Обязательный пункт).
Добавить пользователя систему:
adduser имяпользователя
Сменить пароль для пользователя:
passwd имяпользователя

Шаг 4. Переходим под созданного пользователя, Вы можете заново подключиться к сессии используя новые данные, или перейти на нового пользователя с помощью команды su (при этом нужно будет сменить директорию на домашнюю).
Устанавливаем NVM.
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

Закройте терминал, откройте новый. Установите NPM.
nvm install --lts
Шаг 5. После успешной установки NPM & NVM, устанавливаем Storj Share Daemon из репозиториев.
npm install --global storjshare-daemon
Ожидаем компиляции.
Поздравляем! Если Вы сделали все правильно, Storj Share установлен на ваш сервер. Далее необходимо настроить конфиг storj ноды и запустить его.

Запуск Storj Share Daemon в Linux

Шаг 1. Ознакомимся с доступными командами, используем пользователя под которым устанавливали Storj ранее.
Все достаточно просто, чтобы узнать, какими командами взаимодействовать с Storj, используйте:
storjshare —help

Шаг 2Запускаем Storj Share Daemon, данный процесс требуется для работы наших нод.
storjshare daemon

Шаг 3Создаем конфиг ноды для Storj Share.
Пример создания простого конфига, без дополнительных настроек.
storjshare create --storj <Адрес_Кошелька> --key <Приватный_Ключ> --storage <Адрес_Папки_или_Диска> --size <Размер> --noedit
<Адрес_Кошелька> — регистрируем адрес на My Ether Wallet, используем ему для получения вознаграждений в сети Storj.
<Приватный_Ключ> — случайный идентификатор, используется для переноса конфигов вместе с контрактами и файлами на другой сервер.
<Адрес_Папки_или_Диска> — путь, где Storj будет создавать и хранить файлы сети.
--noedit — используется для того, чтобы после создания конфига не открывался его редактор. Если вы хотите более тонко настроить Storj, уберите данный аргумент.
ВАЖНО! Если у вашей машины есть свой белый ип, или Вы пробросили порт через роутер, используйте аргумент --manualforwarding
ВАЖНО! Стандартно Storj использует 3 порта для RPC: 4000, 4001, 4002. Убедитесь данные порты не заблокированы и доступны для внешних соединений.
После создания конфига, скопируйте его идентификатор, например 3306d8d761cbe14b79c3acc5e7e19839592efc3d, он потребуется в следующем шаге для запуска.
Шаг 4. Запуск ноды Storj Share Daemon.
storjshare start -c /home/имяпользователя/.config/storjshare/configs/ИД_КОНФИГА.json
После этого Вы должны получить уведомление об успешном запуске ноды.
Шаг 5. Ждем 5 минут после запуска. Смотрим статус ноды, чтобы удостовериться что все идет по плану:
storjshare status

Здесь отображается основная информация о нашей ноде, все достаточно просто — зеленое хорошо, красное — плохо.
С помощью данной команды Вы можете отслеживать статус ноды, аптайм (время непрерывной работы, рестарты, количество подключенных пиров, контракты (показываются новые контракты полученные после рестарта), дельта (задержка), порт (В нашем случае используется белый IP, по этому Storj работает по TCP что обеспечивает максимальную отдачу), вкладка Shared отображает общее количество место уже занятое под контракты.
Storj Share Daemon установлен и запущен!
Для работы Storj очень важно синхронизировать время в системе, выполните следующие действия:
(Инструкция для Ubuntu & Debian)
service ntp stop
ntpdate -s time.nist.gov
service ntp start
timedatectl status timedatectl
list-timezones
sudo timedatectl
set-timezone <Часовой_пояс_из_списка>
После этого время будет синхронизировано.

 Автозагрузка Storj Share при включении

1. Открываем терминал и выполняем:
env > ~/.env
 2. Создаем скрипт watchdog.sh в своей домашней директории
nano ~/watchdog.sh
3. Добавляем строки в скрипт, не забывая при этом указать свои пути к файлу
#!/bin/bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
cd $HOME

APP=$(ps aux | grep -v grep | grep storjshare)
if [ -z "$APP" ];
then
echo "Restart storjshare-daemon"
storjshare daemon
fi
APP=$(ps aux | grep -v grep | grep 'farmer.js --config')
if [ -z "$APP" ];
then
echo "Restart farmers"
storjshare start --config $HOME/.config/storjshare/configs/1f100594a6c1830b3d135f537575dea05f41cbf1.json
fi
3.  Делаем его выполняемым
chmod +x ~/watchdog.sh
4. Создвем задачу Cron
crontab -e
5. Добавляем строки в самый конец файла
*/5 * * * * $HOME/watchdog.sh
@reboot $HOME/watchdog.sh