Setting up for lan and wan

712 views
Skip to first unread message

Sceva

unread,
Oct 1, 2010, 10:30:00 AM10/1/10
to BigBlueButton-Setup
Great product! Thanks for everyone's work on this. I am running the
current stable version (as of yesterday) of the VM installation.
Everything worked well in the install, took about 25 minutes for all
the updates, but when it finished I logged in, BBB started up nicely,
and I was able to access it using the ip address of the VM within my
LAN. Sweet! On to setting up WAN access... (and I did read the
directions and the faq page first)

I am trying this at home, so I set up my qwest modem to forward ports
80, 1935, and 9125 to the ip of the server: 192.168.0.25. I then
added the line to the etc/hosts file: 192.168.0.25 99.99.99.99 (my
outside ip address - I know the faq's say insert domain name here, but
I only have an ip address. The full name is
99.99.99.99.xxxx.qwest.net, but other port forwards I have set up work
with just the ip address).

At this point, when I access from the WAN, using 99.99.99.99 as the
address in the browser, I get the infamous "Welcome to nginx" screen.
I then used the setip command and changed the BBB ip to 99.99.99.99.
The current status is:
(don't know how to copy from the vmplayer...)
...config.xml:
port test (tunnel): 99.99.99.99
red5: 99.99.99.99

...sites-available/bigbluebutton
server name:99.99.99.99
port:80
bbb-client dir: /var/www/bigbluebutton

....properties(bbb-web)
bbb-web host:99.99.99.99

...(API demos)
bbb-web-api-host:99.99.99.99

...bbb-extensions.conf (asterisk)
voice conf application: konference

**Potential Problems **
IP does not match:
IP from ifconfig: 192.168.0.25
...sites-available/bigbluebutton: 99.99.99.99

With this setup, I get the "Welcome to nginx" screen from the lan with
the 192.168.0.25 address. (I did read on another post that someone
fixed this by adding some info to the hosts file on the computers on
the LAN, but he did not say what he added...) From the WAN at ip
address 99.99.99.99 I get the welcome screen, but when I log in I get
a status 500 error, which I also have read is caused by some problems
with the hosts file but again the answers have eluded me.

My etc/hosts file on the VM looks like this currently:
127.0.0.1 localhost
127.0.0.1 bbb-vm-20101001-00.localdomain bbb-vm-20101001-00
192.168.0.25 75.163.75.245
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

I would like to be able to access the bbb from the LAN and WAN, and
don't really care how pretty the urls are as long as we can connect.
I hope someone can assist with this. Thanks again for the great
product.

Russell....@cune.org

unread,
Oct 1, 2010, 11:02:12 AM10/1/10
to bigbluebu...@googlegroups.com
The hosts file is a way to map an IP address to a host name and vice
versa. It is usually consulted before DNS (unless you change the order).

> My etc/hosts file on the VM looks like this currently:
> 127.0.0.1 localhost
> 127.0.0.1 bbb-vm-20101001-00.localdomain bbb-vm-20101001-00
> 192.168.0.25 75.163.75.245

The last line above will not work, because it doesn't map an IP address
to a host name. Since you want the outside world to see the outside name
of your server, you need to define the inside name to be the same.
Something like this should work, assuming there is an external DNS entry
for the host name.

192.168.0.25 75.163.75.245.xxx.qwest.net

--
Russell Mosemann

________________________________________________________
Concordia University, Nebraska
See http://www.cune.edu/ for the latest news and events!

Sceva

unread,
Oct 1, 2010, 8:06:08 PM10/1/10
to BigBlueButton-Setup
OK, now I will have to reset my modem to get a new ip address since I
accidentally gave out my real ip address... :-)

Anyway, for now if you have time, try opening a browser to
75.163.75.245 and let me know how it works for you? From my phone I
can see the landing page, but I don't have flash on my phone for
entering a presentation...

