Настройка резервного копирования в Elastix 2.4

Пришел день столкнуться мне с данной АТС и задача была настроить резервное копирование. Заходим в web-интерфейс в System — Backup/Restore и видим скудные настройки.

По-умолчанию система может бекапить ежедневно, еженедельно и ежемесячно, но только в локальную папку «/var/www/backup» Из этой же папки, по-умолчанию, веб-интерфейс отображает список сделанных резервных копий. Можно подключить FTP-сервер, но на него резервные копии переносить надо вручную. Поэтому было решено настроить резервное копирование по NFS на другой сервер. Для этого необходимо:

  1. Настраиваем NFS-сервер. Я его поднимал на Windows. Для этого устанавливаем компонент «Сервер для NFS«, который является частью роли «Файловые службы и службы хранилища»
    После установки роли создаем папку, например, «NFS» и для нее задал права:
    Все сервера вписал по короткому и полным именами, с возможностью чтения и записи и разрешил доступ с правами root. Для всех остальных компьютеров настроен был запрет.
    Что касается настроек NFS для этой папки, то они выглядят так:
  2. Теперь переходим к серверу с Elastix. На нем уже есть NFS-клиент. В терминале выполняем
    mkdir /nfs/
    echo "10.150.1.15:/NFS /nfs/backup nfs defaults 0 0" >> /etc/fstab
    mount -a
    10.150.1.15:/NFS — это NFS-сервер и расшаренная по nfs папка «NFS»
    /nfs/backup — это папка, куда будет подключена по nfs расшаренная папка.
  3. В Elastix в System — Backup/Restore выбираем «Daily» и нажимаем «Set Automatic Backup». После этого в директории  /etc/cron.d/ создастся файл «automatic_backup.cron»

    В моем случае в этом файле изменено время запуска скрипта на 14:27, вы можете поставить свое. Это время ежедневного запуска скрипта.
  4. Переходим к файлу /var/www/backup/automatic_backup.php, в нем на 36 строке изменяем переменную $sBackupDir. Указываем в ней директорию, куда скрипт будет сохранять резервную копию, в нашем случае это /nfs/backup/
  5. В файле /usr/share/elastix/privileged/backupengine в строке 76 меняем директорию по-умолчанию для создания резервных копий.
  6. В терминале я выполнил chmod –R 777 /nfs/иначе без этого в браузере не будет отображаться список сделанных резервных копий.
  7. Теперь настроим, чтобы в административной панели Elastix скрипты искали резервные копии в нужной нам директории, для этого заходим в файл /var/www/html/modules/backup_restore/configs/default.conf.php и в строке 33 меняем директорию
  8. Если нужно, чтобы при запуске резервного копирования через web-интерфейс резервные копии складировались на NFS-шару, то тогда заходим в файл /var/www/html/modules/backup_restore/index.php и в строке 365 изменяем уже знакомую нам переменную на нужную директорию.
  9. Вообщем-то всё. Остался еще момент со временем на сервере. Elastix 2.4 работает на старом Centos 5.10 и в нём используются старые временные зоны для России. Чтобы исправить этот недочет необходимо:
    wget http://people.centos.org/hughesjr/tzdata-2014g-1.el5/i386/RPMS/tzdata-2014g-1.el5.i386.rpm --no-check-certificate
    rpm -Uvh tzdata-2014g-1.el5.i386.rpm
    После этого в файле /etc/php.ini после секции [PHP] прописываем нужную нам временную зону:
    date.timezone = Europe/Samara
    После этого перезапускаем сервис httpd
    service httpd restart
    Теперь в самом Elastix выставляем нужное время и часовой пояс. Заходим в System — Preferences — Date/Time
    На этом всё.

Настройка Let’s Encrypt в Microsoft Azure

К сожалению, в Chrome 57 сертификаты, выданные STARTSSL, перестали быть валидными. Таким образом, пришло время переходить на Let’s Encrypt , как единственный источник бесплатных сертификатов.

