Chukcha, спасибо очередной раз! жаль, что вчера вечером у меня руки уже не дошли, поэтому не смог написать, что бокальчик вам полагается по всем параметрам! и не один )
ну, хотя сегодня пятница, так что, может и более удачное время для этого )
Поскольку, когда я сейчас снова запустил айкаст, и потом ввел в браузере айпи_адрес_сайта:8000/admin/ , то что-то увидел, ура! ) прикрепляю скриншот даже - может там ничего особенного, но для меня это сейчас самая прекрасная админка )
хотя пока там мне тоже не все понятно, но это большой прорыв. к тому же вижу, что он показывает, что находится на Земле (а на другой планете если запустить, он определит? :)
Еще показывает какие-то client_connections, просто connections, и file_connections. которые, кстати, пока я писал сообщение, увеличились с 1, 2 и 0 до 113, 115 и 83 соответственно.
То есть, не успел я ничего запустить, а у меня уже 113 слушателей? 😮
хотя, наверное, он показывает просто сколько обращений было к этому ip адресу, причем не уникальных посетителей, а просто обращений, даже, если они с одного компа?
а на счет команды nmap - я вроде с ней ознакомился, погуглил, но у меня из командной строки она не хочет что-то запускаться - пишет nmap: command not found. я вроде нашел даже примеры использования команды, пробовал также - все равно пишет, что команда не найдена..
так, ну и, конечно, плеер.
тут, в этой теме, на 4-й странице Trafikgon запостил код плеера, который можно вставить на сайт и он будет играть айсфм (хотя, кстати, попробовал сейчас конкретно его код и он у меня что-то не играет).
но точно такой же код, уже со своим сайтом и со своим файлом можно получить, зарегавшись на http://uppod.ru/ (добра этим людям, сколько народу пользуется их плеером - не счесть).
так вот, то есть, насколько я понимаю, если в этом коде в этой строке
<param name='flashvars' value='comment=Я айфую&m=audio&file=http://site.ru/ar_petr_ya_ka.mp3' />
вместо http://site.ru/ar_petr_ya_ka.mp3 ввести айпи_адрес_моего_сайта:8000, то плеер будет пытаться играть ту трансляцию, которую ему дает запущенный icecast?
если так, то это вообще отлично.
тогда останется только понять, как теперь настроить icecast так, чтобы он брал звук, который воспроизводится у меня на компе.. для этого, как я предполагаю, нужно где-то в настройках айскаста прописать айпи адрес моего домашнего компа (который дает 2ip.ru)?
хотя, наверное, не все так просто..
да а что моск-то?
я понимаю, что нет такого файла, я даже написал это выше. но что делать-то? создать самому эти папки и файлы? а это нормально? почему айскаст при установке сам их не создал? по крайней мере, раньше мне никогда не приходилось после установки программы еще создатвать какие-то файлы и папки, чтобы она начала работать..
ну да ладно, попробовал сам, создал папку var, в ней папку log, в ней папку icecast, и уже в ней файлы error.log и access.log
не знаю, насколько это нормально, но иного выхода я не вижу..
после этого попробовал запустить и он выдал первые две строки, которые до этого выдавал:
Starting icecast2
Detaching from the console
и больше ничего - никаких ошибок, замечаний, но при этом и никакого пояснения - запустился в итоге айскаст, или нет? а если запустился, то что дальше-то?
я, честно говоря, думал, что при запуске появится какое-то окошко программы, в котором будет что-то вроде кнопки "начать трансляцию", но ничего нет.
а как же радио-то теперь запустить? что прописать в хтмл-коде object какого-нибудь swf-плеера, чтобы радио заиграло?
подскажите, пожалуйста, если кто знает
вы бы хоть уточнили, какая у вас cms.. если друпал - то одно решение, если джумла - другое.
тк у вас вордпресс, я его хуже знаю, чем две предыдущие, но вроде там тег <!--more--> есть для таких случаев
эх, доконает меня это радио, я чувствую..
Chukcha, по вашему совету попробовать вырезать из icecast.xml кусок за кусочком, по паре открывающихся-закрывающихся блоков. в итоге остался только блок
<limits>
<clients>100</clients>
<sources>2</sources>
<threadpool>5</threadpool>
... и т.д.
</limits>
потом и его вырезал, и файле остались только открывающие-закрывающие теги <icecast></icecast>
Но, к сожалению, что бы я ни делал, все равно, при попытке запуска
icecast/bin/icecast -b -c etc/icecast.xml
Мне выдается то же сообщение:
I/O warning : failed to load external entity "etc/icecast.xml"
FATAL: error parsing config file (etc/icecast.xml)
XML config parsing error
Может, он вообще этот файл не может открыть, а не на какой-то тег ругается?
Не знаю уж, что и думать.
А поводу команд kill и ps почитал, спасибо.
Насколько я понял, ps показывает информацию об активных процессах, а с помощью kill можно завершить процесс по id, который дает ps.
В моем случае, опять-таки, насколько я понял, с помощью kill можно указать демону принять изменения в конфиг. файле, не прерывая его работы.
Но, правда, как конкретно это сделать в моем случае, я пока не понял..
Поэтому, при каждом изменении icecast.xml, я выходил из командной строки командой exit, а потом снова входил с помощью putty. Хотя, наверное, это не совсем экономично.
Но в любом случае, у меня остается главная проблема - что не так с этим icast.xml и почему он не может "загрузить эту внешнюю сущность"...---------- Добавлено 06.12.2012 в 18:53 ----------О, пока писал предыдущее сообщение, по вашему совету "включил моск", и вместо
ввел
icecast/bin/icecast -b -c icecast/etc/icecast.xml
и получил уже другую ошибку, ура! ) я продвинулся еще шаг ) теперь:
FATAL: could not open error logging (/home/username/icecast/var/log/icecast/error.log): No such file or directory
FATAL: could not open access logging (/home/username/icecast/var/log/icecast/access.log): No such file or directory
FATAL: Could not start logging
Как я понимаю, нет таких файлов или папок. А они должны быть? А почему тогда он не создал их установке?
В общем, продолжаю разбираться..---------- Добавлено 06.12.2012 в 18:57 ----------посмотрел - похоже у меня в папке icecast вообще нет папки var, ну и всего, что дальше соответственно тоже.. а где же их взять? самому создать?
Chukcha, спасибо еще раз за помощь! без вас бы за год, наверное, не разобрался во всем этом..
и нет, конечно, это не весь конфиг. я просто выложил кусочек, чтобы не загромождать сообщения большими кусками кода..
но выложу теперь весь код icecast.xml, раз в нем загвоздка:
<icecast> <limits> <clients>100</clients> <sources>2</sources> <threadpool>5</threadpool> <queue-size>524288</queue-size> <client-timeout>30</client-timeout> <header-timeout>15</header-timeout> <source-timeout>10</source-timeout> <!-- If enabled, this will provide a burst of data when a client first connects, thereby significantly reducing the startup time for listeners that do substantial buffering. However, it also significantly increases latency between the source client and listening client. For low-latency setups, you might want to disable this. --> <burst-on-connect>1</burst-on-connect> <!-- 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> </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> <!-- 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> --> <!-- 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> <!-- You may have multiple <listener> elements --> <listen-socket> <port>8000</port> <!-- <bind-address>127.0.0.1</bind-address> --> <!-- <shoutcast-mount>/stream</shoutcast-mount> --> </listen-socket> <!-- <listen-socket> <port>8001</port> </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-password>hackme</master-password>--> <!-- 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>--> <!-- <relay> <server>127.0.0.1</server> <port>8001</port> <mount>/example.ogg</mount> <local-mount>/different.ogg</local-mount> <on-demand>0</on-demand> <relay-shoutcast-metadata>0</relay-shoutcast-metadata> </relay> --> <!-- Only define a <mount> section if you want to use advanced options, like alternative usernames or passwords <mount> <mount-name>/example-complex.ogg</mount-name> <username>othersource</username> <password>hackmemore</password> <max-listeners>1</max-listeners> <dump-file>/tmp/dump-example1.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>/example_intro.ogg</intro> <hidden>1</hidden> <no-yp>1</no-yp> <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> </mount> <mount> <mount-name>/auth_example.ogg</mount-name> <authentication type="url"> <option name="mount_add" value="http://myauthserver.net/notify_mount.php"/> <option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/> <option name="listener_add" value="http://myauthserver.net/notify_listener.php"/> <option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/> </authentication> </mount> --> <fileserve>1</fileserve> <paths> <!-- basedir is only used if chroot is enabled --> <basedir>/home/username/icecast/share/icecast</basedir> <!-- Note that if <chroot> is turned on below, these paths must both be relative to the new root, not the original root --> <logdir>/home/username/icecast/var/log/icecast</logdir> <webroot>/home/username/icecast/share/icecast/web</webroot> <adminroot>/home/username/icecast/share/icecast/admin</adminroot> <!-- <pidfile>/home/username/icecast/share/icecast/icecast.pid</pidfile> --> <!-- 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="/status.xsl"/> </paths> <logging> <accesslog>access.log</accesslog> <errorlog>error.log</errorlog> <!-- <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>
действительно, в нем есть все те части, о которых вы пишите - название, клиенты, идентификация, порт, логи и т.д.
что-то закомментировано, что-то нет.
проверил правильность xml я в том смысле, что посмотрел, все ли теги закрыты, логична ли вложенность, ничего ли лишнего не закоментировано - в этом смысле вроде все нормально.
а на счет правильности заполнения, например, вот этих тегов:
<queue-size>524288</queue-size>
я, честно говоря, не берусь сказать.
вот насторожил блок authentication, так как там сейчас вместо паролей стоит "hackme" - но, возможно, это просто пароль по умолчанию, при желании его можно сменить, но icecast может работать и с таким, так ведь?
не знаю, что еще - может hostname изменить из localhost на ip-адрес сайта?
дефолтный конфиг - вы имеете в виду файл icecast.xml, который изначально был?
ну так он сейчас такой и есть, я в нем ничего, кроме строчек
<security>
<chroot>0</chroot>
<!--
<changeowner>
<user>nobody</user>
<group>nogroup</group>
</changeowner>
-->
</security>
не менял.
и сейчас вернул их обратно, как было.
или что-то другое имеете в виду?
Chukcha, простите, что я пока с трудом такие вещи, вроде моск-то включен, но вот, что именно из папки bin надо запускать я бы мозгом не дошел, только прочитав где-то..
офтоп - я вообще, продвижением больше занимаюсь, ну хмтл и цсс хорошо знаю, пхп и sql немного, чтобы информацию на сайте где нужно менять. а вот с устновкой программы на линукс-сервер первый раз столкнулся..
сделал
и наконец-то он выдал хоть что-то кроме Permission denied! :)
Starting icecast2 Detaching from the console I/O warning : failed to load external entity "etc/icecast.xml" FATAL: error parsing config file (etc/icecast.xml) XML config parsing error
конечно, пока все равно что-то не получилось, но хоть сдвинулся с мертвой точки, спасибо вам за это!
а сейчас, как я понимаю, ему что-то не нравится в файле icecast.xml, возможно как раз те изменения, которые я внес в строчки:
<security> <chroot>0</chroot> <!-- <changeowner> <user>nobody</user> <group>nogroup</group> </changeowner> --> </security>
сделав их:
<security> <chroot>1</chroot> <changeowner> <user>1234</user> <group>999</group> </changeowner> </security>
пишет
bash: icecast: command not found
Chukcha, спасибо за подсказки! на команду
find / -name icecast
отвечает
find: /.ro/etc/isdn: Permission deniedfind: /.ro/etc/ntp: Permission deniedfind: /.ro/usr/local/www/conf/ssl.key: Permission deniedfind: /.ro/usr/opt/apache/conf/ssl.key: Permission deniedfind: /.ro/usr/opt/russian/conf/ssl.key: Permission deniedfind: /var/spool/exim: Permission denied/home/username/icecast/home/username/icecast/share/doc/icecast/home/username/icecast/share/icecast/home/username/icecast/bin/icecast
где username - это идентификатор хостинга
то есть, как я понимаю, что-то запрещено, а что-то нет.
потом ввел:
ls -al /home/username/icecast
получил:
total 14drwxr-xr-x 7 username username 512 Dec 2 17:01 .drwxr-xr-x 12 username username 512 Dec 2 16:53 ..drwxr-xr-x 2 username username 512 Dec 2 17:01 bindrwxr-xr-x 2 username username 512 Dec 2 17:01 etcdrwxr-xr-x 4 username username 512 Dec 2 16:57 includedrwxr-xr-x 3 username username 512 Dec 2 16:57 libdrwxr-xr-x 5 username username 512 Dec 2 17:01 share
тут уже, честно говоря, сложно понять. почему 2 раза в строке username? типа, и администратор и пользователь один человек? а 512 что значит?
tooseebee, написал в службу поддержки еще вчера утром, вот уже сутки прошли, а они молчат.. вроде уважающая себя контора, а так тупят.. видимо, сами не знают..
а я тем временем еще попробовал сюда:
ставить пользователя и группу не словами, а цифрами, он ведь и так и так показывает, когда запрашиваешь id username. получилось
<user>1234</user>
<group>999</group>
После этого снова попробовал запустить icecast.xml через командную строку, но опять пишет permission denied..
я не знаю, не этот файл нужно запускать для старта icecast? а какой-нибудь другой?
а то на этот упорно не хотят давать доступ..
или попробовать залить в другую папку, может на этот не дают доступ, тк она корневая для хостинга, выше папки site.ru/docs