Let's assume for a moment that the WAN is working correctly. When I
access the site from the lan at 192.168.0.25 I am getting the "Welcome
to nginx!" screen and nothing else. Is it possible to leave the BBB
ip settings as is and still get to it from the LAN? (OK, I am sure
the answer is yes, but I haven't been able to figure it out yet. This
whole idea of the VM having a local ip address and the BBB server
having another is baffling to me.)

Thanks.
> Seehttp://www.cune.edu/for the latest news and events!

Russell Mosemann

unread,
Oct 1, 2010, 8:17:31 PM10/1/10
to bigbluebu...@googlegroups.com
> Anyway, for now if you have time, try opening a browser to
> 75.163.75.245 and let me know how it works for you? From my phone I

I see the home page. When I enter the demo meeting, I get

java.lang.NullPointerException

More details are below. It looks like BBB can't figure out the URL for the meeting.

--
Russell Mosemann


java.lang.NullPointerException
at org.apache.jsp.demo.demo1_jsp.getJoinURL(demo1_jsp.java:168)
at org.apache.jsp.demo.demo1_jsp._jspService(demo1_jsp.java:624)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.processFilterChain(UrlMappingsFilter.java:263)
at org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal(UrlMappingsFilter.java:205)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent(GrailsPageFilter.java:221)
at org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:126)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jsecurity.web.servlet.JSecurityFilter.doFilterInternal(JSecurityFilter.java:384)
at org.jsecurity.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:183)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:65)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:636)

Fred Dixon

unread,
Oct 1, 2010, 10:44:03 PM10/1/10
to bigbluebu...@googlegroups.com
Hi Russell,

This error

at org.apache.jsp.demo.demo1_jsp.getJoinURL(demo1_jsp.java:168)

is caused when the BigBlueButton server can't resolve the URL defined in

/var/lib/tomcat6/webapps/bigbluebutton/demo/bbb_api_conf.jsp

What happens is it's making a call to itself to retrieve some XML, but
the call fails and the XML parser throws an exception on a null link.

For example, here's what's defined on our demo.bigbluebutton.org server

<%!
// This is the security salt that must match the value set in the
BigBlueButton server
String salt = "<salt>";

// This is the URL for the BigBlueButton server
String BigBlueButtonURL = "http://demo.bigbluebutton.org/bigbluebutton/";
%>

On your BigBlueButton server, can you login and try

wget -O - --quiet http://75.163.75.245/bigbluebutton/api

and see if it returns

<response><returncode>SUCCESS</returncode><version>0.7</version></response>

If it does not, this is the root of your exception. You need to
modify your server so the above URL will resolve when run on your
BigBlueButton server.

Regards,... Fred

> --
> You received this message because you are subscribed to the Google Groups "BigBlueButton-Setup" group.
> To post to this group, send email to bigbluebu...@googlegroups.com.
> To unsubscribe from this group, send email to bigbluebutton-s...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/bigbluebutton-setup?hl=en.
>
>

Sceva

unread,
Oct 2, 2010, 8:57:54 AM10/2/10
to BigBlueButton-Setup
Thanks Russel and Fred. I set the ip back to 192.168.0.25, tested it
in the browser and it works well, and I get the ...SUCCESS... message
you spoke of. When I set it to the public ip address and run the
wget... command I get no response. If I run it without the --quiet
param it returns:
Connecting to 75.163.75.245:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2010-10-02 12:45:38 ERROR 404: Not Found.

If I run the command shortened:
wget -O- http://75.163.75.245/bugbluebutton/ it returns the same
response as above.
If I run the command further shortened:
wget -O- http://75.163.75.245/ it returns:
...
HTTP request sent, awaiting response... 401 Unauthorized
Authorization failed.

Other than adding a single line to the etc/hosts file I have done
nothing to the default setup besides running the bbb-conf --setip to
change the ip between the local and public ip address. If this isn't
enough information to point to the problem, are there log files I
could look at on the server that would shed some more information on
what is being requested and where it is being sent? Thanks.