Что необходимо для этого?

  1. Сервисный план обслуживания нашего веб-приложения в Azure должен быть не ниже «Стандартного»
  2. URL-адрес приложения должен содержать ваш домен, а не технический домен Azure .azurewebsites.net
  3. В Powershell на Windows 10 выполняем команду Install-Module AzureRM. Для остальных компьютеров используем инструкции на https://www.powershellgallery.com/ , скачивая последнюю версию Windows Management Framework и модуль для включения функции PackageManagement в PowerShell.
  4. Скачиваем и запускаем скрипт, доступный по адресу https://github.com/Microsoft/vsts-rm-documentation/blob/master/Azure/SPNCreation.ps1 После запуска скрипт спрашивает имя подписки (subscription name)— вводим то, которое у вас используется для публикации сайта. В моем случае это: 
  5. После требуется ввести пароль. Создаем новый, который будет использоваться для будущего приложения. Далее запросится учетная запись и пароль для доступа в Microsoft Azure .
  6. Если всё ввели правильно на предыдущем шаге, то создастся новое веб-приложение и после строк «SPN role assignment completed successfully» будут данные для подключения к этому приложению. Скопируем их куда-нибудь себе. 

  7. Устанавливаем приложение Let’s Encrypt , для этого зайдя в консоль SCM по адресу https://{your site name}.scm.azurewebsites.net/SiteExtensions/#gallery и устанавливаем там приложение «Azure Let’s Encrypt» 32-ух битной разрядности и после этого нажимаем «Restart Site«.
    Название сайта можно увидеть в консоли Azure.

    Поэтому у меня ссылка на консоль SCM выглядит как https://www-onix-me.scm.azurewebsites.net/SiteExtensions/#gallery
  8. Запускаем  «Azure Let’s Encrypt»: далее нам потребуется заполнить несколько полей:
    Tenant — это Tenant ID из 6 шага.
    SubscriptionId — это Subscription Id из 6 шага
    ClientId — это Service Principal Id из 6 шага
    ClientSecret — это тот пароль, который спрашивается в самом начале запуска скрипта из 5 шага.
    ResourceGroupName и ServicePlanResourceGroupName — это Default-Web-NorthEurope , то есть там, где расположены мои ресурсы в Azure, у вас может быть другое наименование. Нажимаем галочку «Update Application Settings» и нажимаем «Next».
  9. Если всё было сделано правильно, то на следующем шаге появится возможность выбрать название хоста и прописать почтовый адрес администратора. Ставим галочку «Use Staging«, чтобы была возможность еще раз запросить сертификат, в случае, если мы с первого раза не справимся. 
  10. Спустя несколько мгновений сертификат будет установлен на хостинге. Остается в админке Azure привязать его к сайту.
  11. Если требуется доступ к сайту только по безопасному протоколу, то не забываем включить «HTTPS Only» в Azure
  12. Остается только в WordPress включить доступ только по HTTPS, для этого заходим по FTP на сайт и меняем файл wp-config.php в корне сайта: вместе «http» прописываем «https»

Объединение Dlink DNS-323 и Transmission

Совсем недавно был приобретен данный девайс и сразу же захотелось установить на него нормальный торрент-клиент, так как встроенный в него (по слухам) мне как-то сразу разонравился своей небыстрой работой. Есть несколько вариантов клиента-качалки под данный NAS, но решил остановится именно на Transmission, так как он более популярный, очень шустрый да и я сам им уже пользовался на ноуте с CentOS на борту.
И так, поехали.

1) Скачиваем funplug 0.5 – это скрипт, с помощью которого в дальнейшем можно установить дополнительные компоненты для NAS (torrent-client, web-server и т.д.). Заходим по адресу “http://www.inreto.de/dns323/fun-plug/0.5/” и качаем два файла fun_plug и fun_plug.tgz.
2) Убеждаемся, что мы можем заливать файлы на Dlink-323 по Smb или по Nfs.
3) Заходим в сетевую шару находящуюся на NAS (у меня это “\\192.168.1.2\Volume_1”) и кидаем два файла, скаченные нами до этого, в корень сетевого диска. Затем перезагружаем DNS – 323 командой Restart во вкладке TOOLS/SYSTEM
4) После перезагрузки сервера нам будет открыт доступ к нему по протоколу Telnet. В Windows Vista и Seven telnet-клиент надо до устанавливать в систему, в XP он встроен по умолчанию. Думаю, как его установить не возникнет проблем. Подключаемся к NAS
telnet 192.168.1.2
Если подключение происходит, значит пока что все выполнено успешно.
5) Скачиваем дополнительные компоненты:
а) последнюю версию Transmission на этом форуме (на данный момент версия 2.11-1 последняя)
б) curl-7.18.1.tgz (свободно распространяемая, кроссплатформенная служебная программа командной строки для передачи файлов по различным протоколам с синтаксисом URL)
в) uclibc-0.9.29-7.tgz (стандартная библиотека языка программирования C, предназначенная для встраиваемых систем на базе Linux)
Все эти файлы кидаем в специально созданную директорию “setup” в корне нашей сетевой шары на DNS-323
6) Возвращаемся к телнету. Через него переходим в только что созданную директорию, где мы увидим наши три заветных файла, которые можно запустить на установку командой funpkg –i <название пакета>.
7) Далее командой /ffp/start/transmission.sh start и /ffp/start/transmission.sh stop запускаем и снова останавливаем нашу службу торрент-клиента. Главное создался после этого файл настроек, находящийся в “\192.168.1.2\volume_1\.transmission-daemon” c названием settings.json, который можно свободно открыть в блокноте. И тут наступает ответственный момент, на котором я надолго запнулся и не мог как решить проблему. Важно!!! Перед редактированием файла-настроек settings.json обязательно остановите службу торрент-клиента командой /ffp/start/transmission.sh stop иначе это грозит тем, что после редактирования настроек и перезапуска transmission все изменения в settings.json не сохраняются!!!
Редактирование настроек можно произвести также и непосредственно через telnet. Командами transmission-daemon –help и transmission-remote –help можно увидеть какие команды нам доступны. По поводу настроек тут разобраться не сложно, они почти такие же как и, например, в клиенте под windows.
8 ) И последнее. На все папки, которые вы потом добавите для сохранения закаченных файлов нужно выставить разрешение на запись командой chmod -R 777 <директория> , если это не сделать, то скачивание не будет происходить. Вообще, в случае проблем с transmission, можно смотреть его логи в файле “\192.168.1.2\Volume_1\transmission-daemon\.transmission-daemon.log”. После всех настроек можно будет управлять торрентом через web-интерфейс, но его нынешнее состояние оставляет желать лучшего, поэтому лучше установите для этих дел Transmission Remote GUI, по внешнему виду он очень похож на utorrent.

 

 

Высоких скоростей вам и меньше разрывов!