Вернуться   Форум RadioCMS > RadioCMS > Установка RadioCMS

Добро пожаловать на Форум RadioCMS.
Форум доступен только для чтения.

Ответ
Опции темы Опции просмотра
  #1  
Непрочитано 25.12.2010, 13:02
DragonZX DragonZX вне форума
Junior Member
 
Регистрация: 25.12.2010
Сообщений: 23
По умолчанию Невозможно найти файл конфигурации

На ОС Debian Lenny amd_64 имеется установленные пакетами с оф. репозитория.
iceсast2 и ezstream.
(aptitude install icecast2 ezstream)
Соответственно конфигурационный файл icecast находится в
/etc/icecast2/icecast.xml под автоматически созданным юзером icecast2 группы icecast

1. В Шелл вбит юзер icecast2, но в следующем окне пишет
Конфигурация IceCast: /etc/icecast2/icecast.xml
Файл конфигурации icecast не существует.
2. Нигде не могу найти конфигурационный файл для ezstream
Помогите хотябы с первой ошибкой (крайне не хочется в шелл вбивать рута)
Ответить с цитированием
  #2  
Непрочитано 25.12.2010, 19:43
DragonZX DragonZX вне форума
Junior Member
 
Регистрация: 25.12.2010
Сообщений: 23
По умолчанию

Разобрался, каталог icecast должен быть указан без / и имени файла, то есть /etc/icecast
ezstram должен быть установлен и создан одноименный файл конфигурации в той же директории.
Ответить с цитированием
  #3  
Непрочитано 27.12.2010, 18:58
admin admin вне форума
Administrator
 
Регистрация: 17.08.2010
О.С.: Debian 7
Версия: 2.5
Сообщений: 844
По умолчанию

Файлы конфигураций и адрес плейлиста нужно указывать вместе с названием файла.
Искать файлы конфигураций не нужно. Их нужно самому создать, использую примеры из тем "Установка icecast" и "Установка ezstream"
Ответить с цитированием
  #4  
Непрочитано 28.08.2011, 21:21
DragonZX DragonZX вне форума
Junior Member
 
Регистрация: 25.12.2010
Сообщений: 23
По умолчанию

В общем тогда вырулил без панельки, при помощи mpd.
Теперь спустя полгода решил все-таки добить автоматическую установку. Устанавливал на Debian Squeeze i386 + ispCP Omega на виртуальный домен (как обычный сайт)

Добавил репы в /etc/apt/sources.list
deb http://ftp.debian-multimedia.org squeeze main non-free

Перепарсил репы
apt-get update

Установил пакеты
apt-get install icecast2 ezstream lame

Прописал
Устанавливал без имен файлов, вбивая значения позже в config.php
Icecast прокатил с таким конфигом (иначе вообще не запускался).

