Click to See Complete Forum and Search --> : Icecast.conf: Changed settings not taking place


JockVSJock
08-09-2003, 03:18 PM
I've downloaded an installed Icecast case I want to stream some music.

Trying to set changes to icecast.conf.dist and everytime I make changes with VIM and save with :WQ. The changes do not take place.

What am I doing wrong here?

Also I'll post the config file to make sure that it looks ok:


This be a comment, I like comments.
# To use this file, copy it to etc/icecast.conf in the icecast base directory

################################################## ##############################


############### Server Location and Resposible Person #########################


Location:
Email:
Server URL: http://www.icecast.org/

########################### Server Limits ######################################
# These describe the maximum number of simultaneous connections allowed.
#
###########################

max_clients 100
max_clients_per_source 100
max_sources 10
max_admins 5
throttle 10.0

########################## Stream Meta Data ####################################
# This is a experimental feature, at best.
# When it does not work, it will put the whole stream out of synk on the client
# side, and you will get a big mess.
# use_meta_data controls whether this icecast server will use title streaming at
# all. I
##########################
use_meta_data 0
streamurllock 0
streamtitletemplate %s
streamurl http://yp.icecast.org
nametemplate %s
desctemplate %s


######################## Mountpoint fallback ###################################
# By default, if a user requests a stream that is not found, this user will be
# given the default stream instead. The default stream is per default the oldest
# stream on the server, but this can be changed with the priority value in the
# 'modify' command.
# If you don't want the user to get the default mount, but instead a
# HTTP 404 Stream Not Found, then set this to 0
########################

mount_fallback 0

# mount_fallback 1

######################### Server passwords #####################################
# Unless you've compiled icecast with crypt support,
# i.e with --with-crypt as an argument to the configure script,
# then these are in cleartext. If you _do_ have crypt support, then
# you have to create a crypted version of the password. You can do this
# with the included mkpasswd.c program. Just compile it with
# "gcc -o mkpasswd mkpasswd.c", perhaps with the -lcrypt option.
#########################

encoder_password foo
admin_password foo
oper_password foo

######################## Directory servers #####################################
# A directory server is a "meta-server" where you, for free, can list
# your own icecast server. This is a great way of getting more listeners.
# The touch_freq is how often to "update" the directory server with information
# from your server. (e.g number of listeners, stream info, etc..)
########################

#icydir yp.shoutcast.com
#icydir yp.breakfree.com
#icydir yp.musicseek.net
#icydir yp.van-pelt.com
#icydir yp.radiostation.de
#directory yp.icecast.org
#directory yp.mp3.de
touch_freq 5

############# Server IP/port configuration (IMPORTANT) #########################
# If no hostname is specified, icecast will listen on all available interfaces,


#############

port 8000
port 8001
server_name phoenix
# logdir /var/log/icecast
# logfile icecats.log
# console_mode 3
# client_timeout 30
# staticdir /home/cmmiller/MP3s

####################### Directory server options ##############################
# You can now force the directory server to use the server_name value instead
# of the originating ip. For most people this is unnecessary, since it is the
# same. But for people behind proxies, this should be very useful.
# Set it to 1 if you want to force use of the server_name variable.
#######################

force_servername phoenix

# force_servername 0

######################## Main Server Logfile ##################################
# This is the file where icecast prints all the information about
# connections, warnings, errors, etc...

########################

logfile icecast.log
accessfile access.log
usagefile usage.log
logfiledebuglevel 0
consoledebuglevel 0

########################## Reverse Lookups ####################################
# Set this to 1 if you want ip:s to be looked up (using reverse lookup)
# or 0 if you just want the ip:s (which is slightly faster)
##########################

reverse_lookups 1

############################ Console mode #####################################
# Use 0 if you want stdin to become a local admin console with log tailing
# Use 1 if you want stdin to become a local admin console
# Use 2 if you just want the console to become a log window
# Use 3 if you want the icecast server to be launched in the background (not available for Win32)
############################

console_mode 0

########################### Client Timeout ####################################
# (How to deal with clients when no encoder is connected)
# A negative value means keep them forever
# 0 (zero) means kick them out instantly
# X > 0 means keep them X seconds
###########################

client_timeout 30

######################### Kicking clients #####################################
# If set to 1, then clients whose source has disconnected will
# be kicked. If set to 0, they will simply be moved to another
# stream. This only has an effect if client_timeout is <= 0.
#########################

kick_clients 0

