Установка Nextcloud на Windows Server: различия между версиями
Danamond (обсуждение | вклад) (Новая страница: «===Введение=== Итак Nextcloud. Локальное облако. Я заинтересовался этим проектом для замены у к...») |
Danamond (обсуждение | вклад) |
||
Строка 13: | Строка 13: | ||
Последней командой добавляем пользователя в группу wheel.<br> | Последней командой добавляем пользователя в группу wheel.<br> | ||
Далее необходимо установить пакеты, необходимые для сборки модулей ядра. Все это понадобиться для дополнений гостевой системы. | Далее необходимо установить пакеты, необходимые для сборки модулей ядра. Все это понадобиться для дополнений гостевой системы. | ||
− | # apt install linux-headers-$(uname -r) cpp gcc make | + | # sudo apt install linux-headers-$(uname -r) cpp gcc make |
После того, как все это хозяйство настроится установим дополнения гостевой системы. В меню виртуальной машины выбираем "Устройства" - "Подключить образ диска Дополнений гостевой ОС...". Монтируем виртуальный CD-ROM командой | После того, как все это хозяйство настроится установим дополнения гостевой системы. В меню виртуальной машины выбираем "Устройства" - "Подключить образ диска Дополнений гостевой ОС...". Монтируем виртуальный CD-ROM командой | ||
− | # mount /media/cdrom -o exec | + | # sudo mount /media/cdrom -o exec |
Запускаем установку дополнений | Запускаем установку дополнений | ||
# cd /media/cdrom | # cd /media/cdrom | ||
− | # ./VBoxLinuxAdditions.run | + | # sudo ./VBoxLinuxAdditions.run |
Установка займет некоторое время необходимое для сборки модулей.<br> | Установка займет некоторое время необходимое для сборки модулей.<br> | ||
В файл '''/etc/fstab''' добавляем следующую строку | В файл '''/etc/fstab''' добавляем следующую строку | ||
Строка 43: | Строка 43: | ||
===Установка Nextcloud=== | ===Установка Nextcloud=== | ||
Скачиваем Nextcloud [https://download.nextcloud.com/server/releases/ отсюда]. В простейшем варианте просто распаковываем в папку ''/var/www/html'' на виртуальной машине. И меняем права на папку | Скачиваем Nextcloud [https://download.nextcloud.com/server/releases/ отсюда]. В простейшем варианте просто распаковываем в папку ''/var/www/html'' на виртуальной машине. И меняем права на папку | ||
− | # chown -R www-data:www-data /var/www/html/nextcloud/ | + | # sudo chown -R www-data:www-data /var/www/html/nextcloud/ |
# sudo chmod -R 755 /var/www/html/nextcloud/ | # sudo chmod -R 755 /var/www/html/nextcloud/ | ||
Далее нам потребуется установить php и необходимые дополнения. Выполняем команду | Далее нам потребуется установить php и необходимые дополнения. Выполняем команду | ||
− | # apt install php php-mysql php-zip php-dom php-xml php-soap php-apcu | + | # sudo apt install php php-mysql php-zip php-dom php-xml php-soap php-apcu |
> php-smbclient php-ldap php-redis php-xmlrpc php-mbstring php-gd php-curl | > php-smbclient php-ldap php-redis php-xmlrpc php-mbstring php-gd php-curl | ||
> php-intl php-json php-imagick | > php-intl php-json php-imagick | ||
− | # service apache2 restart | + | # sudo service apache2 restart |
Можно пробовать. В адресной строке браузера вводим http://''адрес_сервера''/nextcloud и переходим к настройке. | Можно пробовать. В адресной строке браузера вводим http://''адрес_сервера''/nextcloud и переходим к настройке. | ||
Версия 09:09, 17 октября 2019
Содержание
Введение
Итак Nextcloud. Локальное облако. Я заинтересовался этим проектом для замены у клиентов бесконечных "общих папок", которые в смысле безопасности и распределения прав доступа вообще никак. Плюс возможность отправлять вместо собственно файла во вложении к письму, ссылку на него. Данное описание не претендует на полноту. В любом случае, в интернете достаточно описаний. Скорее это заметки о моментах, которые обычно опускают.
Подготовка системы
Установка VirtualBox
Все попытки установить Nextcloud на IIS закончились ничем :(. Установка запускалась, но при завершении настроек не создавались таблицы в базе данных. Тестовая установка на Debian показала, что это именно проблема Windows сервера. Было решено устанавливать на виртуальную машину apache, php, а SQL сервер и папку с данными оставить на host машине. Это вопрос удобства миграции. На виртуальной машине достаточно перенести папку web сервера, а все данные сохраняются на host машине.
В качестве виртуальной машины был выбран VirtualBox. QEMU работает очень медленно, а поддержки KVM в Windows понятно нет.
Скачиваем установщик по ссылке. Сначала я установил 6-ю версию, но при запуске виртуальной машины мне выдало ошибку. Поиск по коду свелся к советам типа "протрите фары и похлопайте дверцами". Удалил 6-ю версию и скачал 5.2, все заработало.
Установка и создание виртуальной машины в VirtualBox достаточно тривиально и здесь я это описывать не буду. Диск я выбрал размером 16Gb, памяти 1Gb и два виртуальных процессора.
Установка Debian
Образ Debian берем отсюда. Запускаем VM. При установке следуем инструкциям. При выборе пакетов указываем web-server, чтобы apache не устанавливать потом. После завершения добавляем необходимые пакеты. Сначала sudo.
# apt install sudo # usermod -a -G sudo sergiy
Последней командой добавляем пользователя в группу wheel.
Далее необходимо установить пакеты, необходимые для сборки модулей ядра. Все это понадобиться для дополнений гостевой системы.
# sudo apt install linux-headers-$(uname -r) cpp gcc make
После того, как все это хозяйство настроится установим дополнения гостевой системы. В меню виртуальной машины выбираем "Устройства" - "Подключить образ диска Дополнений гостевой ОС...". Монтируем виртуальный CD-ROM командой
# sudo mount /media/cdrom -o exec
Запускаем установку дополнений
# cd /media/cdrom # sudo ./VBoxLinuxAdditions.run
Установка займет некоторое время необходимое для сборки модулей.
В файл /etc/fstab добавляем следующую строку
имя_общей_папки точка_монтирования vboxsf auto,uid=33,gid=33,umask=0007 0 0
,где
- имя_общей_папки имя общей папки его указали в диалоге создания VirtualBox,
- точка_монтирования - куда монтируем общую папку,
- vboxsf - тип файловой системы,
- auto,uid=33,gid=33,umask=0007 - параметры монтирования, uid и gid указываем для пользователя и папки www-data, umask - для прав доступа к папке монтирования равным 770, это требования nextcloud.
Настройки сети я в данном описании пропускаю, так как это вещь достаточно индивидуальная.
По окончании перезагружаем виртуальную машину.
Установка и настройка MySQL
Установка MySQL на WIndows описана в этой статье, так что остается только создать базу данных для Nextcloud. Запускаем командную строку от имени Администратора и переходим в папку bin каталога с MySQL. Запускаем MySQL командой
mysql -u root -p
и выполняем следующие команды:
CREATE DATABASE nextcloud; CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'new_password_here'; GRANT ALL ON nextcloud.* TO 'nextclouduser'@'localhost' IDENTIFIED BY 'user_password_here' WITH GRANT OPTION; FLUSH PRIVILEGES; EXIT;
Естественно имена имена бызы данных, пользователя, пароль указываете собственные. И не забудьте заменить localhost на адрес вашего сервера в виртуальной машине.
Установка Nextcloud
Скачиваем Nextcloud отсюда. В простейшем варианте просто распаковываем в папку /var/www/html на виртуальной машине. И меняем права на папку
# sudo chown -R www-data:www-data /var/www/html/nextcloud/ # sudo chmod -R 755 /var/www/html/nextcloud/
Далее нам потребуется установить php и необходимые дополнения. Выполняем команду
# sudo apt install php php-mysql php-zip php-dom php-xml php-soap php-apcu > php-smbclient php-ldap php-redis php-xmlrpc php-mbstring php-gd php-curl > php-intl php-json php-imagick # sudo service apache2 restart
Можно пробовать. В адресной строке браузера вводим http://адрес_сервера/nextcloud и переходим к настройке.
После установки
WebDAV
При монтировании папки Nextcloud как сетевого диска в Windows возникают проблемы. Запрашивает пароль и выдает ошибку 67 - "Сетевой путь не найден". Для исправления ошибке необходимо в реестре по пути HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters в параметре BasicAuthLevel проставить значение 2 и перезапустить службу Веб-клиент.
Запуск виртуальной машины как службы
Для этих целей можно использовать VirtualboxVmService. Скачайте программу соответственно свой версии VirtualBox, запустите установку. Собственно все, остается только отредактировать файл VBoxVmService.ini (по умолчанию он находится в папке C:\vms).
[Settings] # Путь к дирректории .VirtualBox для вашего профиля. Она обычно располагается # в персональной папке пользователя. VBOX_USER_HOME=C:\Users\Администратор\.VirtualBox # Стартовать или нет VBoxWebSrv.exe, VirtualBox HTTP веб сервер автоматически. # Может быть «yes» или «no». Оставьте ее в «no» если вы не знаете что это. RunWebService=no # Параметр используется для замедления выключения компьютера чтобы предотвратить # крах виртуальной машины при выключении или перезагрузке. (5000=5 секунд). # Заметьте что Windows имеет ограниченя как долго контроллер сервиса будет ждать # когда система перезагрузится. Лимит времени определен в переменной # WaitToKillServiceTimeout в следующей ветке реестра # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control. Ваше значение PauseShutdown # не должно превышать это значение в реестре. PauseShutdown=5000 # Далее следуют секции виртуальных машин. Их может быть несколько, сответственно # Vm0, Vm1 и т. д. [Vm0] # Имя для запуска VM (Чуствительно к регистру!) VmName=nextcloud # Метод выключения («savestate», или «acpipowerbutton»). Когда используется # «savestate», состояние машины сохраняется и может быть возобновлено когда # она старует в следующий раз. Когда используется «acpipowerbutton» , VM просто # выключится. Если ваша VM долго выключается рекомендуется использовать # savestate, который завершает намного быстрее. ShutdownMethod=acpipowerbutton # Будет или нет VM стартовать автоматически когда VBoxVmService работает. # По умолчанию установлено в «yes». AutoStart=yes
После редактирования ini-файла требуется запустить службу VBoxVmService.