On Oct 1, 9:44 pm, Fred Dixon <ffdi...@gmail.com> wrote:
> Hi Russell,
>
> This error
>
>        at org.apache.jsp.demo.demo1_jsp.getJoinURL(demo1_jsp.java:168)
>
> is caused when the BigBlueButton server can't resolve the URL defined in
>
>    /var/lib/tomcat6/webapps/bigbluebutton/demo/bbb_api_conf.jsp
>
> What happens is it's making a call to itself to retrieve some XML, but
> the call fails and the XML parser throws an exception on a null link.
>
> For example, here's what's defined on our demo.bigbluebutton.org server
>
> <%!
> // This is the security salt that must match the value set in the
> BigBlueButton server
> String salt = "<salt>";
>
> // This is the URL for the BigBlueButton server
> String BigBlueButtonURL = "http://demo.bigbluebutton.org/bigbluebutton/";
> %>
>
> On your BigBlueButton server, can you login and try
>
>    wget -O - --quiethttp://75.163.75.245/bigbluebutton/api
>
> and see if it returns
>
>    <response><returncode>SUCCESS</returncode><version>0.7</version></response>
>
> If it does not, this is the root of your exception.  You need to
> modify your server so the above URL will resolve when run on your
> BigBlueButton server.
>
> Regards,... Fred
>
> On Fri, Oct 1, 2010 at 8:17 PM, Russell Mosemann
>

Fred Dixon

unread,
Oct 2, 2010, 9:24:31 AM10/2/10
to bigbluebu...@googlegroups.com
Hi Sceva,

OK, so 75.163.75.245 is resolving, but I think what's happening now is
nginx needs to proxy incoming request for BigBlueButton to their
associated components (web, red5, desktop sharing, and tomcat6), and
it's not matching an incoming request to 75.163.75.245.

If you look in /etc/nginx/sites-available/bigbluebutton, you should
see the lines