###################### Static file directory ##################################
# This enables the http-server file streaming support in icecast.
# If you don't want to go through the trouble of setting up apache


#staticdir c:\windows\desktop
staticdir /usr/local/icecast/static

############################# Templates ######################################
# the icecast server uses templtes to format output for list.cgi and
# various errors.

templatedir /usr/local/icecast/templates

############################# Statistics ######################################
# The icecast server dumps statistics to a file on a regular basis.


logdir /usr/local/icecast/logs
stats_log stats.log
statshtml_log stats.html
stats_time 60

############# Aliases (including virtual host support) ########################
# In icecast servers prior to the 1.3 release, you could run a icecast
# server as a relay for another icecast server, simply acting as a
# client on the other server and serving the local clients.

# alias radiofri http://195.7.65.207:6903

alias phoenix http://192.168.1.100:8000

############################ Kick Relays ######################################
# How long to keep aliased sources when no clients are left listening to it.
############################
kick_relays 10

############################ Transparent proxy ################################
# This is somewhat equivalent to making _all_ request to aliased sources. So
# instead of adding an alias for all streams in the world, turn on the
# transparent proxy support.
transparent_proxy 0


######################## Access Control Lists ##################################
# Perhaps you don't care who connects to your server, but I guess most people
# do. Icecast has 2 different ways of keeping people out. The first is using
# libwrap (tcpd, tcp wrappers, whatever you want to call it). It is a separate
# library written by Wietse Venema that over the years has become more or less
# a security standard in Unix. It should compile on every sane and unsane unix
# platform, and perhaps other platforms as well, I don't know.
# libwrap uses the files hosts.deny and hosts.allow, usually found in /etc
# or /usr/local/etc. You probably have to be root to edit these files.
# Try the man pages for tcpd and hosts_access for more information.
# There are 4 different icecast control thingies to use in hosts.deny/allow.
# First just "icecast", which controls _all_ connections, and kick in before
# anything is written or read on the socket. If a connection is denied here
# then it's bye bye. If it is allowed then depending on the type of the
# connection (admin/client/source), the controls "icecast_client",
# "icecast_admin", "icecast_source" describe who gets in.
# So to deny all clients except those matching *.se, add
# "icecast_client: ALL EXCEPT *.se" to hosts.deny. There are millions of
# variations on how to build a complete defence, and it's quite simple too.
# libwrap is a very powerful tool, consult the manpages for more information.
####
# The second way (which is always available) is using icecast's internal
# acl lists. The functionality is the same, but it is not as powerful when it
# comes to configuration and flexibilty as libwrap.
# You can specify acl rules either here in icecast.conf, or using the
# admin console. The syntax in icecast.conf is:
# allow <all|client|source|admin> <hostmask>
# deny <all|client|source|admin> <hostmask>
# So, using the same rule as above (allowing only clients from *.se)
# deny <client> *
# allow <client> *.se
# When using the internal acl rules, you need to specify a policy.
# This rule kick in when no allow or deny rule affects a connection.
# If you set acl_policy to 0, then connections who are not allowed by any
# allow rule will be denied, and the other way around if you set it to 1.
#########################

acl_policy 1
#deny all *
#allow all *.ryd.student.liu.se

################################################## ##############################

mdwatts
08-09-2003, 03:38 PM
Using 'vi' as root (su -)? A regular user does not have write access to the contents of /etc.

JockVSJock
08-09-2003, 03:43 PM
Yes, I'm editing this config file as root, jeez...

AND, the config file is not under /etc, it is under /usr/local/icecast/conf.

I installed from source and there was no errors or problems with the install.

mdwatts
08-09-2003, 04:02 PM
Does icecast expect it's config to be in /etc as the comment indicates?

And you would be surprised how many members post here with problems concerning NOT being able to write to certain files as a regular user. We have to ask, don't we?

JockVSJock
08-09-2003, 05:01 PM
Originally posted by mdwatts
Does icecast expect it's config to be in /etc as the comment indicates?

And you would be surprised how many members post here with problems concerning NOT being able to write to certain files as a regular user. We have to ask, don't we?

Should I move a copy of this config file to /etc and create a directory called /etc/icecast then?

Why would it not create a directory here, if that is what it is asking?

Seems screwy to me plus all of the examples that I'm seeing on the net don't show anything under /etc.

mdwatts
08-09-2003, 05:09 PM
I've never used icecast myself and am only going by what it says in the config.

# To use this file, copy it to etc/icecast.conf in the icecast base directory