/etc/icecast2/icecast2.xml
Код:
<icecast>
    <location>DE</location>
    <admin>webmaster@localhost</admin>

    <limits>
        <clients>100</clients>
        <sources>2</sources>
        <queue-size>524288</queue-size>
        <client-timeout>30</client-timeout>
        <header-timeout>15</header-timeout>
        <source-timeout>10</source-timeout>
        <!-- same as burst-on-connect, but this allows for being more
             specific on how much to burst. Most people won't need to
             change from the default 64k. Applies to all mountpoints  -->
        <burst-size>65535</burst-size>
        <!--
        <max-bandwidth>100M</max-bandwidth>
        -->
    </limits>

    <authentication>
        <!-- Sources log in with username 'source' -->
        <source-password>hackme</source-password>
        <!-- Relays log in username 'relay' -->
        <relay-password>hackme</relay-password>

        <!-- Admin logs in with the username given below -->
        <admin-user>admin</admin-user>
        <admin-password>hackme</admin-password>
    </authentication>

    <!-- Uncomment this if you want directory listings -->
    <!--
    <directory>
        <yp-url-timeout>15</yp-url-timeout>
        <yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
    </directory>
     -->

    <!-- This is the hostname other people will use to connect to your server.
    It affects mainly the urls generated by Icecast for playlists and yp
    listings. -->
    <hostname>localhost</hostname>

    <!-- port to use when talking to YP etc -->
    <!--<port>8000</port> -->

    <!-- You may have multiple <listener> elements -->
    <listen-socket>
        <port>8000</port>
        <!-- <bind-address>127.0.0.1</bind-address> -->
        <!-- use <shoutcast-mount> in here to implicitly define port n+1 -->
    </listen-socket>
    <!--
    <listen-socket>
        <port>8001</port>
        <ssl>1</ssl>
    </listen-socket>
    -->

    <!--<master-server>127.0.0.1</master-server>-->
    <!--<master-server-port>8001</master-server-port>-->
    <!--<master-update-interval>120</master-update-interval>-->

    <!--<master-username>hackme</master-username>-->
    <!--<master-password>hackme</master-password>-->

    <!-- issue above authentication for relays in slave setup -->
    <!--<master-relay-auth>1</master-relay-auth>-->

    <!-- setting this makes all relays on-demand unless overridden, this is
         useful for master relays which do not have <relay> definitions here.
         The default is 0 -->
    <!--<relays-on-demand>1</relays-on-demand>-->


    <!-- Request the master server to redirect new listeners to this slave
         the details passed are based on <hostname> and <port> -->
    <!--<master-redirect>1</master-redirect>-->

    <!-- The maximum nuber of slaves that can register for new listener redirection. -->
    <!--<max-redirect-slaves>10</max-redirect-slaves>-->

    <!-- Relays. State connection information, and by default 
         request inline metadata for mp3 streams if available.
         An on-demand relay will only retrieve the stream if
         there are listeners connected -->
    <!--
    <relay>
        <server>127.0.0.1</server>
        <port>8001</port>
        <mount>/example.ogg</mount>
        <local-mount>/different.ogg</local-mount>
        <on-demand>1</on-demand>
        <retry-delay>30</retry-delay>

        <relay-shoutcast-metadata>0</relay-shoutcast-metadata>
    </relay>
    -->
    <!-- Allow multiple master servers to be specified, tries each one in turn.
    <relay>
        <local-mount>/stream.mp3</local-mount>
        <server>a.b.c.d</server>
        <timeout>6</timeout>
        <master>
            <port>8000</port>
            <mount>/a</mount>
        </master>
        <master>
            <port>80</port>
            <mount>/</mount>
        </master>
    </relay>
    -->

    <!-- Only define a <mount> section if you want to use advanced options,
         like alternative usernames or passwords
         With a master/slave setup you need to define a mount in the master
         or else the server will assume that the stream is not to be made
         available to the slave.-->
    <mount>
        <mount-name>/play</mount-name>

        <username>user</username>
        <password>password</password>

        <max-listeners>1</max-listeners>
        <max-bandwidth>1000k</max-bandwidth>
        <file-seekable>0</file-seekable>
        <dump-file>/backup/live-%d-%b.ogg</dump-file>
        <burst-size>65536</burst-size>
        <fallback-mount>/example2.ogg</fallback-mount>
        <fallback-override>1</fallback-override>
        <fallback-when-full>1</fallback-when-full>
        <intro>/path/to/stream-intro.ogg</intro>
        <max-listener-duration>3600</max-listener-duration>
        <hidden>1</hidden>
        <!-- <authentication type="htpasswd">
                <option name="filename" value="myauth"/>
                <option name="allow_duplicate_users" value="0"/>
        </authentication> -->
        <on-connect>/home/icecast/bin/stream-start</on-connect>
        <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
        <file-seekable>0</file-seekable>
    </mount>
    
    <!-- other auth possibilities include running a command
         to do the auth, mount, user and pass are passed via
         stdin to the program
    <mount>
    ....
        <authentication type="command">
             <option name="listener_add" value="auth_verify"/>
        </authentication>
        
        or 

        for url auth, the add url needs to return a "icecast-auth-user:" http
        header for a user to authenicate. URLs are sent params via POST.

        <authentication type="url">
             <option name="username" value="admin"/>
             <option name="password" value="hackme"/>
             <option name="handlers"        value="3" />
             <option name="stream_auth"    value="http://myauthserver.com/scripts/auth_mount.php"/>
             <option name="mount_add"    value="http://myauthserver.com/scripts/add_mount.php"/>
             <option name="mount_remove" value="http://myauthserver.com/scripts/del_mount.php"/>
             <option name="listener_add"    value="http://myauthserver.com/scripts/add_listener.php"/>
             <option name="listener_remove" value="http://myauthserver.com/scripts/del_listener.php"/>
        </authentication>
    </mount -->


    <fileserve>1</fileserve>

    <!-- set the mountpoint for a shoutcast source to use, the default if not
         specified is /stream but you can change it here if an alternative is
         wanted or an extension is required
    <shoutcast-mount>/live.nsv</shoutcast-mount>
    -->

    <paths>
        <!-- basedir is only used if chroot is enabled -->
        <basedir>/usr/share/icecast2</basedir>

        <!-- Note that if <chroot> is turned on below, these paths must both
             be relative to the new root, not the original root -->
        <logdir>/var/log/icecast2</logdir>
        <webroot>/usr/share/icecast2/web</webroot>
        <adminroot>/usr/share/icecast2/admin</adminroot>
        <!-- <pidfile>/usr/share/icecast2/icecast.pid</pidfile> -->
        <!-- <ssl-certificate>/usr/share/icecast2/icecast.pem</ssl-certificate> -->
        <!-- <deny-ip>/path/to/file-with-IPs</deny-ip> -->
        <!-- <allow-ip>/path/to/file-with-IPs</allow-ip> -->
        <!-- <deny-agents>/path/to/file-with-useragents</deny-agents> -->

        <!-- location of mime types files used for file serving -->
        <!-- <mime-types>/etc/mime.types</mime-types> -->

        <!-- Aliases: treat requests for 'source' path as being for 'dest' path
             May be made specific to a port or bound address using the "port"
             and "bind-address" attributes.
          -->
        <!--
        <alias source="/foo" dest="/bar"/>
          -->
        <!-- Aliases: can also be used for simple redirections as well,
             this example will redirect all requests for http://server:port/ to
             the status page
          -->
        <alias source="/" dest="/index.html"/>
    </paths>

    <logging>
        <accesslog>access.log</accesslog>
        <errorlog>error.log</errorlog>
        <!-- <accesslog_ip>0<accesslog_ip> -->
        <!-- <playlistlog>playlist.log</playlistlog> -->
      	<loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
      	<logsize>10000</logsize> <!-- Max size of a logfile -->
        <!-- If logarchive is enabled (1), then when logsize is reached
             the logfile will be moved to [error|access|playlist].log.DATESTAMP,
             otherwise it will be moved to [error|access|playlist].log.old.
             Default is non-archive mode (i.e. overwrite)
        -->
        <!-- <logarchive>1</logarchive> -->
    </logging>

    <security>
        <chroot>0</chroot>
        <!--
        <changeowner>
            <user>nobody</user>
            <group>nogroup</group>
        </changeowner>
        -->
    </security>