server {
listen 80;
server_name demo.bigbluebutton.org;

Your server_name must match the IP/hostname for incoming requests.

Can you check the settings for server_name and see if they match
75.163.75.245. If not, try

sudo bbb-conf --setip 75.163.75.245

Regards,... Fred

Sceva

unread,
Oct 2, 2010, 11:01:02 AM10/2/10
to BigBlueButton-Setup
Thanks Fred.
The .../sites-available/bigbluebutton says:
server_name 75.163.75.245;
and when I enter the sudo bbb-conf --setip 75.163.75.245 command, the
screen output says that it is updating that file with the correct ip
address. But I get the same results as before.

On Oct 2, 8:24 am, Fred Dixon <ffdi...@gmail.com> wrote:
> Hi Sceva,
>
> OK, so 75.163.75.245 is resolving, but I think what's happening now is
> nginx needs to proxy incoming request for BigBlueButton to their
> associated components (web, red5, desktop sharing, and tomcat6), and
> it's not matching an incoming request to 75.163.75.245.
>
> If you look in  /etc/nginx/sites-available/bigbluebutton, you should
> see the lines
>
> server {
>      listen   80;
>      server_name  demo.bigbluebutton.org;
>
> Your server_name must match the IP/hostname for incoming requests.
>
> Can you check the settings for server_name and see if they match
> 75.163.75.245.  If not, try
>
>    sudo bbb-conf --setip 75.163.75.245
>
> Regards,... Fred
>
> On Sat, Oct 2, 2010 at 8:57 AM, Sceva <wereapwhatwe...@gmail.com> wrote:
> > Thanks Russel and Fred.  I set the ip back to 192.168.0.25, tested it
> > in the browser and it works well, and I get the ...SUCCESS... message
> > you spoke of.  When I set it to the public ip address and run the
> > wget... command I get no response.  If I run it without the --quiet
> > param it returns:
> > Connecting to 75.163.75.245:80... connected.
> > HTTP request sent, awaiting response... 404 Not Found
> > 2010-10-02 12:45:38 ERROR 404: Not Found.
>
> > If I run the command shortened:
> > wget -O-http://75.163.75.245/bugbluebutton/it returns the same
> > response as above.
> > If I run the command further shortened:
> > wget -O-http://75.163.75.245/it returns:

Sceva

unread,
Oct 2, 2010, 11:26:38 AM10/2/10
to BigBlueButton-Setup
I also just noticed when I run check, it shows:
/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
Port test (tunnel): 75.163.75.245
Red5: 75.163.75.245
but it does not show:
"IP for rtmp (red5): 192.168.0.163"
like it does in the sample output at the bottom of the BigBlueButtonVM
instruction page:
http://code.google.com/p/bigbluebutton/wiki/BigBlueButtonVM

I looked thru the config.xml and it seemed to have 75.163.75.245
everywhere.
> > > wget -O-http://75.163.75.245/bugbluebutton/itreturns the same

Fred Dixon

unread,
Oct 2, 2010, 11:54:24 AM10/2/10
to bigbluebu...@googlegroups.com
Hmmm ... not sure. You need to get 75.163.75.245 resolving on your
BigBlueButton server.

Can you try setting the IP address of the BigBlueButton server to
75.163.75.245; this way, the wget command should resolve to itself.

Regards,... Fred

Russell Mosemann

unread,
Oct 2, 2010, 1:40:47 PM10/2/10
to bigbluebu...@googlegroups.com
I haven't installed BBB, yet, because I am waiting for the instructions for the manual installation of 0.71. However, it would seem to me from the information presented so far that the name of the server must be set to 75.163.75.245.xxx.quest.net, which would resolve to 192.168.0.25 internally through the hosts file (which is the only thing BBB knows) and would resolve to 75.163.75.245 externally through DNS (which is the only thing external clients know).

Attempting to resolve 75.163.75.245 internally or 192.168.0.25 externally will be fruitless.

mose

Sceva

unread,
Oct 2, 2010, 2:10:00 PM10/2/10
to BigBlueButton-Setup
First, I made a mistake in the previous post. The line from the --
check that is missing is the one that says:
host for bbb-web interface: 192.168.0.163

Second, I tried sudo bbb-conf --setip 75.163.75.245.xxxx.qwest.net and
the the wget command gives success, but when browsing the page using
75.163.75.245.xxxx.qwest.net there does not seem to be a valid dns for
that. It only resolves to 75.163.75.245, and now I am getting a
"welcome to nginx" message again from.

I haven't tried, but if I set the server to 75.163.75.245 won't that
kill the connection between the server and the router?


On Oct 2, 12:40 pm, "Russell Mosemann" <Russell.Mosem...@cune.org>
wrote:

Sceva

unread,
Oct 2, 2010, 2:16:03 PM10/2/10
to BigBlueButton-Setup
If I make changes to the etc/hosts file, how to I apply the changes
without restarting the VM?

Russell Mosemann

unread,
Oct 2, 2010, 2:17:32 PM10/2/10
to bigbluebu...@googlegroups.com
> If I make changes to the etc/hosts file, how to I apply the changes
> without restarting the VM?

They take effect immediately. In /etc/nginx/sites-available/bigbluebutton, is server_name defined as 75.163.75.245.xxxx.qwest.net?

mose

Sceva

unread,
Oct 2, 2010, 2:34:34 PM10/2/10
to BigBlueButton-Setup
It was, and that is when the wget gave me "Success", but when browsing
to the page from the WAN I have to use 75.163.75.245 because
75.163.75.245.xxxx.qwest.net does not route. And then I get the
"Welcome to Nginx" message again. So I get a little better results by
setting the BBB ip to 75.163.75.245, as then I get the entry screen,
but then I get a 500 status error when I enter the room. I tried
setting the etc/hosts file to 192.168.0.25 75.163.75.245 (dropping the
xxx.qwest.net) and that did not seem to affect anything.

On Oct 2, 1:17 pm, "Russell Mosemann" <Russell.Mosem...@cune.org>
wrote:

Russell Mosemann

unread,
Oct 2, 2010, 2:37:32 PM10/2/10
to bigbluebu...@googlegroups.com
It's probably time to look in logs files and such. Otherwise, we're just guessing at the problem.

mose

> -----Original Message-----
> From: bigbluebu...@googlegroups.com [mailto:bigbluebutton-

> --
> You received this message because you are subscribed to the Google Groups
> "BigBlueButton-Setup" group.
> To post to this group, send email to bigbluebu...@googlegroups.com.
> To unsubscribe from this group, send email to bigbluebutton-

> setup+un...@googlegroups.com.

Fred Dixon

unread,
Oct 2, 2010, 5:31:09 PM10/2/10
to bigbluebu...@googlegroups.com
Russell,

You are right in that using a DNS name, not IP address, is the way to
successfully setup access to a BigBlueButton server that is behind a
firewall.

In general, here are the steps (covered in the FAQ, but summarized here):

1) Setup an external DNS name that points to the IP address of your
firewall, such as

myserver.myhost.com -> 75.163.75.245

2) The firewall at 75.163.75.245 must route incoming requests on port
80, 1935, and 9123 to the internal IP address of the BigBlueButton
server, which for example lets say is at 192.168.0.12.

3) The BigBlueButton server at 129.168.0.12 must be configured to
process incoming request to myserver.myhost.com using