First try copying icecast.conf.dist to icecast.conf in /usr/local/icecast/conf, make the edits and see if it works.

JockVSJock
08-09-2003, 05:36 PM
Originally posted by mdwatts
I've never used icecast myself and am only going by what it says in the config.

# To use this file, copy it to etc/icecast.conf in the icecast base directory

First try copying icecast.conf.dist to icecast.conf in /usr/local/icecast/conf, make the edits and see if it works.

Ok, well I don't have a dir under /etc/icecast.conf, but I can try copying it there and seeing what happens. I'll report back and I installed this from source not rpms.

Here are some Icecast urls that I am going by.

Icecast Setup (http://www.sugoi.org/bits/index.php?bit_id=30)

YoLinux Icecast Setup (http://www.yolinux.com/TUTORIALS/LinuxTutorialAudioStreaming.html)

thanks

JockVSJock
08-09-2003, 06:29 PM
Here is the script that I use to start icecast. Keep in mind that I now have this directory built as well

/etc/icecast/conf/icecast.conf

Here is the script that I use to start icecast and IT STILL DOES NOT RECOGNIZE any changes that I have done

/usr/local/icecast/bin/icecast


Still no luck.

mdwatts
08-09-2003, 06:41 PM
According to the second link you posted, the following is true.


Configuration files: /etc/icecast/icecast.conf

Default configuration file location: /etc/icecast.conf (not included)

icecast [options]

-c configuration-file Command line parameters overide configuration file directives.



So if /etc/icecast/icecast.conf or /etc/icecast.conf do not work, start icecast with

icecast -c /path/to/icecast.conf

JockVSJock
08-09-2003, 07:49 PM
Neither work

[root@phoenix bin]# icecast -c /usr/local/icecast/bin/icecast
-bash: icecast: command not found


[root@phoenix icecast.conf]# icecast -c /etc/icecast/icecast.conf
-bash: icecast: command not found

mdwatts
08-10-2003, 06:47 AM
Originally posted by JockVSJock
Neither work

[root@phoenix bin]# icecast -c /usr/local/icecast/bin/icecast
-bash: icecast: command not found


[root@phoenix icecast.conf]# icecast -c /etc/icecast/icecast.conf
-bash: icecast: command not found

Obviously the 'icecast' command cannot be found, SO include the full path.

/path/to/icecast -c /path/to/icecast.conf

or

cd /path/to/icecast

./icecast -c /path/to/icecast.conf

or

add the PATH to icecast into your PATH variable.

JockVSJock
08-10-2003, 12:38 PM
Originally posted by mdwatts
Obviously the 'icecast' command cannot be found, SO include the full path.

/path/to/icecast -c /path/to/icecast.conf

or

cd /path/to/icecast

./icecast -c /path/to/icecast.conf

or

add the PATH to icecast into your PATH variable.

I'm doing this as root, so everything is in my path.

Either way, it still did not work.

mdwatts
08-10-2003, 03:00 PM
Originally posted by JockVSJock
I'm doing this as root, so everything is in my path.

Either way, it still did not work.

So

whereis icecast

does show icecast and it's path?

I don't believe it does since I doubt /usr/local/icecast/bin is in root's PATH.

echo $PATH

Either add /usr/local/icecast/bin to roots PATH, cd to /usr/local/icecast/bin before executing or type

/usr/local/icecast/bin/icecast -c /path/to/icecast.conf

JockVSJock
08-12-2003, 08:16 AM
I've added the following to roots path.

[root@phoenix conf]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/usr/local/jdk/bin:/root/bin:./usr/local/icecast

But, it still WILL NOT execute.

hard candy
08-12-2003, 10:27 AM
Here is a link to configuring icecast: icecast (http://www.sarai.net/freesoftware/software_kit/icecast.htm)

The only thing I can think of would be the "-mp" after the su to keep the env varables intact.

mdwatts
08-12-2003, 04:48 PM
Originally posted by JockVSJock
I've added the following to roots path.

[root@phoenix conf]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11:/usr/X11R6/bin:/usr/local/jdk/bin:/root/bin:./usr/local/icecast

But, it still WILL NOT execute.

You've added the partial path, BUT what command are you using to attempt to execute?

Have you tried

/usr/local/icecast/bin/icecast -c /path/to/icecast.conf

At least let us know what you have tried from our suggestions and if they worked or not. Saying you added the path and then it doesn't execute does not tell us much.

You added /usr/local/icecase to your PATH. Is the icecase executable in /usr/local/icecast OR in /usr/local/icecast/bin ???