Для установки на Windows
После долгих поисков, вот как я изменил путь к базе данных (и заодно перенёс папку установки).
Здесь есть 2,5 варианта (да, полварианта). Обращайте внимание, в шагах есть тонкие отличия! Большая часть действий выполняется через командную строку.
1. Использовать символическую ссылку (для всей установки)
- Установите ПО (по умолчанию оно устанавливается в профиль пользователя — C:\Users\<имя_пользователя>\Ubiquiti UniFi)
- Создайте сервис: Ubiquiti-Run-As-A-Service
- Остановите сервис: в командной строке — net stop UniFi <Enter>
- Переместите (не копируйте) папку с установкой туда, где хотите иметь программу «установленной»
- Вернитесь в дефолтный путь установки: cd C:\Users\<имя_пользователя>
- Создайте символическую ссылку: mklink /D "Ubiquiti UniFi" "<полный_новый_путь>"
Пример: mklink /D "Ubiquiti UniFi" "C:\Program Files\Ubiquiti UniFi"
- Запустите сервис: net start UniFi
1.5 Использовать символическую ссылку (только для базы данных)
- Установите ПО (по умолчанию в профиль пользователя - C:\Users\<имя_пользователя>\Ubiquiti UniFi)
- Создайте сервис: Ubiquiti-Run-As-A-Service
- Остановите сервис: net stop UniFi
- Переместите (не копируйте) папку DATABASE туда, где хотите её хранить
Пример: move C:\Users\<имя_пользователя>\Ubiquiti UniFi\data\db E:\UbiquitiDB
- Убедитесь, что папка \db больше не существует в дефолтном месте
- Вернитесь в дефолтную директорию для DATABASE: cd C:\Users\<имя_пользователя>\Ubiquiti UniFi\data\
- Создайте символическую ссылку: mklink /D "db" "<полный_новый_путь_к_БД>"
Пример: mklink /D "db" "E:\UbiquitiDB"
- Запустите сервис: net start UniFi
2. Изменить реестр (для всей установки)
- Установите ПО (по умолчанию в профиль пользователя - C:\Users\<имя_пользователя>\Ubiquiti UniFi)
- Создайте сервис: Ubiquiti-Run-As-A-Service
- Остановите сервис: net stop UniFi
- Переместите (не копируйте) папку с установкой в выбранное место
- Откройте Regedit и измените два ключа:
HKLM\SYSTEM\CurrentControlSet\Services\UniFi — в значении «ImagePath» укажите новый путь
Пример: "C:\Program Files\Ubiquiti UniFi\bin\UniFi" //RS//UniFi
HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\UniFi
- В каждом из ключей найдите все записи, указывающие на старое место установки, и измените их на новый путь
На момент написания нужно править:
HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\UniFi\Parameters\Java\Classpath
HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\UniFi\Parameters\Log\Path
HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\UniFi\Parameters\Start\WorkingPath
HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\UniFi\Parameters\Stop\WorkingPath
- Запустите сервис: net start UniFi
Преимущества варианта 1
- Выдерживает обновления
- Не требует изменений в реестре
Преимущества варианта 1.5
- Выдерживает обновления, но сохраняет дефолтный путь установки, если есть политика, запрещающая ставить программы на другой диск
- Не требует изменений в реестре
Преимущества варианта 2
- Не зависит от конкретного пользовательского аккаунта (места установки) или от жёсткого диска, который слишком мал для базы данных
Особенности
Вариант 2 не работает для обновления «на месте». Чтобы обойти это, сделайте первые три шага из варианта 2, затем верните папку Unifi обратно в дефолтный путь. Потом запустите инсталлятор. После этого завершите оставшиеся шаги и при необходимости внесите корректировки.
Вы можете использовать любой или все варианты в комбинации, чтобы достичь нужного результата. Например, изменить реестр, чтобы установка не зависела от пользователя, и вместе с этим сделать символическую ссылку, чтобы база данных была на другом диске или в другой папке.
Я размещу ссылку на этот текст ещё в нескольких темах, так как запрос на это возник у нескольких человек, и тема уже довольно старая. Пишите, если найдёте ошибки — я поправлю инструкцию.
Спасибо!
После долгих поисков, вот как я изменил путь к базе данных (и заодно перенёс папку установки).
Здесь есть 2,5 варианта (да, полварианта). Обращайте внимание, в шагах есть тонкие отличия! Большая часть действий выполняется через командную строку.
1. Использовать символическую ссылку (для всей установки)
- Установите ПО (по умолчанию оно устанавливается в профиль пользователя — C:\Users\<имя_пользователя>\Ubiquiti UniFi)
- Создайте сервис: Ubiquiti-Run-As-A-Service
- Остановите сервис: в командной строке — net stop UniFi <Enter>
- Переместите (не копируйте) папку с установкой туда, где хотите иметь программу «установленной»
- Вернитесь в дефолтный путь установки: cd C:\Users\<имя_пользователя>
- Создайте символическую ссылку: mklink /D "Ubiquiti UniFi" "<полный_новый_путь>"
Пример: mklink /D "Ubiquiti UniFi" "C:\Program Files\Ubiquiti UniFi"
- Запустите сервис: net start UniFi
1.5 Использовать символическую ссылку (только для базы данных)
- Установите ПО (по умолчанию в профиль пользователя - C:\Users\<имя_пользователя>\Ubiquiti UniFi)
- Создайте сервис: Ubiquiti-Run-As-A-Service
- Остановите сервис: net stop UniFi
- Переместите (не копируйте) папку DATABASE туда, где хотите её хранить
Пример: move C:\Users\<имя_пользователя>\Ubiquiti UniFi\data\db E:\UbiquitiDB
- Убедитесь, что папка \db больше не существует в дефолтном месте
- Вернитесь в дефолтную директорию для DATABASE: cd C:\Users\<имя_пользователя>\Ubiquiti UniFi\data\
- Создайте символическую ссылку: mklink /D "db" "<полный_новый_путь_к_БД>"
Пример: mklink /D "db" "E:\UbiquitiDB"
- Запустите сервис: net start UniFi
2. Изменить реестр (для всей установки)
- Установите ПО (по умолчанию в профиль пользователя - C:\Users\<имя_пользователя>\Ubiquiti UniFi)
- Создайте сервис: Ubiquiti-Run-As-A-Service
- Остановите сервис: net stop UniFi
- Переместите (не копируйте) папку с установкой в выбранное место
- Откройте Regedit и измените два ключа:
HKLM\SYSTEM\CurrentControlSet\Services\UniFi — в значении «ImagePath» укажите новый путь
Пример: "C:\Program Files\Ubiquiti UniFi\bin\UniFi" //RS//UniFi
HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\UniFi
- В каждом из ключей найдите все записи, указывающие на старое место установки, и измените их на новый путь
На момент написания нужно править:
HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\UniFi\Parameters\Java\Classpath
HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\UniFi\Parameters\Log\Path
HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\UniFi\Parameters\Start\WorkingPath
HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\UniFi\Parameters\Stop\WorkingPath
- Запустите сервис: net start UniFi
Преимущества варианта 1
- Выдерживает обновления
- Не требует изменений в реестре
Преимущества варианта 1.5
- Выдерживает обновления, но сохраняет дефолтный путь установки, если есть политика, запрещающая ставить программы на другой диск
- Не требует изменений в реестре
Преимущества варианта 2
- Не зависит от конкретного пользовательского аккаунта (места установки) или от жёсткого диска, который слишком мал для базы данных
Особенности
Вариант 2 не работает для обновления «на месте». Чтобы обойти это, сделайте первые три шага из варианта 2, затем верните папку Unifi обратно в дефолтный путь. Потом запустите инсталлятор. После этого завершите оставшиеся шаги и при необходимости внесите корректировки.
Вы можете использовать любой или все варианты в комбинации, чтобы достичь нужного результата. Например, изменить реестр, чтобы установка не зависела от пользователя, и вместе с этим сделать символическую ссылку, чтобы база данных была на другом диске или в другой папке.
Я размещу ссылку на этот текст ещё в нескольких темах, так как запрос на это возник у нескольких человек, и тема уже довольно старая. Пишите, если найдёте ошибки — я поправлю инструкцию.
Спасибо!
