Описанная ниже установка производилась на виртуальный сервер с Centos и установленной панелью Vesta Control Panel. То есть у нас был чистый сервер, но с уже установленным Apache, PHP и так далее, которые установились вместе с панелью управления. В принципе, если на сервер была бы установлена другая панель, например ISPmanager, то суть установки RadioCMS не меняется.
Первым делом необходимо установить на сервер модуль php libssh2. Без него RadioCMS не установится. Как установить php libssh2 на сервер Centos подробно описано в этой статье.
Далее сразу ставим необходимые нам пакеты, для того, чтобы не возникало ошибок при установке необходимого софта:
yum install libxslt libxslt-devel libogg-devel libvorbis libvorbis-devel taglib taglib-devel libshout libshout-devel lame lame-devel
Теперь нужно установить Icecast. Новую версию через yum ставить крайне не рекомендую, так как могут возникнуть проблемы. Ставим стабильную версию из исходников:
wget http://downloads.xiph.org/releases/icecast/icecast-2.3.3.tar.gz tar zxvf icecast-2.3.3.tar.gz cd icecast-2.3.3 ./configure make make install
Добавляем группу и пользователя:
groupadd icecast useradd -g icecast -d /home/icecast -s /sbin/nologin icecast
Обратите внимание! Запускать на сервере сервис icecast не нужно, он будет запускаться через интерфейс RadioCMS.
Теперь создадим конфиг icecast, причём не в стандартном месте, папке etc, а в другом. Создаём папку /usr/icecast/, а в ней файл icecast.xml со следующим содержимым:
<icecast> <limits> <clients>200</clients> <sources>4</sources> <threadpool>5</threadpool> <queue-size>524288</queue-size> <client-timeout>30</client-timeout> <header-timeout>15</header-timeout> <source-timeout>10</source-timeout> <burst-on-connect>1</burst-on-connect> <burst-size>65535</burst-size> </limits> <authentication> <source-password>пароль</source-password> <relay-password>пароль</relay-password> <admin-user>admin</admin-user> <admin-password>пароль</admin-password> </authentication> <hostname>ip-сервера</hostname> <listen-socket> <port>8000</port> </listen-socket> <fileserve>1</fileserve> <mount> <mount-name>/live</mount-name> <charset>UTF-8</charset> <fallback-mount>/play</fallback-mount> <fallback-override>1</fallback-override> <fallback-when-full>1</fallback-when-full> </mount> <mount> <mount-name>/play</mount-name> <charset>UTF-8</charset> </mount> <paths> <logdir>/usr/local/share/icecast/logs</logdir> <webroot>/usr/local/share/icecast/web</webroot> <adminroot>/usr/local/share/icecast/admin</adminroot> <alias source="/" dest="/status.xsl"/> </paths> <logging> <accesslog>access.log</accesslog> <errorlog>error.log</errorlog> <loglevel>3</loglevel> <logsize>10000</logsize> </logging> <security> <chroot>0</chroot> <changeowner> <user>icecast</user> <group>icecast</group> </changeowner> </security> </icecast>
В данном конфиге необходимо 3 раза задать пароль и указать ip адрес вашего сервера.
Теперь необходимо создать папку для логов /usr/local/share/icecast/logs, так как её не существует и назначить этой папке группу и пользователя icecast.
Проверяем работоспособность. В консоли набираем команду для запуска icecast
icecast -c /usr/icecast/icecast.xml
Открываем в браузере адрес http://ваш_ip:8000/
Если открылся Icecast Status, значит всё ок, если ничего не произошло, значит порт 8000 закрыт в iptables и нужно его открыть. Для этого в файл /etc/sysconfig/iptables добавляем строку
-A INPUT -p tcp -m tcp --dport 8000 -j ACCEPT
и перезагружаем iptables командой
service iptables restart
Снова запускаем в консоли команду для запуска icecast и открываем в браузере http://ваш_ip:8000/ - должен открыться Icecast Status.
Далее необходимо установить ezstream. Ставить нужно не официальную версию, а специальную, с сайта RadioCMS, так как при использовании официальной будут проблемы.
wget http://radiocms.ru/files/ezstream-0.5.6-radiocms-2.4.tar.gz tar zxvf ezstream-0.5.6-radiocms-2.4.tar.gz cd ezstream-0.5.6-radiocms-2.4 ./configure make make install
В папке /usr/icecast/ (там где у нас лежит конфиг icecast) создаём файл плейлиста playlist.txt, устанавливаем на него права 777, а также создаём файл конфига ezstream - ezstream.xml, со следующим содержимым:
<ezstream> <url>http://localhost:8000/play</url> <sourcepassword>пароль source в конфиге icecast</sourcepassword> <format>MP3</format> <filename>/полный/адрес/до/плейлиста</filename> <shuffle>0</shuffle> <playlist_program>0</playlist_program> <svrinfoname>Name</svrinfoname> <svrinfourl>http://radiocms.ru/</svrinfourl> <svrinfogenre>Ofther</svrinfogenre> <svrinfodescription>Description</svrinfodescription> <svrinfobitrate>128</svrinfobitrate> <svrinfochannels>2</svrinfochannels> <svrinfosamplerate>44100</svrinfosamplerate> <svrinfopublic>1</svrinfopublic> <reencode> <enable>1</enable> <encdec> <format>MP3</format> <match>.mp3</match> <decode>lame -f --preset cbr 128 --bitwidth 16 "@T@" -</decode> </encdec> </reencode> </ezstream>
Вписываем свой пароль, который вы указали в source в конфиге icecast, путь до плейлиста, в нашем случае это /usr/icecast/playlist.txt, меняем название нашей радиостанции, адрес сайта, жанр и описание.
На этом подготовительный процесс завершён, можно создавать поддомен, например radio.vashdomain.ru и устанавливать туда RadioCMS.
Установка очень проста, единственные моменты на которые нужно обратить внимание:
- Не должно быть директивы open_basedir
- В процессе установки нужно будет указать правильные пути к файлам конфигов и плейлиста, которые у нас лежат в папке /usr/icecast/
Также необходимо будет указать логин и пароль суперадминистратора сервера, то есть root. Это необходимо для того, чтобы RadioCMS могла запускать сервер Icecast. Однако указывать ваш текущий логин и пароль суперадминистратора крайне не рекомендую, лучше создать нового суперпользователя с очень сложным паролем и указать их при установке RadioCMS. Добавить суперпользователя можно через панель управления, если она это позволяет, либо через консоль командами:
useradd -ou 0 -g 0 radiouser passwd radiouser
где radiouser - это логин, а пароль вы зададите после ввода второй команды.
После установки необходимо добавить в планировщик команду, указанную на последнем шаге.
На этом в принципе всё, осталось в папке music создать новую папку, залить туда музыку (к примеру по фтп), затем в админке RadioCMS создать новый плейлист, задать время его запуска, добавить в плейлист нужную музыку и запустить вещание.
Адрес плейлиста вашей радиостанции находится по адресу radio.vashdomain.ru:8000/live.m3u
Сам поток radio.vashdomain.ru:8000/live
В случае, если вам необходима помощь в установке RadioCMS и необходимого софта - вы можете обратиться к нашим специалистам. Стоимость услуги всего 10$.
Также мы готовы предоставить вам в аренду виртуальный сервер, на котором можно установить RadioCMS. Стоимость начинается от 5$ в месяц. За более подробной информацией обращайтесь в нашу службу поддержки.