</icecast>
Добавил /etc/icecast2/ezstream.xml следующего содержимого
Код:
<ezstream>
<url>http://localhost:8000/play</url>
<sourcepassword>password</sourcepassword>
<format>MP3</format>
<filename>/music/playlist.m3u</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>
</ezstream>
Написал к нему демон на запуск /etc/init.d/ezstream
Код:
# /bin/sh
### BEGIN INIT INFO
# Provides:          ezstream
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Starts the icecast audio streaming server daemon
### END INIT INFO
#
# icecast2 ezstream
#
#		Written by Miquel van Smoorenburg <[email protected]>.
#		Modified for Debian 
#		by Ian Murdock <[email protected]>.
#
#		Further modified by Keegan Quinn <[email protected]>
#		for use with Icecast 2
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/bin/ezstream
PLAYLIST=/srv/ezstream.m3u
NAME=ezstream
DESC=ezstream

test -x $DAEMON || exit 0

# Defaults
CONFIGFILE="/etc/icecast2/ezstream.xml"
CONFIGDEFAULTFILE="/etc/default/ezstream"
USERID=icecast2
GROUPID=icecast
ENABLE="false"

# Reads config file (will override defaults above)
[ -r "$CONFIGDEFAULTFILE" ] && . $CONFIGDEFAULTFILE

if [ "$ENABLE" != "true" ]; then
	echo "$NAME daemon disabled - read $CONFIGDEFAULTFILE."
	exit 0
fi

set -e

case "$1" in
  start)
	echo -n "Starting $DESC: "
	start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
		--exec $DAEMON -- -c $CONFIGFILE
		--exec $DAEMON -- -s $playlist
	echo "$NAME."
	;;
  stop)
	echo -n "Stopping $DESC: "
	# Send TERM after 5 seconds, wait at most 30 seconds.
	start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --exec $DAEMON
	echo "$NAME."
	;;
  reload|force-reload)
	echo "Reloading $DESC configuration files."
	start-stop-daemon --stop --signal 1 --quiet --exec $DAEMON
	;;
  restart)
	echo -n "Restarting $DESC: "
	# Send TERM after 5 seconds, wait at most 30 seconds.
	start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --exec $DAEMON
	start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \
		--exec $DAEMON -- -c $CONFIGFILE
	echo "$NAME."
	;;
  *)
	echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
	exit 1
	;;
esac

exit 0
Написал /etc/default/ezstream
Код:
# Defaults for icecast2 initscript
# sourced by /etc/init.d/ezstream
# installed at /etc/default/ezstream by the maintainer scripts