sudo bbb-conf --setip myserver.myhost.com

4) To ensure the BigBlueButton server itself knows about
myserver.myhost.com, you must make an entry in /etc/hosts for
myserver.myhost.com that resolves to the internal IP address

192.168.0.12 myserver.myhost.com

If you follow the above steps, then using a external DNS entry, you
should be able to setup external access to your BigBlueButton behind a
firewall.

Regards,... Fred

Sceva

unread,
Oct 3, 2010, 1:36:56 PM10/3/10
to BigBlueButton-Setup
I think it is running now... The main point I learned from this is
Don't Try and Use Just an IP Address! Get an External DNS Name!

In further detail for those who follow:

1) If you don't have a host or domain name pointing to your ip
address, use one of the dynamic dns services (there are several, I
used no-ip.com) and set one up. (Unless you want to investigate how
to make BBB work with ip addresses instead of host names.) I am
testing this from my home on a qwest dsl modem, and only have a public
ip address. I was trying to set BBB up using the ip address and that
was not working. After I used no-ip.org and set up a dns pointing to
the ip address of my dsl modem, (and waited about 24 hours for it to
propagate) then I was able to get things working following the steps
in the previous reply.

2) If you have a Qwest Actiontec modem (and other modems may apply...)
change the BBB port from 80 to 8081 (or any other unused port). To do
this, in instruction 3 above, do something like:
sudo bbb-conf --setip myserver.myhost.com:8081
where myserver.myhost.com is the name you set up with the dynamic dns
service.
This modem takes over port 80 somehow with the admin software on the
modem. So if you are in the lan and try and access anything on port
80, it goes to the modem. (if you are in the WAN it forwards port 80
ok...)

3) At this point it should be working perfectly from the WAN. To be
able to browse to it from the lan, add the following line to the etc/
hosts file on your computer:
192.168.0.25 myserver.myhost.com
where 192.168.0.25 is the ip address of the VMware server. This is
usually the same number that the BBB server gave when it first started
up. Search google for instructions on changing the etc/hosts file on
your computer. This tells your computer when you enter http://myserver.myhost.com
to go directly to the BBB server, and also gives BBB the dns name it
needs to work properly.

Thanks Fred and Russel for helping me out.
Reply all
Reply to author
Forward
0 new messages