XigmaNAS
Все процедуры выполнялись на дистрибутиве XigmaNAS 12.2.0.4.8311
Установка проводилась в режиме «Install 'Full' OS/MBR on HDD/SSD + DATA/SWAP (For Expert)».
Размеры корневого раздела — 10240, файла подкачки — по умолчанию.
В настройках веб-интерфейса необходимо включить доступ по SSH.
Подключаемся по SSH и устанавливаем необходимые пакеты:
pkg install php74-{curl,extensions,gettext,mbstring,intl,bcmath} mod_php74 apache24 unzip wget
Приводим к требуемому виду содержимое файла /usr/local/etc/apache24/extra/httpd-vhosts.conf
:
cat > /usr/local/etc/apache24/extra/httpd-vhosts.conf <<EOF
<VirtualHost *:803>
ServerName webtlo.local
DocumentRoot /usr/local/www/apache24/webtlo.local
<Directory /usr/local/www/apache24/webtlo.local>
AllowOverride All
Require local
Options -Indexes
</Directory>
</VirtualHost>
EOF
ВНИМАНИЕ! Если необходимо, добавьте после Require local новой строкой список IP-адресов, которым разрешён доступ к web-TLO, например, Require ip 192.168.1.33 192.168.1.36, либо предоставьте доступ всем — Require all granted.
Добавляем в конец файла /usr/local/etc/apache24/httpd.conf
:
cat >> /usr/local/etc/apache24/httpd.conf <<EOF
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
Include etc/apache24/extra/httpd-vhosts.conf
<FilesMatch "\.php\$">
SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps\$">
SetHandler application/x-httpd-php-source
</FilesMatch>
Listen 803
EOF
Необязательно, но желательно отключить прослушку 80 порта, чтобы не было конкуренции с lighttpd, на котором работает web-интерфейс XigmaNAS.
Для этого в файле /usr/local/etc/apache24/httpd.conf
нужно найти строку
Listen 80
и удалить, либо закомментировать ее.
Проверяем секцию <IfModule mime_module>
на наличие строки AddType application/x-httpd-php .php
.
Без этого php файлы будут выводится обычным текстом. А в конфигурации по умолчанию этой строки нет.
Добавляем apache24 в автозапуск:
echo 'apache24_enable="YES"' >> /etc/rc.conf
Перезагружаемся:
reboot
Снова подключаемся по SSH, скачиваем архив с web-TLO и распаковываем его в каталог /usr/local/www/apache24/
:
ПРИМЕЧАНИЕ. Также используйте эти команды, чтобы обновить web-TLO до актуальной версии
wget https://github.com/keepers-team/webtlo/releases/latest/download/webtlo.zip
unzip -o webtlo.zip -d /usr/local/www/apache24/
rm -f webtlo.zip
Изменяем права на каталог с дистрибутивом web-TLO:
chown -R root: /usr/local/www/apache24/webtlo.local
Создаём каталог для пользовательских данных и задаём ему необходимые права доступа:
mkdir -p /usr/local/www/apache24/webtlo.local/data
chown -R www:www /usr/local/www/apache24/webtlo.local/data
Выполняем перезапуск сервиса apache2:
service apache24 restart
Открываем в браузере страницу с web-TLO http://192.168.1.2:803, где 192.168.1.2 — IP-адрес машины с установленным XigmaNAS, 803 — порт.
Для доступа к стандартному веб-интерфейсу XigmaNAS используйте адрес http://192.168.1.2.
Переадресация по DNS
Опционально также настроить переадресацию по DNS (если он работает в вашей сети). Например, по-умолчанию, web-интерфейс сетевого хранилища доступен на http://xigmanas.local Можно сделать, чтобы webTLO был доступен по адресу http://webtlo.local (или любой ваш вариант). Для этого нужно отредактировать конфигурацию демона lighttpd, который отвечает за web-интерфейс NAS. Однако, следует заметить, что файл конфигурации /var/etc/lighttpd.conf автоматически перезаписывается при перезапуске демона. Редактировать его нет смысла. Поэтому внесем изменения в /etc/rc.d/lighttpd
nano /etc/rc.d/lighttpd
Листаем вниз до секции
server.modules = (
"mod_access",
"mod_auth",
"mod_expire",
"mod_cgi",
"mod_fastcgi",
"mod_openssl",
"mod_setenv"
)
Добавим туда, не забыв поставить запятую после “mod_setenv”:
"mod_rewrite",
"mod_redirect",
"mod_rrdtool"
Далее после строк:
\$HTTP["url"] =~ "\.(js|css|css.php|png|gif|jpg)$" {
expire.url = ( "" => "access plus 1 hours" )
}
Добавляем:
\$HTTP["host"] == "webtlo.local" {
url.redirect = ("" => "http://192.168.1.2:803")
}
Исправляем webtlo.local на нужный вам адрес, а также 192.168.1.2 на IP-адрес вашего сетевого хранилища.
Сохраняем изменения и перезапускаем демон:
service lighttpd restart
Привязываем домен webtlo.local к IP на вашем роутере или локальном DNS. Проверяем, радуемся.