#
# This is a POSIX shell fragment
#

# Full path to the server configuration file
CONFIGFILE="/etc/icecast2/ezstream.xml"

# Name or ID of the user and group the daemon should run under
USERID=icecast2
GROUPID=icecast

# Edit /etc/icecast2/icecast.xml and change at least the passwords.
# Change this to true when done to enable the init.d script
ENABLE=true
Ребутнул
Впринципе все работает, только вещалка ругается на пароль и ezstram выдает
Код:
/etc/icecast2/ezstream.xml is group and/or world writeable
-bash: /etc/icecast2/ezstream.xml: Permission denied
Ответить с цитированием
  #5  
Непрочитано 28.08.2011, 21:43
DragonZX DragonZX вне форума
Junior Member
 
Регистрация: 25.12.2010
Сообщений: 23
По умолчанию

Как только появится нормальный менеджер файлов и автоустановка - я бы купил и стал распространять, а так платить за проект опенсорсного уровня - я подыщу чего получше...
Ответить с цитированием
  #6  
Непрочитано 29.08.2011, 13:37
admin admin вне форума
Administrator
 
Регистрация: 17.08.2010
О.С.: Debian 7
Версия: 2.5
Сообщений: 844
По умолчанию

Цитата:
Сообщение от DragonZX Посмотреть сообщение
/etc/icecast2/ezstream.xml is group and/or world writeable
-bash: /etc/icecast2/ezstream.xml: Permission denied
Это ошибка говорит о том что на файл конфигурации ezstream установлены не правильные права. Про правильные права написано в теме с установкой ezstream. Кроме того установщик RadioCMS автоматически устанавливает правильные права на файлы конфигурации.

Указанные демоны для работы RadioCMS и всего необходимого П.О. не нужны.
__________________

1) Тем кто ничего не понимает читать это
2) Список самых частых ошибок
p\s Хотите получить исчерпывающий ответ - предоставляйте как можно больше информации (логи и скриншоты - помогают)

Ответить с цитированием
  #7  
Непрочитано 29.08.2011, 20:02
DragonZX DragonZX вне форума
Junior Member
 
Регистрация: 25.12.2010
Сообщений: 23
По умолчанию

Блин, я понимаю что не требуется. Задача у меня стоит не "установить панель", а сделать это максимально грамотно и лаконично под определенную систему и собирать кучу исходников мне не улыбается. К тому же юзеры такие, что нравят что-нибудь уронить.

конфиг ezstream он не цепляет вне зависимости от того с какими правами (прописывал и 777) и под каким юзером он находится, причем ошибки совершенно различные.

Демон нужен для автозапуска всего этого хозяйства по init.d, и для его перезапуска в случае чего. Кстати отдельно пришлось собирать libxml2 с исходников (с пакeтов он не видит).

Я скорей пытаюсь написать ман по автоустановке, чем запрос в техподдержку.
Ответить с цитированием
  #8  
Непрочитано 29.08.2011, 20:06
DragonZX DragonZX вне форума
Junior Member
 
Регистрация: 25.12.2010
Сообщений: 23
По умолчанию

Мне вот единственное интересно как скрипт генерит плейлист на ezstream? Пишет в плейлист, а проигрыватель его парсит? Если да, то какой промежуток времени между ними?
Ответить с цитированием
  #9  
Непрочитано 30.08.2011, 13:38
admin admin вне форума
Administrator
 
Регистрация: 17.08.2010
О.С.: Debian 7
Версия: 2.5
Сообщений: 844
По умолчанию

Цитата:
Сообщение от DragonZX Посмотреть сообщение
Блин, я понимаю что не требуется. Задача у меня стоит не "установить панель", а сделать это максимально грамотно и лаконично под определенную систему и собирать кучу исходников мне не улыбается.
Простите, я вас не понимаю - что сделать? Если ваша цель не установить RadioCMS, то к сожалению я вам не смогу помочь, т.к. на этом форуме обсуждаются только вопросы по установке RadioCMS.
__________________

1) Тем кто ничего не понимает читать это
2) Список самых частых ошибок
p\s Хотите получить исчерпывающий ответ - предоставляйте как можно больше информации (логи и скриншоты - помогают)

Ответить с цитированием
  #10  
Непрочитано 30.08.2011, 14:06
DragonZX DragonZX вне форума
Junior Member
 
Регистрация: 25.12.2010
Сообщений: 23
По умолчанию

Уважаемый админ, в кавычках не означает что мы не хотим установить панель... Мне надо это сделать ПОД ДЕБИАН и с минимальным количеством телодвижений. Почти преуспели.
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +3, время: 01:27.