<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Asterisk ajax javascript jquery php resource</title>
	<atom:link href="http://blog.thai2info.com/index.php/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.thai2info.com</link>
	<description>Manon2029 Develope Blog</description>
	<pubDate>Fri, 06 Jan 2012 10:57:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Samba: How to share files for your LAN without user/password</title>
		<link>http://blog.thai2info.com/index.php/archives/106</link>
		<comments>http://blog.thai2info.com/index.php/archives/106#comments</comments>
		<pubDate>Fri, 06 Jan 2012 10:57:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.thai2info.com/?p=106</guid>
		<description><![CDATA[This tutorial will show how to set samba to allow read-only file sharing for your LAN computers as guest (without be prompted for a password).


Because users won&#8217;t be prompted for a user/password, this tutorial is meant to be installed in a LAN where all host are to be trusted.
There is many advantages of sharing files in [...]]]></description>
			<content:encoded><![CDATA[<h1>This tutorial will show how to set <strong>samba</strong> to allow read-only file sharing for your LAN computers as guest (without be prompted for a password).</h1>
<div class="node">
<div class="content">
<p>Because users won&#8217;t be prompted for a user/password, this tutorial is meant to be installed in a LAN where all host are to be trusted.</p>
<p>There is many advantages of sharing files in a LAN. For instance, when you have a multimedia box (playing music, movies&#8230;.) it is great to be able to access the music on that box from any machines in your LAN.</p>
<p>Let&#8217;s get started. In the first place, you need to have <strong>samba</strong> installed.</p>
<p class="shell">$sudo apt-get install samba</p>
<p>Because we are going to make samba security insecure, make sure only your local network can access samba service. To do so, open and edit<span class="tech">/etc/samba/smb.conf</span></p>
<p class="shell">$sudo vi /etc/samba/smb.conf</p>
<p>and set <em>interfaces</em> to <em>lo</em> and your local network interface. In my case: <em>eth1</em>.</p>
<pre class="file">interfaces = lo eth1
bind interfaces only = true</pre>
<p>Now, it is time to smoothen samba default security by changing the security variable: <em>security</em> and make sure it is set to <em>share</em> instead of<em>user</em> and that guest account is enabled:</p>
<pre class="file">security = share
...
...
guest account = nobody</pre>
<p>Now, we can create a share to be accessible to guest users:</p>
<pre class="file">[Guest Share]
        comment = Guest access share
        path = /path/to/dir/to/share
        browseable = yes
        read only = yes
        guest ok = yes</pre>
<p>You can now test that your configuration is good using <em>testparm</em>:</p>
<p class="shell">$ testparm</p>
<p>If everything is fine, it is time to reload samba service to have your new configuration taken into account:</p>
<p class="shell">$sudo /etc/init.d/samba reload</p>
<p>That&#8217;s it, anybody in your LAN can now access your share.</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.thai2info.com/index.php/archives/106/feed</wfw:commentRss>
		</item>
		<item>
		<title>Create daemons in PHP</title>
		<link>http://blog.thai2info.com/index.php/archives/105</link>
		<comments>http://blog.thai2info.com/index.php/archives/105#comments</comments>
		<pubDate>Mon, 26 Apr 2010 04:15:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.thai2info.com/?p=105</guid>
		<description><![CDATA[
» Create  daemons in PHP

Everyone  knows PHP can be used to create websites. But it can also be used to create desktop applications and commandline tools. And now with a  class called System_Daemon, you can even create daemons using nothing but PHP. And did I mention it was easy?
What is a Daemon?
A [...]]]></description>
			<content:encoded><![CDATA[<div class="header">
<h1><span style="color: #5a1400;">» </span>Create  daemons in PHP</h1>
</div>
<p><!-- Ad:span:possible -->Everyone  knows PHP can be used to create websites. But it can also be used to create desktop applications and commandline tools. And now with a  class called System_Daemon, you can even create daemons using nothing but PHP. And did I mention it was easy?</p>
<h2>What is a Daemon?</h2>
<p>A daemon is a Linux program that run in the background, just like a <em>&#8216;Service</em>&#8216; on Windows. It can perform all sorts of tasks that do  not require direct user input. Apache is a daemon, so is MySQL. All you ever hear from them is found in somewhere in <code>/var/log</code>, yet they  silently power over 40% of the Internet.</p>
<p>You reading this page, would not have been possible without them. So clearly: a daemon is a powerful thing, and can be bend to do a lot of different tasks.</p>
<h2>Why PHP?</h2>
<p>Most daemons are written in C. It&#8217;s fast &amp; robust. But if you are  in a LAMP oriented company like me, and you need to create a lot of software in  PHP anyway, it makes sense:</p>
<ul>
<li><strong>Reuse &amp; connect existing code</strong> Think of database connections, classes that create customers from your  CRM, etc.</li>
<li><strong>Deliver new applications very fast</strong> PHP has a lot of build in functions that speed up development greatly.</li>
<li><strong>Everyone knows PHP</strong> (right?) If you work in a small company: chances are there are more PHP  programmers than there are C programmers. What if your C guy abandons  ship? Admittedly it&#8217;s a very pragmatic reason, but it&#8217;s the same reason  why Facebook is building <a title="HipHop by Facebook" href="http://github.com/facebook/hiphop-php">HipHop</a>.</li>
</ul>
<p><script type="text/javascript"><!--
        Vertical1240801 = false;
        ShowAdHereBanner1240801 = false;
        RepeatAll1240801 = false;
        NoFollowAll1240801 = false;
        BannerStyles1240801 = new Array(
            "a{display:block;font-size:11px;color:#888;font-family:verdana,sans-serif;margin:20px auto;text-align:center;text-decoration:none;overflow:hidden;}",
            "img{border:0;clear:right;}",
            "a.adhere{color:#666;font-weight:bold;font-size:12px;border:1px solid #ccc;background:#e7e7e7;text-align:center;}",
            "a.adhere:hover{border:1px solid #999;background:#ddd;color:#333;}"
        );
        document.write(unescape("%3Cscript src='"+document.location.protocol+"//s3.buysellads.com/1240801/1240801.js?v="+Date.parse(new Date())+"' type='text/javascript'%3E%3C/script%3E"));
// --></script><script src="http://s3.buysellads.com/1240801/1240801.js?v=1272250607000" type="text/javascript"></script></p>
<div class="content"><script id="bsap_js" src="http://s3.buysellads.com/ac/bsa.js?v=1272250615000" type="text/javascript"></script></p>
<h2>Possible use cases</h2>
<ul>
<li><strong>Website optimization</strong> If you&#8217;re running a (large) website, jobs that do heavy lifting should  be taken away from the user interface and scheduled to run on the  machine separately.</li>
<li><strong>Log parser</strong> Continually scan logfiles and import critical messages in your database.</li>
<li><strong>SMS daemon</strong> Read a database queue, and let your little daemon interface with your  SMS provider. If it fails, it can easily try again later!</li>
<li><strong>Video converter</strong> (think Youtube) Scan a queue/directory for incoming video uploads. Make some system  calls to <em>ffmpeg</em> to finally store them as Flash video files.  Surely you don&#8217;t want to convert video files right after the upload,  blocking the user interface that long? No: the daemon will send the  uploader a mail when the conversion is done, and proceed with the next  scheduled upload</li>
</ul>
<h2>Deamons vs Cronjobs</h2>
<p>Some people <a href="http://kevin.vanzonneveld.net/techblog/article/schedule_tasks_on_linux_using_crontab/">use  cronjobs</a> for the same <em>Possible use cases</em>. Crontab is fine  but it only allows you to run a PHP file every minute or so.</p>
<ul>
<li>What if the previous <strong>run hasn&#8217;t finished</strong> yet?  Overlap can seriously damage your data &amp; cause siginificant load on  your machines.</li>
<li>What if you can&#8217;t afford to wait a minute for the cronjob to run?  Maybe you need to trigger a process <strong>the moment</strong> a record  is inserted?</li>
<li>What if you want to keep track of multiple <em>&#8216;runs&#8217;</em> and store  data in memory.</li>
<li>What if you need to keep your application listening (on a socket for  example) Cronjobs are a bit rude for this, they may spin out of control  and don&#8217;t provide a</li>
</ul>
<p><strong>framework for logging</strong>, etc. Creating a daemon would  offer more elegance &amp; possibilities. Let&#8217;s just say: there are very  good reasons why a <strong>Linux OS isn&#8217;t composed entirely of Cronjobs</strong> <img src='http://blog.thai2info.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>How it works internally</h2>
<p>(<em>Nerd alert!</em>) When a daemon program is started, it fires up a  second child process, detaches it, and then the parent process dies. This is called <em>forking</em>. Because the parent process dies, it will give  the console back and it will look like nothing has happened. <strong>But  wait</strong>: the child process is still running. Even if you close your terminal, the child continues to run in memory, until it either stops, crashes or is killed.</p>
<p>In PHP: forking can be achieved by using the <a href="http://www.php.net/manual/en/book.pcntl.php">Process Control  Extensions</a>. Getting a good grip on it, may take some studying though.</p>
<p><script type="text/javascript"><!--
        Vertical1240804 = false;
        ShowAdHereBanner1240804 = false;
        RepeatAll1240804 = false;
        NoFollowAll1240804 = false;
        BannerStyles1240804 = new Array(
            "a{display:block;font-size:11px;color:#888;font-family:verdana,sans-serif;margin:20px auto;text-align:center;text-decoration:none;overflow:hidden;}",
            "img{border:0;clear:right;}",
            "a.adhere{color:#666;font-weight:bold;font-size:12px;border:1px solid #ccc;background:#e7e7e7;text-align:center;}",
            "a.adhere:hover{border:1px solid #999;background:#ddd;color:#333;}"
        );
        document.write(unescape("%3Cscript src='"+document.location.protocol+"//s3.buysellads.com/1240804/1240804.js?v="+Date.parse(new Date())+"' type='text/javascript'%3E%3C/script%3E"));
// --></script><script src="http://s3.buysellads.com/1240804/1240804.js?v=1272250621000" type="text/javascript"></script><script type="text/javascript"><!--
 _bsap.drop("70b060f05164228bc87cfd92a1948716", 1240804);
// --></script></p>
<h2>System_Daemon</h2>
<p>Because the <a href="http://www.php.net/manual/en/book.pcntl.php">Process  Control Extensions</a>&#8216; documentation is a bit rough, I decided to figure it out once, and then wrap my knowledge and the  required code inside a <a href="http://kevin.vanzonneveld.net/techblog/tag/pear/">PEAR</a> class called: <a href="http://pear.php.net/package/System_Daemon">System_Daemon</a>. And so now you can just:</p>
<pre class="mycode"><span style="color: #b1b100;">require_once</span> <span style="color: #ff0000;">&#8220;System/Daemon.php&#8221;</span>;                 <span style="font-style: italic; color: orange;">// Include the Class</span>
 
System_Daemon::<span style="color: #006600;">setOption</span><span style="color: #66cc66;">(</span><span style="color: #ff0000;">&#8220;appName&#8221;</span>, <span style="color: #ff0000;">&#8220;mydaemon&#8221;</span><span style="color: #66cc66;">)</span>;  <span style="font-style: italic; color: orange;">// Minimum configuration</span>
System_Daemon::<span style="color: #006600;">start</span><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;                           <span style="font-style: italic; color: orange;">// Spawn Deamon!</span></pre>
<p>And that&#8217;s all there is to it. The code after that, will run in your server&#8217;s background. So next, if you create a <code>while(true)</code> loop around that code, the code will run indefinitely. Remember to build in a <code>sleep(5)</code> to ease up on system resources.</p>
<h3>Features &amp; Characteristics</h3>
<p>Here&#8217;s a grab of System_Daemon&#8217;s features:</p>
<ul>
<li>Daemonize any PHP-CLI script</li>
<li>Simple syntax</li>
<li>Driver based Operating System detection</li>
<li>Unix only</li>
<li>Additional features for Debian / Ubuntu based systems like:</li>
<li>Automatically generate startup files (init.d)</li>
<li>Support for PEAR&#8217;s Log package</li>
<li>Can run with PEAR (more elegance &amp; functionality) or without  PEAR (for standalone packages)</li>
<li>Default signal handlers, but optionally reroute signals to your own  handlers.</li>
<li>Set options like max RAM usage</li>
</ul>
<h3>Download</h3>
<p>You could <a href="http://pear.php.net/package/System_Daemon/download">download the  package</a> from PEAR, or, if you have PEAR installed on your system: just run this from a console:</p>
<pre><code>pear install -f System_Daemon
</code></pre>
<p>You can also update it using that last command.</p>
<h3>Beta</h3>
<p>Though I have quite some daemons set up this way, it&#8217;s officially still beta. So please <a href="http://pear.php.net/bugs/search.php?cmd=display&amp;package_name[0]=System_Daemon">report  any bugs</a> over at the PEAR page. Other comments may be posted here.</p>
<h2>Complex Example</h2>
<p>Ready to dig a little deeper? This example program is called  &#8216;logparser&#8217;, it takes a look at a more complex use of System_Daemon. For instance, it introduces command line arguments like:</p>
<pre><code>--no-daemon              # just run the program in the console this time
--write-initd            # writes a startup file
</code></pre>
<p>Read this source to get the picture. Don&#8217;t forget the comments!</p>
<pre class="mycode" style="position: relative;"><span style="font-style: italic; color: orange;">#!/usr/bin/php -q</span>
<span style="font-weight: bold; color: #000000;">&lt;?php</span>
<span style="font-style: italic; color: orange;">/**
 * System_Daemon turns PHP-CLI scripts into daemons.
 *
 * PHP version 5
 *
 * @category  System
 * @package   System_Daemon
 * @author    Kevin &lt;kevin@vanzonneveld.net&gt;
 * @copyright 2008 Kevin van Zonneveld
 * @license   http://www.opensource.org/licenses/bsd-license.php
 * @link      http://github.com/kvz/system_daemon
 */</span>
 
<span style="font-style: italic; color: orange;">/**
 * System_Daemon Example Code
 *
 * If you run this code successfully, a daemon will be spawned
 * but unless have already generated the init.d script, you have
 * no real way of killing it yet.
 *
 * In this case wait 3 runs, which is the maximum for this example.
 *
 *
 * In panic situations, you can always kill you daemon by typing
 *
 * killall -9 logparser.php
 * OR:
 * killall -9 php
 *
 */</span>
 
<span style="font-style: italic; color: orange;">// Allowed arguments &amp; their defaults </span>
<span style="color: #0000ff;">$runmode</span> = <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">(</span>
    <span style="color: #ff0000;">&#8216;no-daemon&#8217;</span> =&gt; <span style="font-weight: bold; color: #000000;">false</span>,
    <span style="color: #ff0000;">&#8216;help&#8217;</span> =&gt; <span style="font-weight: bold; color: #000000;">false</span>,
    <span style="color: #ff0000;">&#8216;write-initd&#8217;</span> =&gt; <span style="font-weight: bold; color: #000000;">false</span>,
<span style="color: #66cc66;">)</span>;
 
<span style="font-style: italic; color: orange;">// Scan command line attributes for allowed arguments</span>
<span style="color: #b1b100;">foreach</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$argv</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$k</span>=&gt;<span style="color: #0000ff;">$arg</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><a href="http://www.php.net/substr"><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$arg</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">)</span> == <span style="color: #ff0000;">&#8216;&#8211;&#8217;</span> &amp;&amp; <a href="http://www.php.net/isset"><span style="color: #000066;">isset</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$runmode</span><span style="color: #66cc66;">[</span><a href="http://www.php.net/substr"><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$arg</span>, <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
        <span style="color: #0000ff;">$runmode</span><span style="color: #66cc66;">[</span><a href="http://www.php.net/substr"><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$arg</span>, <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">]</span> = <span style="font-weight: bold; color: #000000;">true</span>;
    <span style="color: #66cc66;">}</span>
<span style="color: #66cc66;">}</span>
 
<span style="font-style: italic; color: orange;">// Help mode. Shows allowed argumentents and quit directly</span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$runmode</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'help'</span><span style="color: #66cc66;">]</span> == <span style="font-weight: bold; color: #000000;">true</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
    <a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">&#8216;Usage: &#8216;</span>.<span style="color: #0000ff;">$argv</span><span style="color: #66cc66;">[</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">]</span>.<span style="color: #ff0000;">&#8216; [runmode]&#8216;</span> . <span style="color: #ff0000;">&#8220;<span style="font-weight: bold; color: #000099;">\n</span>&#8220;</span>;
    <a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">&#8216;Available runmodes:&#8217;</span> . <span style="color: #ff0000;">&#8220;<span style="font-weight: bold; color: #000099;">\n</span>&#8220;</span>;
    <span style="color: #b1b100;">foreach</span> <span style="color: #66cc66;">(</span><span style="color: #0000ff;">$runmode</span> <span style="color: #b1b100;">as</span> <span style="color: #0000ff;">$runmod</span>=&gt;<span style="color: #0000ff;">$val</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
        <a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">&#8216; &#8211;&#8217;</span>.<span style="color: #0000ff;">$runmod</span> . <span style="color: #ff0000;">&#8220;<span style="font-weight: bold; color: #000099;">\n</span>&#8220;</span>;
    <span style="color: #66cc66;">}</span>
    <a href="http://www.php.net/die"><span style="color: #000066;">die</span></a><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
<span style="color: #66cc66;">}</span>
 
<span style="font-style: italic; color: orange;">// Make it possible to test in source directory</span>
<span style="font-style: italic; color: orange;">// This is for PEAR developers only</span>
<a href="http://www.php.net/ini_set"><span style="color: #000066;">ini_set</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">&#8216;include_path&#8217;</span>, <a href="http://www.php.net/ini_get"><span style="color: #000066;">ini_get</span></a><span style="color: #66cc66;">(</span><span style="color: #ff0000;">&#8216;include_path&#8217;</span><span style="color: #66cc66;">)</span>.<span style="color: #ff0000;">&#8216;:..&#8217;</span><span style="color: #66cc66;">)</span>;
 
<span style="font-style: italic; color: orange;">// Include Class</span>
<a href="http://www.php.net/error_reporting"><span style="color: #000066;">error_reporting</span></a><span style="color: #66cc66;">(</span><span style="font-weight: bold; color: #000000;">E_ALL</span><span style="color: #66cc66;">)</span>;
<span style="color: #b1b100;">require_once</span> <span style="color: #ff0000;">&#8216;System/Daemon.php&#8217;</span>;
 
<span style="font-style: italic; color: orange;">// Setup</span>
<span style="color: #0000ff;">$options</span> = <a href="http://www.php.net/array"><span style="color: #000066;">array</span></a><span style="color: #66cc66;">(</span>
    <span style="color: #ff0000;">&#8216;appName&#8217;</span> =&gt; <span style="color: #ff0000;">&#8216;logparser&#8217;</span>,
    <span style="color: #ff0000;">&#8216;appDir&#8217;</span> =&gt; <a href="http://www.php.net/dirname"><span style="color: #000066;">dirname</span></a><span style="color: #66cc66;">(</span><span style="font-weight: bold; color: #000000;">__FILE__</span><span style="color: #66cc66;">)</span>,
    <span style="color: #ff0000;">&#8216;appDescription&#8217;</span> =&gt; <span style="color: #ff0000;">&#8216;Parses vsftpd logfiles and stores them in MySQL&#8217;</span>,
    <span style="color: #ff0000;">&#8216;authorName&#8217;</span> =&gt; <span style="color: #ff0000;">&#8216;Kevin van Zonneveld&#8217;</span>,
    <span style="color: #ff0000;">&#8216;authorEmail&#8217;</span> =&gt; <span style="color: #ff0000;">&#8216;kevin@vanzonneveld.net&#8217;</span>,
    <span style="color: #ff0000;">&#8217;sysMaxExecutionTime&#8217;</span> =&gt; <span style="color: #ff0000;">&#8216;0&#8242;</span>,
    <span style="color: #ff0000;">&#8217;sysMaxInputTime&#8217;</span> =&gt; <span style="color: #ff0000;">&#8216;0&#8242;</span>,
    <span style="color: #ff0000;">&#8217;sysMemoryLimit&#8217;</span> =&gt; <span style="color: #ff0000;">&#8216;1024M&#8217;</span>,
    <span style="color: #ff0000;">&#8216;appRunAsGID&#8217;</span> =&gt; <span style="color: #cc66cc;">1000</span>,
    <span style="color: #ff0000;">&#8216;appRunAsUID&#8217;</span> =&gt; <span style="color: #cc66cc;">1000</span>,
<span style="color: #66cc66;">)</span>;
 
System_Daemon::<span style="color: #006600;">setOptions</span><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$options</span><span style="color: #66cc66;">)</span>;
 
<span style="font-style: italic; color: orange;">// This program can also be run in the forground with runmode &#8211;no-daemon</span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span>!<span style="color: #0000ff;">$runmode</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'no-daemon'</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
    <span style="font-style: italic; color: orange;">// Spawn Daemon </span>
    System_Daemon::<span style="color: #006600;">start</span><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
<span style="color: #66cc66;">}</span>
 
<span style="font-style: italic; color: orange;">// With the runmode &#8211;write-initd, this program can automatically write a </span>
<span style="font-style: italic; color: orange;">// system startup file called: &#8216;init.d&#8217;</span>
<span style="font-style: italic; color: orange;">// This will make sure your daemon will be started on reboot </span>
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span>!<span style="color: #0000ff;">$runmode</span><span style="color: #66cc66;">[</span><span style="color: #ff0000;">'write-initd'</span><span style="color: #66cc66;">]</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
    System_Daemon::<span style="color: #006600;">info</span><span style="color: #66cc66;">(</span><span style="color: #ff0000;">&#8216;not writing an init.d script this time&#8217;</span><span style="color: #66cc66;">)</span>;
<span style="color: #66cc66;">}</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">{</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span><span style="color: #66cc66;">(</span><span style="color: #0000ff;">$initd_location</span> = System_Daemon::<span style="color: #006600;">writeAutoRun</span><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span><span style="color: #66cc66;">)</span> === <span style="font-weight: bold; color: #000000;">false</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
        System_Daemon::<span style="color: #006600;">notice</span><span style="color: #66cc66;">(</span><span style="color: #ff0000;">&#8216;unable to write init.d script&#8217;</span><span style="color: #66cc66;">)</span>;
    <span style="color: #66cc66;">}</span> <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">{</span>
        System_Daemon::<span style="color: #006600;">info</span><span style="color: #66cc66;">(</span>
            <span style="color: #ff0000;">&#8217;sucessfully written startup script: %s&#8217;</span>,
            <span style="color: #0000ff;">$initd_location</span>
        <span style="color: #66cc66;">)</span>;
    <span style="color: #66cc66;">}</span>
<span style="color: #66cc66;">}</span>
 
<span style="font-style: italic; color: orange;">// Run your code</span>
<span style="font-style: italic; color: orange;">// Here comes your own actual code</span>
 
<span style="font-style: italic; color: orange;">// This variable gives your own code the ability to breakdown the daemon:</span>
<span style="color: #0000ff;">$runningOkay</span> = <span style="font-weight: bold; color: #000000;">true</span>;
 
<span style="font-style: italic; color: orange;">// This variable keeps track of how many &#8216;runs&#8217; or &#8216;loops&#8217; your daemon has</span>
<span style="font-style: italic; color: orange;">// done so far. For example purposes, we&#8217;re quitting on 3.</span>
<span style="color: #0000ff;">$cnt</span> = <span style="color: #cc66cc;">1</span>;
 
<span style="font-style: italic; color: orange;">// While checks on 3 things in this case:</span>
<span style="font-style: italic; color: orange;">// - That the Daemon Class hasn&#8217;t reported it&#8217;s dying</span>
<span style="font-style: italic; color: orange;">// - That your own code has been running Okay</span>
<span style="font-style: italic; color: orange;">// - That we&#8217;re not executing more than 3 runs </span>
<span style="color: #b1b100;">while</span> <span style="color: #66cc66;">(</span>!System_Daemon::<span style="color: #006600;">isDying</span><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span> &amp;&amp; <span style="color: #0000ff;">$runningOkay</span> &amp;&amp; <span style="color: #0000ff;">$cnt</span> &lt;=<span style="color: #cc66cc;">3</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
    <span style="font-style: italic; color: orange;">// What mode are we in?</span>
    <span style="color: #0000ff;">$mode</span> = <span style="color: #ff0000;">&#8216;&#8221;&#8216;</span>.<span style="color: #66cc66;">(</span>System_Daemon::<span style="color: #006600;">isInBackground</span><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span> ? <span style="color: #ff0000;">&#8221;</span> : <span style="color: #ff0000;">&#8216;non-&#8217;</span> <span style="color: #66cc66;">)</span>.
        <span style="color: #ff0000;">&#8216;daemon&#8221; mode&#8217;</span>;

    <span style="font-style: italic; color: orange;">// Log something using the Daemon class&#8217;s logging facility</span>
    <span style="font-style: italic; color: orange;">// Depending on runmode it will either end up:</span>
    <span style="font-style: italic; color: orange;">//  - In the /var/log/logparser.log</span>
    <span style="font-style: italic; color: orange;">//  - On screen (in case we&#8217;re not a daemon yet)  </span>
    System_Daemon::<span style="color: #006600;">info</span><span style="color: #66cc66;">(</span><span style="color: #ff0000;">&#8216;{appName} running in %s %s/3&#8242;</span>,
        <span style="color: #0000ff;">$mode</span>,
        <span style="color: #0000ff;">$cnt</span>
    <span style="color: #66cc66;">)</span>;

    <span style="font-style: italic; color: orange;">// In the actuall logparser program, You could replace &#8216;true&#8217;</span>
    <span style="font-style: italic; color: orange;">// With e.g. a  parseLog(&#8217;vsftpd&#8217;) function, and have it return</span>
    <span style="font-style: italic; color: orange;">// either true on success, or false on failure.</span>
    <span style="color: #0000ff;">$runningOkay</span> = <span style="font-weight: bold; color: #000000;">true</span>;
    <span style="font-style: italic; color: orange;">//$runningOkay = parseLog(&#8217;vsftpd&#8217;);</span>

    <span style="font-style: italic; color: orange;">// Should your parseLog(&#8217;vsftpd&#8217;) return false, then</span>
    <span style="font-style: italic; color: orange;">// the daemon is automatically shut down.</span>
    <span style="font-style: italic; color: orange;">// An extra log entry would be nice, we&#8217;re using level 3,</span>
    <span style="font-style: italic; color: orange;">// which is critical.</span>
    <span style="font-style: italic; color: orange;">// Level 4 would be fatal and shuts down the daemon immediately,</span>
    <span style="font-style: italic; color: orange;">// which in this case is handled by the while condition.</span>
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">(</span>!<span style="color: #0000ff;">$runningOkay</span><span style="color: #66cc66;">)</span> <span style="color: #66cc66;">{</span>
        System_Daemon::<span style="color: #006600;">err</span><span style="color: #66cc66;">(</span><span style="color: #ff0000;">&#8216;parseLog() produced an error, &#8216;</span>.
            <span style="color: #ff0000;">&#8217;so this will be my last run&#8217;</span><span style="color: #66cc66;">)</span>;
    <span style="color: #66cc66;">}</span>

    <span style="font-style: italic; color: orange;">// Relax the system by sleeping for a little bit</span>
    <span style="font-style: italic; color: orange;">// iterate also clears statcache</span>
    System_Daemon::<span style="color: #006600;">iterate</span><span style="color: #66cc66;">(</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">)</span>;

    <span style="color: #0000ff;">$cnt</span>++;
<span style="color: #66cc66;">}</span>
 
<span style="font-style: italic; color: orange;">// Shut down the daemon nicely</span>
<span style="font-style: italic; color: orange;">// This is ignored if the class is actually running in the foreground</span>
System_Daemon::<span style="color: #006600;">stop</span><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;
</pre>
<h2>Console action: Controlling the Daemon</h2>
<p>Now that we&#8217;ve created an example daemon, it&#8217;s time to fire it up! I&#8217;m going to assume the name of your daemon is <em>logparser</em>. This  can be changed with the statement: <code>System_Daemon::setOption('appName', 'logparser')</code>. But the name of the daemon is very important because it is also used in filenames (like the logfile).</p>
<h3>Execute</h3>
<p>Just make your daemon script executable, and then execute it:</p>
<p><code>chmod a+x ./logparser.php ./logparser.php </code></p>
<h3>Check</h3>
<p>Your daemon has no way of communicating through your console, so check for messages in:</p>
<p><code>tail /var/log/logparser.log </code>And see if it&#8217;s still running:</p>
<p><code>ps uf -C logparser.php </code></p>
<h3>Kill</h3>
<p>Without the <em>start/stop files</em> (see below for howto), you need  to:</p>
<p><code>killall -9 logparser.php </code>Autch.. Let&#8217;s work on those start / stop files, right?</p>
<h3>Start / Stop files (Debian &amp; Ubuntu only)</h3>
<p>Real daemons have an <code>init.d</code> file. Remember you can  restart Apache with the following statement?</p>
<p><code>/etc/init.d/apache2 restart </code>That&#8217;s a lot better than killing. So you should be able to control  your own daemon like this as well:</p>
<p><code>/etc/init.d/logparser stop /etc/init.d/logparser start </code>Well with System_Daemon you can write autostartup files using the  <code>writeAutoRun()</code> method, look:</p>
<p><span style="color: #0000ff;">$path</span> = System_Daemon::<span style="color: #006600;">writeAutoRun</span><span style="color: #66cc66;">(</span><span style="color: #66cc66;">)</span>;On success, this will return the path to the autostartup file:  <code>/etc/init.d/logparser</code>, and you&#8217;re good to go!</p>
<h3>Run on boot</h3>
<p>Surely you want your daemon to run at system boot.. So on Debian &amp; Ubuntu you could type:</p>
<p><code>update-rc.d logparser defaults </code>Done your daemon now starts every time your server boots. Cancel it with:</p>
<p><code>update-rc.d -f logparser remove </code></p>
<h2>Logrotate</h2>
<p><a href="http://pear.php.net/user/ifeghali">Igor Feghali</a> shares  with us a logrotate config file to keep your log files from growing too large. Just place a file in your <code>/etc/logrotate.d/</code>.</p>
<p><code>/var/log/mydaemon.log {    rotate 15    compress    missingok    notifempty    sharedscripts    size 5M    create 644 mydaemon_user mydaemon_group    postrotate        /bin/kill -HUP `cat /var/run/mydaemon/mydaemond.pid 2&gt;/dev/null` 2&gt; /dev/null || true    endscript } </code>Obviously, replace the <code>mydaemon</code> occurances with values  corresponding to your environment. Thanks Igor!</p>
<h2>Troubleshooting</h2>
<p>Here are some issues you may encounter down the road.</p>
<ul>
<li><strong>Don&#8217;t use echo()</strong> **Echo writes to the STDOUT of your current session. If you logout, that  will cause fatal errors and the daemon to die. Use <em>System_Daemon::log()</em> instead.</li>
<li><strong>Connect to MySQL after you <em>start()</em> the daemon.</strong> Otherwise only the parent process will have a MySQL connection, and  since that dies.. It&#8217;s lost and you will get a &#8216;MySQL has gone away&#8217;  error.</li>
<li><strong>Error handling</strong> Good error handling is imperative. Daemons are often mission critical  applications and you don&#8217;t want an uncatched error to bring it to it&#8217;s  knees.
<ul>
<li><strong>Reconnect to MySQL</strong> A connection may be interrupted. Think about network downtime or  lock-ups when your database server makes backups. Whatever the cause:  You don&#8217;t want your daemon to die for this, let it try again later.</li>
<li><strong>PHP error handler</strong> As of <a href="http://pear.php.net/package/System_Daemon/download/0.6.3">0.6.3</a>,  System_Daemon forwards all PHP errors to the log() method, so keep an  eye on your logfile. This behavior can be controlled using the <code>logPhpErrors</code> (true||false) option.</li>
</ul>
</li>
<li><strong>Monit</strong> Monit is a standalone program that can kickstart any daemon, based on  your parameters. Should your daemon fail, monit will mail you and try to  restart it.</li>
<li><strong>Watch that memory</strong> Some classes keep a history of executed commands, sent mails, queries,  whatever. They were designed without knowing they would ever be used in a  daemonized environment. Cause daemons run indefinitely this &#8216;history&#8217; will expand indefinitely.  Since unfortunately your server&#8217;s RAM is not infinite, you will run into  problems at some point. This makes it&#8217;s very important to address these memory &#8216;leaks&#8217; when  building daemons.</li>
<li><strong>Statcache will corrupt your data</strong> If you do a <code>file_exists()</code>, PHP remembers the results to  ease on your disk until the process end. That&#8217;s ok but since the Daemon  process does not end, PHP will not be able to give you up to date  information. As of <a href="http://pear.php.net/package/System_Daemon/download/0.8.0">0.8.0</a> you should call <code>System_Daemon::iterate(2)</code> instead of e.g. <code>sleep(2)</code>,  this will sleep &amp; clear the cache and give you fresh &amp; valid  data.</li>
</ul>
<p>I know I&#8217;m saying MySQL a lot, but you can obviously replace that  with Oracle, MSSQL, PostgreSQL, etc.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.thai2info.com/index.php/archives/105/feed</wfw:commentRss>
		</item>
		<item>
		<title>run php script on startup</title>
		<link>http://blog.thai2info.com/index.php/archives/104</link>
		<comments>http://blog.thai2info.com/index.php/archives/104#comments</comments>
		<pubDate>Sun, 07 Feb 2010 11:04:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.thai2info.com/?p=104</guid>
		<description><![CDATA[Suse appears to use init scripts  to launch apps at start up and you will need to write a custom init script to launch your socket.php script. 
At the bare minimum, you could create an executable script in /etc/rc2.d named S99socket containing

#!/bin/sh
/path/to/php /path/to/socket.php &#38; 
]]></description>
			<content:encoded><![CDATA[<p><span style="font-family: verdana; color: #000000; font-size: x-small;">Suse appears to use init <strong style="color: black; background-color: #bbffff;">script</strong>s  to launch apps at start up and you will need to write a custom init <strong style="color: black; background-color: #bbffff;">script</strong> to launch your socket.<strong style="color: black; background-color: #ffffaa;">php</strong> <strong style="color: black; background-color: #bbffff;">script</strong>. </span></p>
<p><span style="font-family: verdana; color: #000000; font-size: x-small;">At the bare minimum, you could create an executable <strong style="color: black; background-color: #bbffff;">script</strong> in /etc/rc2.d named S99socket c<strong style="color: black; background-color: #ffbbff;">on</strong>taining<br />
</span><code><br />
#!/bin/sh<br />
/path/to/<strong style="color: black; background-color: #ffffaa;">php</strong> /path/to/socket.<strong style="color: black; background-color: #ffffaa;">php</strong> &amp; </code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thai2info.com/index.php/archives/104/feed</wfw:commentRss>
		</item>
		<item>
		<title>Installing !Openmeetings on debian etch</title>
		<link>http://blog.thai2info.com/index.php/archives/103</link>
		<comments>http://blog.thai2info.com/index.php/archives/103#comments</comments>
		<pubDate>Sun, 31 Jan 2010 07:00:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[openmeeting]]></category>

		<guid isPermaLink="false">http://blog.thai2info.com/?p=103</guid>
		<description><![CDATA[First variant  (works with lenny as well):
Download the following  debian package: http://www.expressaas.com/distrib/release/red5-openmeetings_1.0.2760.noarch.deb
And install it using sudo dpkg -i  red5-openmeetings_1.0.2760.noarch.deb command. All additional  utilities, such as Openoffice, Ghostscript, Imagemagick and Swftools  should be installed as described below.
Second variant (outdated):
this sample is rather outdated 
the installation  procedure (if you forget of [...]]]></description>
			<content:encoded><![CDATA[<h2><a name="First_variant_(works_with_lenny_as_well):">First variant  (works with lenny as well):</a></h2>
<p><a name="First_variant_(works_with_lenny_as_well):">Download the following  debian package: </a><a rel="nofollow" href="http://www.expressaas.com/distrib/release/red5-openmeetings_1.0.2760.noarch.deb">http://www.expressaas.com/distrib/release/red5-openmeetings_1.0.2760.noarch.deb</a></p>
<p>And install it using <strong>sudo dpkg -i  red5-openmeetings_1.0.2760.noarch.deb</strong> command. All additional  utilities, such as Openoffice, Ghostscript, Imagemagick and Swftools  should be installed as described below.</p>
<h2><a name="Second_variant_(outdated):">Second variant (outdated):</a></h2>
<p><a name="Second_variant_(outdated):"><em>this sample is rather outdated</em> </a></p>
<p><a name="Second_variant_(outdated):">the installation  procedure (if you forget of all 3th party requirements) is as simple as  the following: </a></p>
<p><a name="Second_variant_(outdated):">donwload  openmeetings-package (you can download it into your home-directory)<br />
unzip it<br />
cd /openmeetings-package/webapps/openmeetings/conf and  configure the hibernate.cfg.xml<br />
cd up again to   /openmeetings-package/ run the red5.sh</p>
<p>that is all! </a></p>
<p><a name="Second_variant_(outdated):">no copy of any dirs, no /etc/init.d/,  ^^ In doubt see what is written down in here:</a><a rel="nofollow" href="http://code.google.com/p/openmeetings/wiki/InstallationOpenMeetings">http://code.google.com/p/openmeetings/wiki/InstallationOpenMeetings</a> There is no mention of any init.d-script or other copy actions.</p>
<hr />In  this how-to I&#8217;m going to descript way to install OpenMeetings on debian  GNU/Linux Etch (4.0), Steps are following way:</p>
<ul>
<li>What we  need!</li>
<li>Install MySQL</li>
<li>Install xvfb and OpenOffice.org</li>
<li>Install  ImageMagic &amp; !Ghostscript</li>
<li>Install SwfTools</li>
<li>Install  Java and red5</li>
<li>Download openlazslo</li>
<li>Install  OpenMeetings</li>
<li>Installing must new version?</li>
<li>Configure  OpenMeetings and place files</li>
<li>Start every thing</li>
<li>!Troobleshooting</li>
<li>Author</li>
</ul>
<h2><a name="What_We_Need">What We Need</a></h2>
<p><a name="What_We_Need">In this article I will use </a><a rel="nofollow" href="http://en.wikipedia.org/wiki/Aptitude_%28program%29">aptitude</a> to install  packages, if you don&#8217;t have  apptitude please install it before going forward :</p>
<pre class="prettyprint"><span class="pln">$su
</span><span class="com">#apt-get update</span><span class="pln">
</span><span class="com">#apt-get install aptitude</span></pre>
<p>After  aptitude we need  <a rel="nofollow" href="http://www.debian.org/">Debian  GNU/Linux</a>, I use version 4.0 (code name Etch), befor installing any  thing else I recommend you to create a directory and manage every thing  from there:</p>
<pre class="prettyprint"><span class="com">#su</span><span class="pln">
</span><span class="com">#mkdir /root/tmpOpenMeetings/</span><span class="pln">
</span><span class="com">#cd  /root/tmpOpenMeetings/</span></pre>
<h2><a name="Install_!MySQL">Install !MySQL</a></h2>
<p><a name="Install_!MySQL">OpenMeetings can work with wide range of  databases, I will install OpenMeetings with </a><a rel="nofollow" href="http://en.wikipedia.org/wiki/MySQL">MySQL</a>, to   install !MySQL server:</p>
<pre class="prettyprint"><span class="pln">aptitude install mysql</span><span class="pun">-</span><span class="pln">server</span></pre>
<p>Add/edit  the following lines to /etc/mysql/my.conf to enable localization:</p>
<pre class="prettyprint"><span class="pun">[</span><span class="pln">mysqld</span><span class="pun">]</span><span class="pln">
</span><span class="kwd">default</span><span class="pun">-</span><span class="pln">character</span><span class="pun">-</span><span class="kwd">set</span><span class="pun">=</span><span class="pln">utf8
character</span><span class="pun">-</span><span class="kwd">set</span><span class="pun">-</span><span class="pln">server</span><span class="pun">=</span><span class="pln">utf8</span></pre>
<h2><a name="Install_xvfb_and_OpenOffice">Install xvfb and OpenOffice</a></h2>
<p><a name="Install_xvfb_and_OpenOffice">If you would like exchange  Presentation and Office documentation in OpenMeetings, you will nedd  xvfb and </a><a rel="nofollow" href="http://en.wikipedia.org/wiki/OpenOffice.org">OpenOffice.org</a></p>
<pre class="prettyprint"><span class="com">#aptitude install xvfb  openoffice.org</span></pre>
<p>Then  edit Setup.xcu:</p>
<pre class="prettyprint"><span class="com">#vim  /usr/lib/openoffice/share/registry/data/org/openoffice/Setup.xcu</span></pre>
<p>You  should insert following lines after:  &lt;node oor:name=&#8221;Office&#8221;&gt;:</p>
<pre class="prettyprint"><span class="pln">    </span><span class="tag">&lt;prop</span><span class="pln"> </span><span class="atn">oor:name</span><span class="pun">=</span><span class="atv">&#8220;ooSetupConnectionURL&#8221;</span><span class="pln"> </span><span class="atn">oor:type</span><span class="pun">=</span><span class="atv">&#8220;xs:string&#8221;</span><span class="tag">&gt;</span><span class="pln">
        </span><span class="tag">&lt;value&gt;</span><span class="pln">socket,host=localhost,port=8100;urp</span><span class="tag">&lt;/value&gt;</span><span class="pln">
    </span><span class="tag">&lt;/prop&gt;</span></pre>
<h2><a name="Install_and__Ghostscript">Install ImageMagick and  Ghostscript</a></h2>
<p><a rel="nofollow" href="http://en.wikipedia.org/wiki/ImageMagic">ImageMagick</a> is a software suite for image manipulation and display, supporting  close to 100 image formats. It is mainly used to perform various  transformation and conversion operations on images and <a rel="nofollow" href="http://ghostscript.com/awki">Ghostscript</a> is a  suite of software based on an interpreter for Adobe Systems&#8217; PostScript  and Portable Document Format (PDF) page description languages.</p>
<blockquote><p>To  install this tools run:</p></blockquote>
<pre class="prettyprint"><span class="pln"> </span><span class="com">#aptitude install imagemagick  gs-gpl</span></pre>
<h2><a name="Install_SWFTools">Install SWFTools</a></h2>
<p><a name="Install_SWFTools"> </a><a rel="nofollow" href="http://www.swftools.org/">SWFTools</a> s a collection of SWF manipulation and  creation utilities written by Rainer Böhme and Matthias Kramm. It is  released under the GPL.</p>
<pre class="prettyprint"><span class="com">#aptitude install swftools</span></pre>
<p>If  you get this message: &#8220;Couldn&#8217;t find any package whose name or  description matched &#8220;swftools&#8221; &#8221; please download swftools directly from  web with running:</p>
<pre class="prettyprint"><span class="com">#wget   http://ftp.it.debian.org/debian/pool/main/s/swftools/swftools_0.8.1-1_i386.deb</span></pre>
<p>befor  installing this ackage should install &#8220;libart-2.0-2 &#8221; so run:</p>
<pre class="prettyprint"><span class="com">#aptitude install libart-2.0-2</span></pre>
<p>and  now install SWFTools:</p>
<pre class="prettyprint"><span class="com">#dpkg -i swftools_0.8.1-1_i386.deb</span></pre>
<h2><a name="Install_Java_and_Red5">Install Java and Red5</a></h2>
<p><a rel="nofollow" href="http://osflash.org/red5">red5</a> is a Open Source  Flash Server that OpenMeetings based on, so you should install it, and  befor installing red5 should install Java Runtime Environment and Java  development Kit run:</p>
<pre class="prettyprint"><span class="com">#aptitude install sun-java5-bin</span><span class="pln">
</span><span class="com">#aptitude install  sun-java5-demo</span><span class="pln">
</span><span class="com">#</span></pre>
<p>If  aptitude gives you any error, please download all file with wget and  then install</p>
<pre class="prettyprint"><span class="com">#wget http://ftp.tr.debian.org/debian/pool/non-free/s/sun-java5/sun-java5-demo_1.5.0-13-1_i386.deb</span><span class="pln">
</span><span class="com">#wget http://ftp.de.debian.org/debian/pool/non-free/s/sun-java5/sun-java5-jdk_1.5.0-14-1etch1_i386.deb</span><span class="pln">
</span><span class="com"># wget http://ftp.de.debian.org/debian/pool/non-free/s/sun-java5/sun-java5-bin_1.5.0-15-1_i386.deb</span><span class="pln">
</span><span class="com">#dpkg -i sun-java5-demo_1.5.0-13-1_i386.deb sun-java5-jdk_1.5.0-14-1etch1_i386.deb sun-java5-bin_1.5.0-15-1_i386.deb </span></pre>
<p>Now  download red5 for Debian GNU/Linux and install it:</p>
<pre class="prettyprint"><span class="com">#wget http://dl.fancycode.com/red5/0.6.3/debian/red5_0.6.3-1_all.deb</span><span class="pln">
</span><span class="com">#dpkg -i red5_0.6.3-1_all.deb</span></pre>
<h2><a name="openlazslo">openlazslo</a></h2>
<p><a rel="nofollow" href="http://openlaszlo.org/">OpenLaszlo</a> is an open  source platform for the development and delivery of rich Internet  applications. to installing it, run:</p>
<pre class="prettyprint"><span class="com">#wget http://download.openlaszlo.org/4.0.6/openlaszlo-4.0.6-unix.tar.gz</span><span class="pln">
</span><span class="com">#tar -xvf openlaszlo-4.0.6-unix.tar.gz</span><span class="pln">
</span><span class="com">#mv lps-4.0.6/ /opt/</span></pre>
<p><strong> Note: there is no need to install OpenLaszlo if you only use the  application but don&#8217;t want to modify it. </strong></p>
<p><strong> Note:  you might would like to have a look at this shell script to  start/stop/restart/status, if yes you can use <a rel="nofollow" href="http://wiki.conzul.de/index.php/OpenOffice2.x">this  how-to</a>. </strong></p>
<h2><a name="Installing_OpenMeetings">Installing OpenMeetings</a></h2>
<p><a name="Installing_OpenMeetings">Huraaa, making infrastructure is  finished, now we are going to download latest OpenMeeting release and  instaling it: </a></p>
<pre class="prettyprint"><a name="Installing_OpenMeetings"><span class="com">#wget http://openmeetings.googlecode.com/files/openmeetings051.zip</span><span class="pln">
</span><span class="com">#unzip openmeetings051.zip</span></a></pre>
<p><a name="Installing_OpenMeetings">To installing OpenMeetings you should  tell OM where is your DataBase server and  as I use MySQL as my Server, steps are like this: </a></p>
<pre class="prettyprint"><a name="Installing_OpenMeetings"><span class="com">#cp openmeetings/conf/mysql_hibernate.cfg.xml openmeetings/conf/hibernate.cfg.xml</span></a></pre>
<p><a name="Installing_OpenMeetings">Now edit file and config your database: </a></p>
<pre class="prettyprint"><a name="Installing_OpenMeetings"><span class="com">#vim openmeetings/conf/hibernate.cfg.xml</span></a></pre>
<p><a name="Installing_OpenMeetings">Now change : </a></p>
<pre class="prettyprint"><a name="Installing_OpenMeetings"><span class="pln">            </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">&#8220;connection.username&#8221;</span><span class="tag">&gt;&lt;DB_USER&gt;&lt;/property&gt;</span><span class="pln">
            </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">&#8220;connection.password&#8221;</span><span class="tag">&gt;&lt;DB_PASSWORD&gt;&lt;/property&gt;</span><span class="pln">
            </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">&#8220;connection.url&#8221;</span><span class="tag">&gt;</span><span class="pln">jdbc:mysql://</span><span class="tag">&lt;DB_HOST&gt;</span><span class="pln">/</span><span class="tag">&lt;DB_NAME&gt;&lt;/property&gt;</span></a></pre>
<p><a name="Installing_OpenMeetings">For example my config look likes: </a></p>
<pre class="prettyprint"><a name="Installing_OpenMeetings"><span class="pln"> </span><span class="com">&lt;!&#8211; User  / Password &#8211;&gt;</span><span class="pln">
                </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">&#8220;connection.username&#8221;</span><span class="tag">&gt;</span><span class="pln">root</span><span class="tag">&lt;/property&gt;</span><span class="pln">
                </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">&#8220;connection.password&#8221;</span><span class="tag">&gt;</span><span class="pln">dj76shwrsh16xsvak1</span><span class="tag">&lt;/property&gt;</span><span class="pln">

                </span><span class="com">&lt;!&#8211; Database Settings &#8211;&gt;</span><span class="pln">
                </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">&#8220;connection.driver_class&#8221;</span><span class="tag">&gt;</span><span class="pln">com.mysql.jdbc.Driver</span><span class="tag">&lt;/property&gt;</span><span class="pln">
                </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">&#8220;dialect&#8221;</span><span class="tag">&gt;</span><span class="pln">org.hibernate.dialect.MySQLInnoDBDialect</span><span class="tag">&lt;/property&gt;</span><span class="pln">
                </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">name</span><span class="pun">=</span><span class="atv">&#8220;connection.url&#8221;</span><span class="tag">&gt;</span><span class="pln">jdbc:mysql://localhost/openmeetings?useUnicode=true&amp;amp;createDatabaseIfNotExist=true&amp;amp;characterEncoding=utf-8</span><span class="tag">&lt;/property&gt;</span><span class="pln">
</span></a></pre>
<h2><a name="Installing_Must_new_Version?">Installing Must new Version?</a></h2>
<p><a name="Installing_Must_new_Version?">If you would like get must new  version, I mean the version is under development, you should get a  Snapshot from current source code, to do this follow this steps, if you  don&#8217;t like to have any thing more than OpenMeetings latest version or  don&#8217;t know what&#8217;s snapshot, skip this step. </a></p>
<ul>
<li><a name="Installing_Must_new_Version?">nstall Subversion if you don&#8217;t have: </a></li>
</ul>
<p><a name="Installing_Must_new_Version?"> </a></p>
<pre class="prettyprint"><a name="Installing_Must_new_Version?"><span class="com">#aptitude install subversion</span></a></pre>
<p><a name="Installing_Must_new_Version?">Get (checkout) OpenMeetings latest  snapshot: </a></p>
<pre class="prettyprint"><a name="Installing_Must_new_Version?"><span class="com">#svn checkout http://openmeetings.googlecode.com/svn/branches/dev/</span></a></pre>
<p><a name="Installing_Must_new_Version?">I will rename dev to  !OpenMeetingsFromSVN and then replace what updated in snapshot (from  subversion) with what should be out of date in orginal openmeetings file  downloaded from OpenMeetings and OpnLazslo: </a></p>
<pre class="prettyprint"><a name="Installing_Must_new_Version?"><span class="com"># mv dev/ OpenMeetingsFromSVN</span><span class="pln">
</span><span class="com">#cp -r OpenMeetingsFromSVN/laszlo/client/xmlcrm/videoconference/ /opt/lps-4.0.6/Server/lps-4.0.6/ </span></a></pre>
<h2><a name="Configure_OpenMeetings">Configure OpenMeetings</a></h2>
<p><a name="Configure_OpenMeetings">Now, first I update my language files: </a></p>
<pre class="prettyprint"><a name="Configure_OpenMeetings"><span class="com">#cp OpenMeetingsFromSVN/xmlcrm/java/webapp/openmeetings/languages/*  openmeetings/languages/.</span></a></pre>
<p><a name="Configure_OpenMeetings">Ok, It&#8217;s time to place my OpenMeting in  red5 document root to serving: </a></p>
<pre class="prettyprint"><a name="Configure_OpenMeetings"><span class="com">#cp -r openmeetings/ /usr/lib/red5/webapps/</span></a></pre>
<h2><a name="Start_every_thing">Start every thing</a></h2>
<p><a name="Start_every_thing">Now time to start every thing we installed, I  will start OpenOffice.org at first and then OpenLazslo and  will start  red5 server: </a></p>
<pre class="prettyprint"><a name="Start_every_thing"><span class="com">#xvfb-run &#8211;server-args=&#8217;-screen 0 800&#215;600x16&#8242; -a /usr/lib/openoffice/program/soffice -headless -nologo -norestore &amp; </span><span class="pln">
</span><span class="com">#export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun</span><span class="pln">
</span><span class="com">#/opt/lps-4.0.6/Server/tomcat-5.0.24/bin/startup.sh</span><span class="pln">
</span><span class="com">#/etc/init.d/red5 start</span></a></pre>
<p><a name="Start_every_thing">Instead of using a virtual frame buffer you  may install and use a </a><a rel="nofollow" href="http://www.mail-archive.com/openmeetings-dev@googlegroups.com/msg01203/daemons.tar.gz">/etc/init.d/ooomeetings</a> service.</p>
<p>The last  part of instalation is web based, with your web browser (Firefox, Opera,  IE, &#8230;) and servers IP address and port 5080 (default):</p>
<p><a rel="nofollow" href="http://$your_ip:5080/openmeetings/Install">http://$YOUR_IP:5080/openmeetings/Install</a></p>
<p>For example:  <a rel="nofollow" href="http://127.0.0.1:5080/openmeetings/Install">http://127.0.0.1:5080/openmeetings/Install</a></p>
<p>after putting information in forms, OpenMeetings will initialize  a DataBase (based on information that we gived to him) and now you can  access OpenMeetings first page at:</p>
<p><a rel="nofollow" href="http://$your_ip:8080/lps-4.0.6/videoconference/">http://$YOUR_IP:8080/lps-4.0.6/videoconference/</a></p>
<p>For example:  <a rel="nofollow" href="http://127.0.0.1:5080/openmeetings/">http://127.0.0.1:5080/openmeetings/</a></p>
<p>Congratulation, OpenMeetings is ready to use <img src='http://blog.thai2info.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2><a name="Touble_Shooting">Touble Shooting</a></h2>
<p><a name="Touble_Shooting">If you get any message about locales or fonts,  you can use : </a></p>
<pre class="prettyprint"><a name="Touble_Shooting"><span class="com">#dpkg-reconfigure locales</span><span class="pln">
</span><span class="com">#aptitude install xfonts-base</span></a></pre>
<p><a name="Touble_Shooting">If you would like to change rtmp host, you can  use: </a></p>
<pre class="prettyprint"><a name="Touble_Shooting"><span class="pln">vim  </span><span class="pun">/</span><span class="pln">opt</span><span class="pun">/</span><span class="pln">lps</span><span class="pun">-</span><span class="lit">4.0</span><span class="pun">.</span><span class="lit">6</span><span class="pun">/</span><span class="typ">Server</span><span class="pun">/</span><span class="pln">lps</span><span class="pun">-</span><span class="lit">4.0</span><span class="pun">.</span><span class="lit">6</span><span class="pun">/</span><span class="pln">videoconference</span><span class="pun">/</span><span class="pln">config</span><span class="pun">.</span><span class="pln">xml </span></a></pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.thai2info.com/index.php/archives/103/feed</wfw:commentRss>
		</item>
		<item>
		<title>PG Map</title>
		<link>http://blog.thai2info.com/index.php/archives/102</link>
		<comments>http://blog.thai2info.com/index.php/archives/102#comments</comments>
		<pubDate>Fri, 06 Nov 2009 10:52:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.thai2info.com/?p=102</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.thai2info.com/develop/gmap2/pg.html" width="600" height="480" frameborder="0"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thai2info.com/index.php/archives/102/feed</wfw:commentRss>
		</item>
		<item>
		<title>Netcall Setup</title>
		<link>http://blog.thai2info.com/index.php/archives/101</link>
		<comments>http://blog.thai2info.com/index.php/archives/101#comments</comments>
		<pubDate>Fri, 06 Nov 2009 10:32:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.thai2info.com/?p=101</guid>
		<description><![CDATA[TOT Netcall for Nokia Phone 
]]></description>
			<content:encoded><![CDATA[<p><a title="View TOT Netcall for Nokia Phone on Scribd" href="http://www.scribd.com/doc/22193779/TOT-Netcall-for-Nokia-Phone" style="margin: 12px auto 6px auto; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; -x-system-font: none; display: block; text-decoration: underline;">TOT Netcall for Nokia Phone</a> <object codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id="doc_231313859870000" name="doc_231313859870000" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" align="middle"	height="500" width="450" ><param name="movie"	value="http://d1.scribdassets.com/ScribdViewer.swf?document_id=22193779&#038;access_key=key-m74yt9ugmjq2vnj85xx&#038;page=1&#038;version=1&#038;viewMode=list"><param name="quality" value="high"><param name="play" value="true"><param name="loop" value="true"><param name="scale" value="showall"><param name="wmode" value="opaque"><param name="devicefont" value="false"><param name="bgcolor" value="#ffffff"><param name="menu" value="true"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><param name="salign" value=""><param name="mode" value="list"><embed src="http://d1.scribdassets.com/ScribdViewer.swf?document_id=22193779&#038;access_key=key-m74yt9ugmjq2vnj85xx&#038;page=1&#038;version=1&#038;viewMode=list" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" play="true" loop="true" scale="showall" wmode="opaque" devicefont="false" bgcolor="#ffffff" name="doc_231313859870000_object" menu="true" allowfullscreen="true" allowscriptaccess="always" salign="" type="application/x-shockwave-flash" align="middle" mode="list" height="500" width="450"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thai2info.com/index.php/archives/101/feed</wfw:commentRss>
		</item>
		<item>
		<title>การใช้ Google Map Api หาเส้นทาง จากจุดสองจุด</title>
		<link>http://blog.thai2info.com/index.php/archives/99</link>
		<comments>http://blog.thai2info.com/index.php/archives/99#comments</comments>
		<pubDate>Thu, 15 Oct 2009 03:53:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[javascript]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[google map]]></category>

		<guid isPermaLink="false">http://blog.thai2info.com/?p=99</guid>
		<description><![CDATA[


&#60;?php
require(&#039;GoogleMapAPI.class.php&#039;);
$map = new GoogleMapAPI(&#039;map1&#039;);
$map-&#62;setAPIKey(&#039;ABQIAAAAPOHd09dXhJtbKHeZpxlh6BTdM_BGb_HRDyhTa-dAuFdRUQ382BTsqAFfGu_x3jaT_hgEvzyEiREMIg&#039;);
$map-&#62;setMapType(&#039;map&#039;);
$map-&#62;enableInfoWindow();
$map-&#62;enableDirections();
$map-&#62;setInfoWindowTrigger(&#039;mouseover&#039;);
$map-&#62;setWidth(&#039;400px&#039;);
$map-&#62;setHeight(&#039;400px&#039;);
$map-&#62;setFT(&#039;13.786987220018625,100.60581922531128&#039;,&#039;13.780276823001238,100.60309410095215&#039;);

?&#62;

    &#60;html &#34;&#62;
    &#60;head&#62;
    &#60;?php $map-&#62;printHeaderJS(); ?&#62;
    &#60;?php $map-&#62;printMapJS(); ?&#62;
    &#60;!-- necessary for google maps polyline drawing in IE --&#62;
    &#60;style type=&#34;text/css&#34;&#62;
      v\:* {
      [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://www.thai2info.com/develop/gmap2/mymap.php" width="600" height="600" style="width: 600px; height: 600px;" frameborder="0" scrolling="no"></iframe></p>
<pre name="code" class="php">

&lt;?php
require(&#039;GoogleMapAPI.class.php&#039;);
$map = new GoogleMapAPI(&#039;map1&#039;);
$map-&gt;setAPIKey(&#039;ABQIAAAAPOHd09dXhJtbKHeZpxlh6BTdM_BGb_HRDyhTa-dAuFdRUQ382BTsqAFfGu_x3jaT_hgEvzyEiREMIg&#039;);
$map-&gt;setMapType(&#039;map&#039;);
$map-&gt;enableInfoWindow();
$map-&gt;enableDirections();
$map-&gt;setInfoWindowTrigger(&#039;mouseover&#039;);
$map-&gt;setWidth(&#039;400px&#039;);
$map-&gt;setHeight(&#039;400px&#039;);
$map-&gt;setFT(&#039;13.786987220018625,100.60581922531128&#039;,&#039;13.780276823001238,100.60309410095215&#039;);

?&gt;

    &lt;html &quot;&gt;
    &lt;head&gt;
    &lt;?php $map-&gt;printHeaderJS(); ?&gt;
    &lt;?php $map-&gt;printMapJS(); ?&gt;
    &lt;!-- necessary for google maps polyline drawing in IE --&gt;
    &lt;style type=&quot;text/css&quot;&gt;
      v\:* {
        behavior:url(#default#VML);
      }
    &lt;/style&gt;
    &lt;/head&gt;
    &lt;body onload=&quot;onLoad()&quot;&gt;
    &lt;table border=0&gt;
    &lt;tr&gt;&lt;td&gt;
    &lt;?php $map-&gt;printMap(); ?&gt;

    &lt;/td&gt;
	&lt;td&gt;
    &lt;?php $map-&gt;printSidebar(); ?&gt;
	  &lt;div id=&quot;route&quot;&gt;&lt;/div&gt;
    &lt;/td&gt;
	&lt;/tr&gt;
    &lt;/table&gt;

    &lt;/body&gt;
    &lt;/html&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.thai2info.com/index.php/archives/99/feed</wfw:commentRss>
		</item>
		<item>
		<title>MySql Trigger - Basic</title>
		<link>http://blog.thai2info.com/index.php/archives/98</link>
		<comments>http://blog.thai2info.com/index.php/archives/98#comments</comments>
		<pubDate>Thu, 15 Oct 2009 03:38:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Asterisk]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[cdr mysql]]></category>

		<guid isPermaLink="false">http://blog.thai2info.com/?p=98</guid>
		<description><![CDATA[Trigger คือการแทรกการกระทำ (Method/Function) ลงไว้ใน Database โดยสามารถใส่เงื่อนไขต่างๆได้เหมือนกับภาษาโปรแกรมทั่วไปครับ โดยเมื่อเกิด Query ใน Mysql แล้วตัว Database จะทำการไล่ Check ว่ามี Trigger ไหนตรงตามเงื่อนไขบ้าง และเรียกใช้งาน

การใช้ Trigger เป็นเหมือนดาบสองคม มีทั้งข้อดีแล้วข้อเสียครับ จะแจกแจงคร่าวๆเท่าที่พอนึกออกไว้ให้ครับ
+ ดูดีมีชาติตระกูล เร็ว (เร็วกว่าที่ส่งข้อมูลไปๆมาๆระหว่าง Mysql กับ Php/Server-side script อื่นๆ)
+ ทำบางอย่างที่ทำด้วยโค้ด Server-side script มาตราฐานไม่ได้ หรือไม่สะดวกนัก โดยการ Hook เข้าไปในระบบของ DB เลย
- Debug ยาก ยิ่งมีภาษาเพิ่มเข้ามาอีก ยิ่งเพิ่มความปวดหัว
- ยึดติดกับ Platform เนื่องจาก Trigger ไม่มีมาตราฐานชัดเจน ทำให้เมื่อย้ายไปใช้ตัวอื่นจะต้องศึกษาใหม่
Replacement
จริงๆ ในหลายๆกรณีก็ไม่จำเป็นต้องใช้ Trigger เช่นการ Update Table [...]]]></description>
			<content:encoded><![CDATA[<p>Trigger คือการแทรกการกระทำ (Method/Function) ลงไว้ใน Database โดยสามารถใส่เงื่อนไขต่างๆได้เหมือนกับภาษาโปรแกรมทั่วไปครับ โดยเมื่อเกิด Query ใน Mysql แล้วตัว Database จะทำการไล่ Check ว่ามี Trigger ไหนตรงตามเงื่อนไขบ้าง และเรียกใช้งาน</p>
<div>
<p>การใช้ Trigger เป็นเหมือนดาบสองคม มีทั้งข้อดีแล้วข้อเสียครับ จะแจกแจงคร่าวๆเท่าที่พอนึกออกไว้ให้ครับ</p>
<p>+ ดูดีมีชาติตระกูล เร็ว (เร็วกว่าที่ส่งข้อมูลไปๆมาๆระหว่าง Mysql กับ Php/Server-side script อื่นๆ)</p>
<p>+ ทำบางอย่างที่ทำด้วยโค้ด Server-side script มาตราฐานไม่ได้ หรือไม่สะดวกนัก โดยการ Hook เข้าไปในระบบของ DB เลย</p>
<p>- Debug ยาก ยิ่งมีภาษาเพิ่มเข้ามาอีก ยิ่งเพิ่มความปวดหัว</p>
<p>- ยึดติดกับ Platform เนื่องจาก Trigger ไม่มีมาตราฐานชัดเจน ทำให้เมื่อย้ายไปใช้ตัวอื่นจะต้องศึกษาใหม่</p>
<h2>Replacement</h2>
<p>จริงๆ ในหลายๆกรณีก็ไม่จำเป็นต้องใช้ Trigger เช่นการ Update Table ที่เป็น Foreign key โดยสามารถใช้คำสั่ง Cascade ช่วยได้</p>
<p><a href="http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html">http://dev.mysql.com/doc/refman/5.1/en/innodb-foreign-key-constraints.html</a></p>
<h2>Mysql Trigger พื้นฐาน</h2>
<p><strong>หน้าตาตัวอย่าง Trigger</strong><code>CREATE TRIGGER trigger_name BEFORE UPDATE ON table_name FOR EACH ROW BEGIN IF NEW.dirty=0 OR NEW.dirty=1 THEN SET NEW.dirty=1; ELSE SET NEW.dirty=0; END IF; END;</code></p>
<ul>
<li><strong>CREATE TRIGGER trigger_name</strong> คำสั่งสร้าง Trigger</li>
<li><strong>BEFORE UPDATE </strong>Event หลักๆที่เราสามารถ Hook trigger ของเราเข้าไปได้ ได้แก่ INSERT, UPDATE, DELETE โดยสามารถเลือกว่าจะทำการ Hook ก่อนหรือหลัง (BEFORE / AFTER) Query เหล่านั้นได้</li>
<li><strong>ON table_name</strong> เลือก Table ที่ต้องการให้ Trigger ทำงาน</li>
<li><strong></strong></li>
<li><strong></strong>หมายถึงข้อมูลเก่าก่อนที่จะเกิดการรัน Query นั้นๆ</li>
<li><strong></strong></li>
<li>นอกจากนี้ยังสามารถแทรก Query มาตราฐาน (INSERT,UPDATE,DELETE และอื่นๆ) ลงใน Trigger ได้เลยอีกด้วย ซึ่งเราสามารถนำตัวแปร ROW,OLD,NEW มาใช้งานได้เช่นกัน</li>
</ul>
<h2>สร้าง Trigger บน phpMyAdmin</h2>
<p>ถ้าได้ลองเอาโค้ดตัวอย่างไปลอง Run ใน phpMyAdmin จะพบว่า<strong>ไม่สามารถทำงานได้</strong> ด้วย Error ที่อ่านไม่ค่อยจะเข้าใจนัก</p>
<p>เหตุผลphpMyAdmin ไม่สามารถ Run คำสั่งนี้ได้ เนื่องจากเกิดการสับสนเรื่อง Delimiter ของ Mysql กับ คำสั่งใน Trigger</p>
<p>วิธีการแก้ไข แก้ได้ด้วยการ เปลี่ยน Delimiter เป็นตัวอักษรอื่นแทน semicolon “;” ตามรูป</p>
<p><img class="aligncenter size-full wp-image-65" title="เปลี่ยน Delimiter ใน phpMyAdmin" src="http://blog.levelup.in.th/wp-content/uploads/2009/06/picture-9.png" alt="เปลี่ยน Delimiter ใน phpMyAdmin" width="462" height="380" /></p>
<p>ในตัวอย่างเปลี่ยนเป็น ;; แทนครับ โดยถ้าหากเราต้องการสั่งให้ phpMyAdmin ทำงานหลายๆ Query พร้อมกันก็ให้ใส่ ;; แทน ;</p>
<p>credit:<a href="http://blog.levelup.in.th/2009/06/29/mysql-trigger-basicmysql-trigger-basic/">http://blog.levelup.in.th/2009/06/29/mysql-trigger-basicmysql-trigger-basic/</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.thai2info.com/index.php/archives/98/feed</wfw:commentRss>
		</item>
		<item>
		<title>ติดตั้ง Vdo Web conference</title>
		<link>http://blog.thai2info.com/index.php/archives/97</link>
		<comments>http://blog.thai2info.com/index.php/archives/97#comments</comments>
		<pubDate>Thu, 08 Oct 2009 10:37:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Asterisk]]></category>

		<category><![CDATA[web conference]]></category>

		<guid isPermaLink="false">http://blog.thai2info.com/?p=97</guid>
		<description><![CDATA[InstallingBigBlueButton
How to install BigBlueButton like a real developer.  

These instructions will walk through how to install BigBlueButton from source onto Ubuntu. If you are using CentOS, seeInstallingBigBlueButtonCentOS. In most cases, you&#8217;ll want to install from packages, but if you want to really understand how BigBlueButton is setup, the following steps will show you how to install each [...]]]></description>
			<content:encoded><![CDATA[<div id="wikiheader"><span>InstallingBigBlueButton</span></p>
<div>How to install BigBlueButton like a real developer. <img src='http://blog.thai2info.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </div>
</div>
<p>These instructions will walk through how to install <a href="http://code.google.com/p/bigbluebutton/wiki/BigBlueButton">BigBlueButton</a> from source onto Ubuntu. If you are using CentOS, see<a href="http://code.google.com/p/bigbluebutton/wiki/InstallingBigBlueButtonCentOS">InstallingBigBlueButtonCentOS</a>. In most cases, you&#8217;ll want to install from <a rel="nofollow" href="http://code.google.com/p/bigbluebutton/wiki/InstallationUbuntu">packages</a>, but if you want to really understand how <a href="http://code.google.com/p/bigbluebutton/wiki/BigBlueButton">BigBlueButton</a> is setup, the following steps will show you how to install each component.</p>
<p>To start, you&#8217;ll need a computer running Ubuntu &#8212; either a physical machine or a virtual machine (VM). The easiest way to start with a VM images is to download a Ubuntu VM image from <a rel="nofollow" href="http://www.vmware.com/appliances/directory/va/147323/download">http://www.vmware.com/appliances/directory/va/147323/download</a> and start it in VMWare Player</p>
<p>The only prerequisite is that your Ubuntu machine has a network connection.</p>
<ul>
<li>To start, check if you have a network connection</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> ping www</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">google</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">com

</span></span><span class="typ"><span class="typ">If</span></span><span class="pln"><span class="pln"> you </span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> an error saying yout eth0 </span></span><span class="kwd"><span class="kwd">is</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">not</span></span><span class="pln"><span class="pln"> connected</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">then</span></span><span class="pln"><span class="pln"> fix it </span></span><span class="kwd"><span class="kwd">by</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">

  </span></span><span class="typ"><span class="typ">Check</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">if</span></span><span class="pln"><span class="pln"> it </span></span><span class="kwd"><span class="kwd">is</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">using</span></span><span class="pln"><span class="pln"> eth1 

root@ubuntu904server</span></span><span class="pun"><span class="pun">:</span></span><span class="str"><span class="str">/usr/</span></span><span class="kwd"><span class="kwd">local</span></span><span class="com"><span class="com"># ifconfig -a</span></span><span class="pln"><span class="pln">
eth1      </span></span><span class="typ"><span class="typ">Link</span></span><span class="pln"><span class="pln"> encap</span></span><span class="pun"><span class="pun">:</span></span><span class="typ"><span class="typ">Ethernet</span></span><span class="pln"><span class="pln">  </span></span><span class="typ"><span class="typ">HWaddr</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">00</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0c</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">29</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">dd</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">b4</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">51</span></span><span class="pln"><span class="pln">
          inet addr</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">192.168</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0.154</span></span><span class="pln"><span class="pln">  </span></span><span class="typ"><span class="typ">Bcast</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">192.168</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0.255</span></span><span class="pln"><span class="pln">  </span></span><span class="typ"><span class="typ">Mask</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">255.255</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">255.0</span></span><span class="pln"><span class="pln">
          inet6 addr</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln"> fe80</span></span><span class="pun"><span class="pun">::</span></span><span class="lit"><span class="lit">20c</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">29ff</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">fedd</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">b451</span></span><span class="pun"><span class="pun">/</span></span><span class="lit"><span class="lit">64</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Scope</span></span><span class="pun"><span class="pun">:</span></span><span class="typ"><span class="typ">Link</span></span><span class="pln"><span class="pln">
          UP BROADCAST RUNNING MULTICAST  MTU</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">1500</span></span><span class="pln"><span class="pln">  </span></span><span class="typ"><span class="typ">Metric</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">1</span></span><span class="pln"><span class="pln">
          RX packets</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">4080349</span></span><span class="pln"><span class="pln"> errors</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> dropped</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> overruns</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> frame</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln">
          TX packets</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">3932137</span></span><span class="pln"><span class="pln"> errors</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> dropped</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> overruns</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> carrier</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln">
          collisions</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> txqueuelen</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">1000</span></span><span class="pln"><span class="pln">
          RX bytes</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">1216680270</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">(</span></span><span class="lit"><span class="lit">1.2</span></span><span class="pln"><span class="pln"> GB</span></span><span class="pun"><span class="pun">)</span></span><span class="pln"><span class="pln">  TX bytes</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">822963271</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">(</span></span><span class="lit"><span class="lit">822.9</span></span><span class="pln"><span class="pln"> MB</span></span><span class="pun"><span class="pun">)</span></span><span class="pln"><span class="pln">
          </span></span><span class="typ"><span class="typ">Interrupt</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">19</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Base</span></span><span class="pln"><span class="pln"> address</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0&#215;2000</span></span><span class="pln"><span class="pln">

lo        </span></span><span class="typ"><span class="typ">Link</span></span><span class="pln"><span class="pln"> encap</span></span><span class="pun"><span class="pun">:</span></span><span class="typ"><span class="typ">Local</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Loopback</span></span><span class="pln"><span class="pln">
          inet addr</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">127.0</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0.1</span></span><span class="pln"><span class="pln">  </span></span><span class="typ"><span class="typ">Mask</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">255.0</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0.0</span></span><span class="pln"><span class="pln">
          inet6 addr</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">::</span></span><span class="lit"><span class="lit">1</span></span><span class="pun"><span class="pun">/</span></span><span class="lit"><span class="lit">128</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Scope</span></span><span class="pun"><span class="pun">:</span></span><span class="typ"><span class="typ">Host</span></span><span class="pln"><span class="pln">
          UP LOOPBACK RUNNING  MTU</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">16436</span></span><span class="pln"><span class="pln">  </span></span><span class="typ"><span class="typ">Metric</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">1</span></span><span class="pln"><span class="pln">
          RX packets</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">12938</span></span><span class="pln"><span class="pln"> errors</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> dropped</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> overruns</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> frame</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln">
          TX packets</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">12938</span></span><span class="pln"><span class="pln"> errors</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> dropped</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> overruns</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> carrier</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln">
          collisions</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> txqueuelen</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln">
          RX bytes</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">40299608</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">(</span></span><span class="lit"><span class="lit">40.2</span></span><span class="pln"><span class="pln"> MB</span></span><span class="pun"><span class="pun">)</span></span><span class="pln"><span class="pln">  TX bytes</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">40299608</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">(</span></span><span class="lit"><span class="lit">40.2</span></span><span class="pln"><span class="pln"> MB</span></span><span class="pun"><span class="pun">)</span></span><span class="pln"><span class="pln">

root@ubuntu904server</span></span><span class="pun"><span class="pun">:</span></span><span class="str"><span class="str">/usr/</span></span><span class="kwd"><span class="kwd">local</span></span><span class="com"><span class="com"># vi /etc/udev/rules.d/70-persistent-net.rules</span></span><span class="pln"><span class="pln">
</span></span><span class="typ"><span class="typ">Swap</span></span><span class="pln"><span class="pln"> the two entries </span></span><span class="kwd"><span class="kwd">by</span></span><span class="pln"><span class="pln"> eidting </span></span><span class="str"><span class="str">&#8220;NAME=eth1&#8243;</span></span><span class="pln"><span class="pln"> to </span></span><span class="str"><span class="str">&#8220;NAME=eth0&#8243;</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">and</span></span><span class="pln"><span class="pln"> vice versa</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">

</span></span><span class="typ"><span class="typ">Reboot</span></span><span class="pln"><span class="pln"> your machine</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln"> </span></span></pre>
<pre class="prettyprint"><span class="pln"></span><span class="typ"><span class="typ">Check</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">if</span></span><span class="pln"><span class="pln"> you manage to connect to the internet</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln"> </span></span></pre>
<pre class="prettyprint"><span class="pln"></span><span class="typ"><span class="typ">If</span></span><span class="pln"><span class="pln"> you are running on a </span></span><span class="typ"><span class="typ">Virtual</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Machine</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln"> make sure the VM</span></span><span class="str"><span class="str">&#8217;s network adapter is using a Bridged connection instead of NAT. </span></span></pre>
<pre class="prettyprint"><span class="str"><span class="str">On the VMWare player this is enabled in the Devices menu at the top.

More info can be found here http://ubuntuforums.org/showthread.php?t=221768</span></span></pre>
</ul>
<ul>
<li>Once you have interner connection, update and upgrade.</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> sudo apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> update
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> sudo apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> upgrade</span></span></pre>
</ul>
<ul>
<li>Install Java 6</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install openjdk</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">6</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">jre</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">headless</span></span></pre>
</ul>
<ul>
<li>Install MySQL</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install mysql</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">server</span></span></pre>
</ul>
<ul>
<li>Install Tomcat</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">cache search tomcat

  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install tomcat6</span></span></pre>
</ul>
<ul>
<li>Confirm that tomcat is running</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//&lt;YOUR IP&gt;:8080/</span></span></pre>
</ul>
<ul>
<li>Install swftools</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install swftools</span></span></pre>
</ul>
<ul>
<li>Install ImageMagick</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install imagemagick</span></span></pre>
</ul>
<ul>
<li>Install Nginx</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install nginx</span></span></pre>
</ul>
<ul>
<li>Install ActiveMQ</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd opt
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//apache.mirror.rafal.ca/activemq/apache-activemq/5.2.0/apache-activemq-5.2.0-bin.tar.gz</span></span><span class="pln"><span class="pln">
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> tar zxvf apache</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">activemq</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">5.2</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">bin</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz

  </span></span><span class="typ"><span class="typ">Start</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">ActiveMQ</span></span><span class="pln"><span class="pln">
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">/opt/</span></span><span class="pln"><span class="pln">apache</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">activemq</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">5.2</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bin</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">activemq</span></span></pre>
</ul>
<ul>
<li>Modify tomcat6 account</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> vi </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">etc</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">passwd

 </span></span><span class="typ"><span class="typ">Modify</span></span><span class="pln"><span class="pln"> tomcat6 entry to </span></span><span class="kwd"><span class="kwd">this</span></span><span class="pln"><span class="pln">
  tomcat6</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">x</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">106</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">113</span></span><span class="pun"><span class="pun">::</span></span><span class="str"><span class="str">/usr/</span></span><span class="pln"><span class="pln">share</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">tomcat6</span></span><span class="pun"><span class="pun">:</span></span><span class="str"><span class="str">/bin/</span></span><span class="pln"><span class="pln">bash</span></span></pre>
</ul>
<ul>
<li>Install red5</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd opt
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//build.xuggle.com/job/red5_jdk6_stable/131/artifact/workingcopy/red5-0.8.RC3-build-hudson-red5_jdk6_stable-131.tar.gz</span></span><span class="pln"><span class="pln">
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> tar zxvf red5</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.8</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">RC3</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">build</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">hudson</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">red5_jdk6_stable</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">131.tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> mv red5</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.8</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">RC3</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">build</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">hudson</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">red5_jdk6_stable</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">131</span></span><span class="pln"><span class="pln"> red5</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.8</span></span><span class="pln"><span class="pln">

  </span></span><span class="typ"><span class="typ">Start</span></span><span class="pln"><span class="pln"> red5 </span></span><span class="kwd"><span class="kwd">as</span></span><span class="pln"><span class="pln"> tomcat6 user
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> sudo su </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">l tomcat6
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> red5</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">sh</span></span></pre>
</ul>
<ul>
<li>Install oflaDemo</li>
<pre class="prettyprint"><span class="pln"><span class="pln">http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//192.168.0.154:5080/</span></span><span class="pln"><span class="pln">

</span></span><span class="typ"><span class="typ">Click</span></span><span class="pln"><span class="pln"> on </span></span><span class="str"><span class="str">&#8220;Click here to install demos&#8221;</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">and</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">then</span></span><span class="pln"><span class="pln"> choose oflaDemo java </span></span><span class="lit"><span class="lit">6.</span></span><span class="pln"><span class="pln">

http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//192.168.0.154:5080/demos/</span></span><span class="pln"><span class="pln">

http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//192.168.0.154:5080/demos/ofla_demo.html</span></span><span class="pln"><span class="pln">

</span></span><span class="typ"><span class="typ">Edit</span></span><span class="pln"><span class="pln"> rtmp</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//192.168.0.154/oflaDemo and click connect</span></span><span class="pln"><span class="pln">

</span></span><span class="typ"><span class="typ">You</span></span><span class="pln"><span class="pln"> would see a list of available videos</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Select</span></span><span class="pln"><span class="pln"> one to play</span></span><span class="pun"><span class="pun">.</span></span></pre>
</ul>
<ul>
<li>Prepare to install Asterisk</li>
<pre class="prettyprint"><span class="typ"><span class="typ">Some</span></span><span class="pln"><span class="pln"> info found here http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//godson.in/how-to-install-asterisk-on-ubuntu</span></span><span class="pln"><span class="pln">

 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install build</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">essential
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install linux</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">headers</span></span><span class="pun"><span class="pun">-</span></span><span class="str"><span class="str">`uname -r`</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install libssl</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">dev
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install ncurses</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">dev
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install libnewt</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">dev
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install zlib1g</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">dev
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install bison</span></span></pre>
</ul>
<ul>
<li>Install Dahdi</li>
</ul>
<p>You may have to find out what the newest version is. Go <a rel="nofollow" href="http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/">here</a></p>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">usr</span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">local</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">src
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.2.0.2+2.2.0.tar.gz</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> tar zxvf dahdi</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">linux</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">complete</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">2.2</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0.1</span></span><span class="pun"><span class="pun">+</span></span><span class="lit"><span class="lit">2.2</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0.tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd dahdi</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">linux</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">complete</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">2.2</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0.1</span></span><span class="pun"><span class="pun">+</span></span><span class="lit"><span class="lit">2.2</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> make all
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> make install
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> make config</span></span></pre>
<ul>
<li>Install Asterisk</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">usr</span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">local</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">src
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//downloads.asterisk.org/pub/telephony/asterisk/releases/asterisk-1.4.25.tar.gz</span></span><span class="pln"><span class="pln">
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> tar zxvf asterisk</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">1.4</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">25.tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd asterisk</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">1.4</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">25</span></span><span class="pln"><span class="pln">
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> more README
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">./</span></span><span class="pln"><span class="pln">configure
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> make
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> make install
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> make samples
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> make config</span></span></pre>
</ul>
<ul>
<li>Modify Extensions</li>
<pre class="prettyprint"><span class="pln"><span class="pln">cd </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">tmp</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">
wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//bigbluebutton.googlecode.com/files/asterisk-extensions.conf</span></span><span class="pln"><span class="pln">
cat asterisk</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">extensions</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">conf </span></span><span class="pun"><span class="pun">&gt;&gt;</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">/etc/</span></span><span class="pln"><span class="pln">asterisk</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">extensions</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">conf </span></span></pre>
</ul>
<ul>
<li>Create SIP account</li>
<pre class="prettyprint"><span class="pln"><span class="pln">wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//bigbluebutton.googlecode.com/files/asterisk-sip.conf</span></span><span class="pln"><span class="pln">
cat asterisk</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">sip</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">conf </span></span><span class="pun"><span class="pun">&gt;&gt;</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">/etc/</span></span><span class="pln"><span class="pln">asterisk</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">sip</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">conf</span></span></pre>
</ul>
<ul>
<li>Create SIP Accounts to be used by <a href="http://code.google.com/p/bigbluebutton/wiki/Red5Phone">Red5Phone</a></li>
<pre class="prettyprint"><span class="pln"><span class="pln">wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//bigbluebutton.googlecode.com/files/asterisk-create-sip-accounts.sh</span></span><span class="pln"><span class="pln">
chmod a</span></span><span class="pun"><span class="pun">+</span></span><span class="pln"><span class="pln">x asterisk</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">create</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">sip</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">accounts</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">sh
</span></span><span class="pun"><span class="pun">./</span></span><span class="pln"><span class="pln">asterisk</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">create</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">sip</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">accounts</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">sh</span></span></pre>
</ul>
<ul>
<li>Test your SIP account</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Download</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Zoiper</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">from</span></span><span class="pln"><span class="pln"> here http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//www.zoiper.com/zwin.php</span></span><span class="pln"><span class="pln">

 </span></span><span class="typ"><span class="typ">After</span></span><span class="pln"><span class="pln"> installing </span></span><span class="typ"><span class="typ">Zoiper</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln"> start it </span></span><span class="kwd"><span class="kwd">and</span></span><span class="pln"><span class="pln"> create a SIP account </span></span><span class="kwd"><span class="kwd">using</span></span><span class="pln"><span class="pln"> the echotest user above</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">

 </span></span><span class="typ"><span class="typ">Then</span></span><span class="pln"><span class="pln"> dial </span></span><span class="lit"><span class="lit">600.</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">You</span></span><span class="pln"><span class="pln"> should be connected to the </span></span><span class="str"><span class="str">&#8220;Echo&#8221;</span></span><span class="pln"><span class="pln"> application</span></span><span class="pun"><span class="pun">.</span></span></pre>
</ul>
<ul>
<li>Create AMI account</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> vi </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">etc</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">asterisk</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">manager</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">conf

 </span></span><span class="typ"><span class="typ">Modify</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">&#8220;enabled&#8221;</span></span><span class="pln"><span class="pln"> to yes

</span></span><span class="pun"><span class="pun">[</span></span><span class="pln"><span class="pln">general</span></span><span class="pun"><span class="pun">]</span></span><span class="pln"><span class="pln">

enabled </span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln"> yes

  </span></span><span class="typ"><span class="typ">Add</span></span><span class="pln"><span class="pln"> the following at the bottom of the file

</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">BigBlueButton</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Enable</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Red5</span></span><span class="pln"><span class="pln"> to connect
</span></span><span class="pun"><span class="pun">[</span></span><span class="pln"><span class="pln">bbb</span></span><span class="pun"><span class="pun">]</span></span><span class="pln"><span class="pln">
secret </span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln"> secret
permit </span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">0.0</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0.0</span></span><span class="pun"><span class="pun">/</span></span><span class="lit"><span class="lit">0.0</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0.0</span></span><span class="pln"><span class="pln">
read </span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln"> system</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln">call</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln">log</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln">verbose</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln">command</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln">agent</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln">user
write </span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln"> system</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln">call</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln">log</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln">verbose</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln">command</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln">agent</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln">user</span></span></pre>
</ul>
<ul>
<li>Configure Nginx</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> vi </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">etc</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">nginx</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">sites</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">available</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton

 </span></span><span class="typ"><span class="typ">Paste</span></span><span class="pln"><span class="pln"> the following </span></span><span class="kwd"><span class="kwd">into</span></span><span class="pln"><span class="pln"> the file </span></span><span class="kwd"><span class="kwd">and</span></span><span class="pln"><span class="pln"> edit server_name </span></span><span class="kwd"><span class="kwd">with</span></span><span class="pln"><span class="pln"> you IP</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">

server </span></span><span class="pun"><span class="pun">{</span></span><span class="pln"><span class="pln">
     listen   </span></span><span class="lit"><span class="lit">80</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
     server_name  </span></span><span class="lit"><span class="lit">192.168</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0.136</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">

     access_log  </span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">var</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">log</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">nginx</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">access</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">log</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">

      location </span></span><span class="pun"><span class="pun">~</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">(</span></span><span class="str"><span class="str">/open/</span></span><span class="pun"><span class="pun">|</span></span><span class="str"><span class="str">/close/</span></span><span class="pun"><span class="pun">|</span></span><span class="str"><span class="str">/idle/</span></span><span class="pun"><span class="pun">|</span></span><span class="str"><span class="str">/send/</span></span><span class="pun"><span class="pun">)</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">{</span></span><span class="pln"><span class="pln">
          proxy_pass         http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//127.0.0.1:8088;</span></span><span class="pln"><span class="pln">
          proxy_redirect     off</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
          proxy_set_header   X</span></span><span class="pun"><span class="pun">-</span></span><span class="typ"><span class="typ">Forwarded</span></span><span class="pun"><span class="pun">-</span></span><span class="typ"><span class="typ">For</span></span><span class="pln"><span class="pln">   $proxy_add_x_forwarded_for</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">

          client_max_body_size       </span></span><span class="lit"><span class="lit">10m</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
          client_body_buffer_size    </span></span><span class="lit"><span class="lit">128k</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">

          proxy_connect_timeout      </span></span><span class="lit"><span class="lit">90</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
          proxy_send_timeout         </span></span><span class="lit"><span class="lit">90</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
          proxy_read_timeout         </span></span><span class="lit"><span class="lit">90</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">

          proxy_buffering            off</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
      </span></span><span class="pun"><span class="pun">}</span></span><span class="pln"><span class="pln">

       location </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">deskshare </span></span><span class="pun"><span class="pun">{</span></span><span class="pln"><span class="pln">
           proxy_pass         http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//127.0.0.1:5080;</span></span><span class="pln"><span class="pln">
           proxy_redirect     </span></span><span class="kwd"><span class="kwd">default</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_set_header   X</span></span><span class="pun"><span class="pun">-</span></span><span class="typ"><span class="typ">Forwarded</span></span><span class="pun"><span class="pun">-</span></span><span class="typ"><span class="typ">For</span></span><span class="pln"><span class="pln">   $proxy_add_x_forwarded_for</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           client_max_body_size       </span></span><span class="lit"><span class="lit">10m</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           client_body_buffer_size    </span></span><span class="lit"><span class="lit">128k</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_connect_timeout      </span></span><span class="lit"><span class="lit">90</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_send_timeout         </span></span><span class="lit"><span class="lit">90</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_read_timeout         </span></span><span class="lit"><span class="lit">90</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_buffer_size          </span></span><span class="lit"><span class="lit">4k</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_buffers              </span></span><span class="lit"><span class="lit">4</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">32k</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_busy_buffers_size    </span></span><span class="lit"><span class="lit">64k</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_temp_file_write_size </span></span><span class="lit"><span class="lit">64k</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           include    fastcgi_params</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
       </span></span><span class="pun"><span class="pun">}</span></span><span class="pln"><span class="pln">

       location </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton </span></span><span class="pun"><span class="pun">{</span></span><span class="pln"><span class="pln">
           proxy_pass         http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//127.0.0.1:8080;</span></span><span class="pln"><span class="pln">
           proxy_redirect     </span></span><span class="kwd"><span class="kwd">default</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_set_header   X</span></span><span class="pun"><span class="pun">-</span></span><span class="typ"><span class="typ">Forwarded</span></span><span class="pun"><span class="pun">-</span></span><span class="typ"><span class="typ">For</span></span><span class="pln"><span class="pln">   $proxy_add_x_forwarded_for</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">

           client_max_body_size       </span></span><span class="lit"><span class="lit">10m</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           client_body_buffer_size    </span></span><span class="lit"><span class="lit">128k</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">

           proxy_connect_timeout      </span></span><span class="lit"><span class="lit">90</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_send_timeout         </span></span><span class="lit"><span class="lit">90</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_read_timeout         </span></span><span class="lit"><span class="lit">90</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">

           proxy_buffer_size          </span></span><span class="lit"><span class="lit">4k</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_buffers              </span></span><span class="lit"><span class="lit">4</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">32k</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_busy_buffers_size    </span></span><span class="lit"><span class="lit">64k</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
           proxy_temp_file_write_size </span></span><span class="lit"><span class="lit">64k</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">

           include    fastcgi_params</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
       </span></span><span class="pun"><span class="pun">}</span></span><span class="pln"><span class="pln">

        location </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">{</span></span><span class="pln"><span class="pln">
          root   </span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">var</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">www</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">default</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
          index  index</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">html index</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">htm</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
        </span></span><span class="pun"><span class="pun">}</span></span><span class="pln"><span class="pln">

        location </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">client </span></span><span class="pun"><span class="pun">{</span></span><span class="pln"><span class="pln">
                root    </span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">var</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">www</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
                index  index</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">html index</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">htm</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
        </span></span><span class="pun"><span class="pun">}</span></span><span class="pln"><span class="pln">

        </span></span><span class="com"><span class="com">#error_page  404  /404.html;</span></span><span class="pln"><span class="pln">

        </span></span><span class="com"><span class="com"># redirect server error pages to the static page /50x.html</span></span><span class="pln"><span class="pln">
        </span></span><span class="com"><span class="com">#</span></span><span class="pln"><span class="pln">
        error_page   </span></span><span class="lit"><span class="lit">500</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">502</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">503</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">504</span></span><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">/</span></span><span class="lit"><span class="lit">50x</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">html</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
        location </span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">/50x.html {
                root   /</span></span><span class="kwd"><span class="kwd">var</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">www</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">nginx</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">default</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
        </span></span><span class="pun"><span class="pun">}</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">}</span></span></pre>
</ul>
<ul>
<li>Enable the bigbluebutton nginx config</li>
<pre class="prettyprint"><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> ln </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">s </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">etc</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">nginx</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">sites</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">available</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">etc</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">nginx</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">sites</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">enabled</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span></pre>
</ul>
<ul>
<li>Download <a href="http://code.google.com/p/bigbluebutton/wiki/BigBlueButton">BigBlueButton</a></li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> mkdir </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">home</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">user</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">temp
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">home</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">user</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">temp
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//www.bigbluebutton.org/hudson/job/BBB-Trunk-Apps/ws/dist/bigbluebutton-apps-0.5.tar.gz</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//www.bigbluebutton.org/hudson/job/BBB-Trunk-Apps-Deskshare/ws/dist/webapps/deskshare.tar.gz</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//www.bigbluebutton.org/hudson/job/BBB-Trunk-Client/ws/client.tar.gz</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//www.bigbluebutton.org/hudson/job/BBB-Trunk-Web/ws/bigbluebutton-0.1.war</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//www.bigbluebutton.org/hudson/job/BBB-Trunk-Config/ws/web//*zip*/web.zip</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//www.bigbluebutton.org/hudson/job/bbb-trunk-apps-sip/ws/dist/webapps/sip.tar.gz</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//www.bigbluebutton.org/hudson/job/bbb-trunk-apps-video/ws/dist/webapps/video.tar.gz</span></span></pre>
</ul>
<ul>
<li>Disable Security settings for TOMCAT6</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> vi </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">etc</span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">default</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">tomcat6

  </span></span><span class="typ"><span class="typ">Edit</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">and</span></span><span class="pln"><span class="pln"> uncomment </span></span><span class="com"><span class="com">#TOMCAT6_SECURITY=yes to</span></span><span class="pln"><span class="pln">

  TOMCAT6_SECURITY</span></span><span class="pun"><span class="pun">=</span></span><span class="kwd"><span class="kwd">no</span></span></pre>
</ul>
<ul>
<li>setup the database</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> mysql </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">u root </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">p
</span></span><span class="typ"><span class="typ">Enter</span></span><span class="pln"><span class="pln"> password</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">
</span></span><span class="typ"><span class="typ">Welcome</span></span><span class="pln"><span class="pln"> to the </span></span><span class="typ"><span class="typ">MySQL</span></span><span class="pln"><span class="pln"> monitor</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">  </span></span><span class="typ"><span class="typ">Commands</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">end</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">with</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">or</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">\</span></span><span class="pln"><span class="pln">g</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">
</span></span><span class="typ"><span class="typ">Your</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">MySQL</span></span><span class="pln"><span class="pln"> connection id </span></span><span class="kwd"><span class="kwd">is</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">33</span></span><span class="pln"><span class="pln">
</span></span><span class="typ"><span class="typ">Server</span></span><span class="pln"><span class="pln"> version</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">5.0</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">75</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0ubuntu10.2</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">(</span></span><span class="typ"><span class="typ">Ubuntu</span></span><span class="pun"><span class="pun">)</span></span><span class="pln"><span class="pln">

</span></span><span class="typ"><span class="typ">Type</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">&#8216;help;&#8217;</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">or</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">&#8216;\h&#8217;</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">for</span></span><span class="pln"><span class="pln"> help</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Type</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">&#8216;\c&#8217;</span></span><span class="pln"><span class="pln"> to clear the buffer</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">

mysql</span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> create database bigbluebutton_dev</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
</span></span><span class="typ"><span class="typ">Query</span></span><span class="pln"><span class="pln"> OK</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">1</span></span><span class="pln"><span class="pln"> row affected </span></span><span class="pun"><span class="pun">(</span></span><span class="lit"><span class="lit">0.05</span></span><span class="pln"><span class="pln"> sec</span></span><span class="pun"><span class="pun">)</span></span><span class="pln"><span class="pln">

mysql</span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> grant all on bigbluebutton_dev</span></span><span class="pun"><span class="pun">.*</span></span><span class="pln"><span class="pln"> to </span></span><span class="str"><span class="str">&#8216;bbb&#8217;</span></span><span class="lit"><span class="lit">@</span></span><span class="str"><span class="str">&#8216;localhost&#8217;</span></span><span class="pln"><span class="pln"> identified </span></span><span class="kwd"><span class="kwd">by</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">&#8217;secret&#8217;</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
</span></span><span class="typ"><span class="typ">Query</span></span><span class="pln"><span class="pln"> OK</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> rows affected </span></span><span class="pun"><span class="pun">(</span></span><span class="lit"><span class="lit">0.04</span></span><span class="pln"><span class="pln"> sec</span></span><span class="pun"><span class="pun">)</span></span><span class="pln"><span class="pln">

mysql</span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> commit</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
</span></span><span class="typ"><span class="typ">Query</span></span><span class="pln"><span class="pln"> OK</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> rows affected </span></span><span class="pun"><span class="pun">(</span></span><span class="lit"><span class="lit">0.00</span></span><span class="pln"><span class="pln"> sec</span></span><span class="pun"><span class="pun">)</span></span><span class="pln"><span class="pln">

mysql</span></span><span class="pun"><span class="pun">&gt;</span></span></pre>
</ul>
<ul>
<li>Install <a href="http://code.google.com/p/bigbluebutton/wiki/BigBlueButton">BigBlueButton</a> Web</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd </span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">var</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">lib</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">tomcat6</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">webapps
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cp </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">home</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">user</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">temp</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.1</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">war </span></span><span class="pun"><span class="pun">./</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">war</span></span></pre>
</ul>
<ul>
<li>Determine PDF2SWF, CONVERT and GS applications</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="typ"><span class="typ">Make</span></span><span class="pln"><span class="pln"> a note of </span></span><span class="kwd"><span class="kwd">where</span></span><span class="pln"><span class="pln"> pdf2swf </span></span><span class="kwd"><span class="kwd">is</span></span><span class="pln"><span class="pln"> installed
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> which pdf2swf

  </span></span><span class="typ"><span class="typ">You</span></span><span class="pln"><span class="pln"> should see something like
  </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">usr</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bin</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">pdf2swf

  </span></span><span class="typ"><span class="typ">Make</span></span><span class="pln"><span class="pln"> a note of </span></span><span class="kwd"><span class="kwd">where</span></span><span class="pln"><span class="pln"> the convert application </span></span><span class="kwd"><span class="kwd">is</span></span><span class="pln"><span class="pln"> installed
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> which convert

  </span></span><span class="typ"><span class="typ">You</span></span><span class="pln"><span class="pln"> shoud see something like</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">
  </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">usr</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bin</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">convert

  </span></span><span class="typ"><span class="typ">Note</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">where</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">GhostScript</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">is</span></span><span class="pln"><span class="pln"> installed
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> which gs

  </span></span><span class="typ"><span class="typ">You</span></span><span class="pln"><span class="pln"> shoud see something like</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">
  </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">usr</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bin</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">gs</span></span></pre>
</ul>
<ul>
<li>Edit bbb-web properties</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> vi </span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">var</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">lib</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">tomcat6</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">webapps</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">WEB</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">INF</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">classes</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">properties

</span></span><span class="typ"><span class="typ">Change</span></span><span class="pln"><span class="pln"> the following</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln"> swfToolsDir to the directory </span></span><span class="kwd"><span class="kwd">where</span></span><span class="pln"><span class="pln"> pdf2swf </span></span><span class="kwd"><span class="kwd">is</span></span><span class="pln"><span class="pln"> located
 </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln"> imageMagickDir to the directory </span></span><span class="kwd"><span class="kwd">where</span></span><span class="pln"><span class="pln"> convert </span></span><span class="kwd"><span class="kwd">is</span></span><span class="pln"><span class="pln"> located
 </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln"> ghostScriptExec to point to the gs application
 </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln"> change bigbluebutton</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">web</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">serverURL</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//&lt;YOUR IP&gt;</span></span><span class="pln"><span class="pln">

</span></span><span class="typ"><span class="typ">Your</span></span><span class="pln"><span class="pln"> bigbluebutton</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">properties should resemble something like </span></span><span class="kwd"><span class="kwd">this</span></span><span class="pln"><span class="pln">

</span></span><span class="com"><span class="com">#</span></span><span class="pln"><span class="pln">
</span></span><span class="com"><span class="com"># These are the default properites for BigBlueButton Web application</span></span><span class="pln"><span class="pln">

dataSource</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">url</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">jdbc</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">mysql</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//localhost/bigbluebutton_dev</span></span><span class="pln"><span class="pln">
dataSource</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">username</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">bbb
dataSource</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">password</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">secret

swfToolsDir</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">/usr/</span></span><span class="pln"><span class="pln">bin
imageMagickDir</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">/usr/</span></span><span class="pln"><span class="pln">bin
presentationDir</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">/var/</span></span><span class="pln"><span class="pln">bigbluebutton
ghostScriptExec</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">/usr/</span></span><span class="pln"><span class="pln">bin</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">gs

beans</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">presentationService</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">swfToolsDir</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">$</span></span><span class="pun"><span class="pun">{</span></span><span class="pln"><span class="pln">swfToolsDir</span></span><span class="pun"><span class="pun">}</span></span><span class="pln"><span class="pln">
beans</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">presentationService</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">imageMagickDir</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">$</span></span><span class="pun"><span class="pun">{</span></span><span class="pln"><span class="pln">imageMagickDir</span></span><span class="pun"><span class="pun">}</span></span><span class="pln"><span class="pln">
beans</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">presentationService</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">presentationDir</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">$</span></span><span class="pun"><span class="pun">{</span></span><span class="pln"><span class="pln">presentationDir</span></span><span class="pun"><span class="pun">}</span></span><span class="pln"><span class="pln">

</span></span><span class="com"><span class="com"># Use fullpath to ghostscript executable since the exec names are different</span></span><span class="pln"><span class="pln">
</span></span><span class="com"><span class="com"># for each platform.</span></span><span class="pln"><span class="pln">
beans</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">presentationService</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">ghostScriptExec</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">$</span></span><span class="pun"><span class="pun">{</span></span><span class="pln"><span class="pln">ghostScriptExec</span></span><span class="pun"><span class="pun">}</span></span><span class="pln"><span class="pln">

</span></span><span class="com"><span class="com">#</span></span><span class="pln"><span class="pln">
</span></span><span class="com"><span class="com"># This URL needs to reference the host running the tomcat server</span></span><span class="pln"><span class="pln">
bigbluebutton</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">web</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">serverURL</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//192.168.0.154</span></span><span class="pln"><span class="pln">

</span></span><span class="com"><span class="com"># This is a workaround for a problem converting PDF files, referenced at</span></span><span class="pln"><span class="pln">
</span></span><span class="com"><span class="com"># http://groups.google.com/group/comp.lang.postscript/browse_thread/thread/c2e264ca76534ce0?pli=1</span></span><span class="pln"><span class="pln">
noPdfMarkWorkaround</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">/etc/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">nopdfmark</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">ps
beans</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">presentationService</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">noPdfMarkWorkaround</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">$</span></span><span class="pun"><span class="pun">{</span></span><span class="pln"><span class="pln">noPdfMarkWorkaround</span></span><span class="pun"><span class="pun">}</span></span></pre>
</ul>
<ul>
<li>Restart Tomcat6</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">/etc/</span></span><span class="pln"><span class="pln">init</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">d</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">tomcat6 restart</span></span></pre>
</ul>
<ul>
<li>Check if database tables were created</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> mysql </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">u root </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">p
</span></span><span class="typ"><span class="typ">Enter</span></span><span class="pln"><span class="pln"> password</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">
</span></span><span class="typ"><span class="typ">Welcome</span></span><span class="pln"><span class="pln"> to the </span></span><span class="typ"><span class="typ">MySQL</span></span><span class="pln"><span class="pln"> monitor</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">  </span></span><span class="typ"><span class="typ">Commands</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">end</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">with</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">or</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">\</span></span><span class="pln"><span class="pln">g</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">
</span></span><span class="typ"><span class="typ">Your</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">MySQL</span></span><span class="pln"><span class="pln"> connection id </span></span><span class="kwd"><span class="kwd">is</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">56</span></span><span class="pln"><span class="pln">
</span></span><span class="typ"><span class="typ">Server</span></span><span class="pln"><span class="pln"> version</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">5.0</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">75</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0ubuntu10.2</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">(</span></span><span class="typ"><span class="typ">Ubuntu</span></span><span class="pun"><span class="pun">)</span></span><span class="pln"><span class="pln">

</span></span><span class="typ"><span class="typ">Type</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">&#8216;help;&#8217;</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">or</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">&#8216;\h&#8217;</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">for</span></span><span class="pln"><span class="pln"> help</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Type</span></span><span class="pln"><span class="pln"> </span></span><span class="str"><span class="str">&#8216;\c&#8217;</span></span><span class="pln"><span class="pln"> to clear the buffer</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">

mysql</span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">use</span></span><span class="pln"><span class="pln"> bigbluebutton_dev</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
</span></span><span class="typ"><span class="typ">Reading</span></span><span class="pln"><span class="pln"> table information </span></span><span class="kwd"><span class="kwd">for</span></span><span class="pln"><span class="pln"> completion of table </span></span><span class="kwd"><span class="kwd">and</span></span><span class="pln"><span class="pln"> column names
</span></span><span class="typ"><span class="typ">You</span></span><span class="pln"><span class="pln"> can turn off </span></span><span class="kwd"><span class="kwd">this</span></span><span class="pln"><span class="pln"> feature to </span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> a quicker startup </span></span><span class="kwd"><span class="kwd">with</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">A

</span></span><span class="typ"><span class="typ">Database</span></span><span class="pln"><span class="pln"> changed
mysql</span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> show tables</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Tables_in_bigbluebutton_dev</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> account                     </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> account_conference          </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> account_user                </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> conference                  </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> permission                  </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> role                        </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> role_permission_rel         </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> scheduled_session           </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> user                        </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> user_permission_rel         </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> user_role_rel               </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> voice_conference_bridge     </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;+</span></span><span class="pln"><span class="pln">
</span></span><span class="lit"><span class="lit">12</span></span><span class="pln"><span class="pln"> rows </span></span><span class="kwd"><span class="kwd">in</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">set</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">(</span></span><span class="lit"><span class="lit">0.00</span></span><span class="pln"><span class="pln"> sec</span></span><span class="pun"><span class="pun">)</span></span><span class="pln"><span class="pln">

mysql</span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">select</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">*</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">from</span></span><span class="pln"><span class="pln"> user</span></span><span class="pun"><span class="pun">;</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">+&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;-+</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> id </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> version </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> date_created        </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> full_name </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> last_updated        </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> password_hash                            </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> username       </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">+&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;-+</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">  </span></span><span class="lit"><span class="lit">1</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">       </span></span><span class="lit"><span class="lit">0</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">2009</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">06</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">29</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">09</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">51</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">17</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Admin</span></span><span class="pln"><span class="pln">     </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">2009</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">06</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">29</span></span><span class="pln"><span class="pln"> </span></span><span class="lit"><span class="lit">09</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">51</span></span><span class="pun"><span class="pun">:</span></span><span class="lit"><span class="lit">17</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> d033e22ae348aeb5660fc2140aec35850c4da997 </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln"> admin@test</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">com </span></span><span class="pun"><span class="pun">|</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">+&#8212;-+&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;-+</span></span><span class="pln"><span class="pln">
</span></span><span class="lit"><span class="lit">1</span></span><span class="pln"><span class="pln"> row </span></span><span class="kwd"><span class="kwd">in</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">set</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">(</span></span><span class="lit"><span class="lit">0.02</span></span><span class="pln"><span class="pln"> sec</span></span><span class="pun"><span class="pun">)</span></span><span class="pln"><span class="pln">

mysql</span></span><span class="pun"><span class="pun">&gt;</span></span></pre>
</ul>
<ul>
<li>Create the Presentation Upload directory</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> mkdir </span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">var</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> chown </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">R tomcat6</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">adm </span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">var</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> chmod </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">R </span></span><span class="lit"><span class="lit">777</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">var</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span></pre>
</ul>
<ul>
<li>Install bbb-apps</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">opt</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">red5</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.8</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">webapps
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cp </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">home</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">user</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">temp</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">apps</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.5</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz </span></span><span class="pun"><span class="pun">./</span></span><span class="pln"><span class="pln">

 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> tar zxvf bigbluebutton</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">apps</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.5</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln">  mv webapps</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton </span></span><span class="pun"><span class="pun">./</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> rm </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">rf bigbluebutton</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">apps</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.5</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz webapps</span></span><span class="pun"><span class="pun">/</span></span></pre>
</ul>
<ul>
<li>Edit <a href="http://code.google.com/p/bigbluebutton/wiki/BigBlueButton">BigBlueButton</a> Apps properties</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> vi </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">opt</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">red5</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.8</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">webapps</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">WEB</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">INF</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">properties

</span></span><span class="com"><span class="com"># Location for recordings</span></span><span class="pln"><span class="pln">
recordingsDirectory</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">/var/</span></span><span class="pln"><span class="pln">bigbluebutton

</span></span><span class="com"><span class="com"># These properties are for Asterisk Management Interface (AMI)</span></span><span class="pln"><span class="pln">
ami</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">host</span></span><span class="pun"><span class="pun">=</span></span><span class="lit"><span class="lit">127.0</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0.1</span></span><span class="pln"><span class="pln">
ami</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">port</span></span><span class="pun"><span class="pun">=</span></span><span class="lit"><span class="lit">5038</span></span><span class="pln"><span class="pln">
ami</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">username</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">bbb
ami</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">password</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">secret</span></span></pre>
</ul>
<ul>
<li>Uncommet RTMPT section of /opt/red5-0.8/conf/red5-core.xml</li>
</ul>
<ul>
<li>Install Xuggler</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Goto</span></span><span class="pln"><span class="pln"> http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//www.xuggle.com/xuggler/downloads/</span></span><span class="pln"><span class="pln">

  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">usr</span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">local</span></span><span class="pln"><span class="pln">
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln">  wget http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//com.xuggle.s3.amazonaws.com/xuggler/xuggler-3.1.FINAL/xuggle-xuggler.3.1.818-i686-pc-linux-gnu.sh</span></span><span class="pln"><span class="pln">

  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> chmod a</span></span><span class="pun"><span class="pun">+</span></span><span class="pln"><span class="pln">x xuggle</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">xuggler</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">3.1</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">818</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">i686</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">pc</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">linux</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">gnu</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">sh
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">./</span></span><span class="pln"><span class="pln">xuggle</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">xuggler</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">3.1</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">818</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">i686</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">pc</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">linux</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">gnu</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">sh</span></span></pre>
</ul>
<ul>
<li>Put Xuggler into PATH</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln">  vi </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">etc</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">profile

 </span></span><span class="typ"><span class="typ">Add</span></span><span class="pln"><span class="pln"> the following at the bottom of the file

</span></span><span class="kwd"><span class="kwd">export</span></span><span class="pln"><span class="pln"> XUGGLE_HOME</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">/usr/</span></span><span class="kwd"><span class="kwd">local</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">xuggler
</span></span><span class="kwd"><span class="kwd">export</span></span><span class="pln"><span class="pln"> LD_LIBRARY_PATH</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">$XUGGLE_HOME</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">lib</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">$LD_LIBRARY_PATH
</span></span><span class="kwd"><span class="kwd">export</span></span><span class="pln"><span class="pln"> PATH</span></span><span class="pun"><span class="pun">=</span></span><span class="pln"><span class="pln">$XUGGLE_HOME</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bin</span></span><span class="pun"><span class="pun">:</span></span><span class="pln"><span class="pln">$PATH</span></span></pre>
</ul>
<ul>
<li>Install Desk Share App</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">opt</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">red5</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.8</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">webapps
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cp </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">home</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">user</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">temp</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">deskshare</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz </span></span><span class="pun"><span class="pun">./</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> tar zxvf deskshare</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln">  rm deskshare</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz</span></span></pre>
</ul>
<ul>
<li>Install Video App</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">opt</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">red5</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.8</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">webapps
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cp </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">home</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">user</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">temp</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">video</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz </span></span><span class="pun"><span class="pun">./</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> tar zxvf video</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln">  rm video</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz</span></span></pre>
</ul>
<ul>
<li>Install Voice App</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">opt</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">red5</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.8</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">webapps
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cp </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">home</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">user</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">temp</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">sip</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz </span></span><span class="pun"><span class="pun">./</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> tar zxvf sip</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz
 </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln">  rm sip</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz

 </span></span><span class="typ"><span class="typ">Edit</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">opt</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">red5</span></span><span class="pun"><span class="pun">-</span></span><span class="lit"><span class="lit">0.8</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">webapps</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">sip</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">WEB</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">INF</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">sip</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">properties

 </span></span><span class="typ"><span class="typ">Point</span></span><span class="pln"><span class="pln"> sip</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">server</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">host to the IP of your </span></span><span class="typ"><span class="typ">Asterisk</span></span><span class="pln"><span class="pln"> installation

 sip</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">server</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">host</span></span><span class="pun"><span class="pun">=</span></span><span class="lit"><span class="lit">192.168</span></span><span class="pun"><span class="pun">.</span></span><span class="lit"><span class="lit">0.177</span></span></pre>
</ul>
<ul>
<li>Install <a href="http://code.google.com/p/bigbluebutton/wiki/BigBlueButton">BigBlueButton</a> Client</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd </span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">var</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">www
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> mkdir bigbluebutton
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd bigbluebutton
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cp </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">home</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">user</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">temp</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">client</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz </span></span><span class="pun"><span class="pun">./</span></span><span class="pln"><span class="pln">
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> tar zxvf client</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> rm client</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">tar</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">gz</span></span></pre>
</ul>
<ul>
<li>Modify BBB client config in /var/www/bigbluebutton/client/conf/config.xml</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Change</span></span><span class="pln"><span class="pln"> the uri to your IP address
 </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Change</span></span><span class="pln"><span class="pln"> host</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;conf/join-mock.xml&#8221;</span></span><span class="pln"><span class="pln"> to host</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;http://&lt;YOUR IP:PORT&gt;/bigbluebutton/conference-session/enter&#8221;</span></span><span class="pln"><span class="pln">

</span></span><span class="pun"><span class="pun">&lt;?</span></span><span class="pln"><span class="pln">xml version</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;1.0&#8243;</span></span><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">?&gt;</span></span><span class="pln"><span class="pln">
</span></span><span class="pun"><span class="pun">&lt;</span></span><span class="pln"><span class="pln">config</span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln">
    </span></span><span class="pun"><span class="pun">&lt;</span></span><span class="pln"><span class="pln">version</span></span><span class="pun"><span class="pun">&gt;</span></span><span class="lit"><span class="lit">0.4</span></span><span class="pun"><span class="pun">&lt;</span></span><span class="str"><span class="str">/version&gt;
    &lt;porttest host=&#8221;192.168.0.136&#8243; application=&#8221;video&#8221;/</span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln">
        </span></span><span class="pun"><span class="pun">&lt;</span></span><span class="pln"><span class="pln">modules</span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln">

                </span></span><span class="pun"><span class="pun">&lt;</span></span><span class="kwd"><span class="kwd">module</span></span><span class="pln"><span class="pln"> name</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;VideoModule&#8221;</span></span><span class="pln"><span class="pln"> url</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;VideoModule.swf&#8221;</span></span><span class="pln"><span class="pln">
                        uri</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;rtmp://192.168.0.136/video&#8221;</span></span><span class="pln"><span class="pln">
                        onUserJoinedEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;START&#8221;</span></span><span class="pln"><span class="pln">
                        onUserLogoutEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;STOP&#8221;</span></span><span class="pln"><span class="pln">
                </span></span><span class="pun"><span class="pun">/&gt;</span></span><span class="pln"><span class="pln">
                </span></span><span class="pun"><span class="pun">&lt;</span></span><span class="kwd"><span class="kwd">module</span></span><span class="pln"><span class="pln"> name</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;ChatModule&#8221;</span></span><span class="pln"><span class="pln"> url</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;ChatModule.swf&#8221;</span></span><span class="pln"><span class="pln">
                        uri</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;rtmp://192.168.0.136/bigbluebutton&#8221;</span></span><span class="pln"><span class="pln">
                        loadNextModule</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;PresentationModule&#8221;</span></span><span class="pln"><span class="pln">
                        onUserJoinedEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;START&#8221;</span></span><span class="pln"><span class="pln">
                        onUserLogoutEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;STOP&#8221;</span></span><span class="pln"><span class="pln">
                </span></span><span class="pun"><span class="pun">/&gt;</span></span><span class="pln"><span class="pln">
                </span></span><span class="pun"><span class="pun">&lt;</span></span><span class="kwd"><span class="kwd">module</span></span><span class="pln"><span class="pln"> name</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;ViewersModule&#8221;</span></span><span class="pln"><span class="pln"> url</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;ViewersModule.swf&#8221;</span></span><span class="pln"><span class="pln">
                        uri</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;rtmp://192.168.0.136/bigbluebutton&#8221;</span></span><span class="pln"><span class="pln">
                        host</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;conf/join-mock.xml&#8221;</span></span><span class="pln"><span class="pln">
                        onAppInitEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;LOAD&#8221;</span></span><span class="pln"><span class="pln"> loadNextModule</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;ChatModule&#8221;</span></span><span class="pln"><span class="pln">
                        onAppStartEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;START&#8221;</span></span><span class="pln"><span class="pln">
                        onUserLogoutEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;STOP&#8221;</span></span><span class="pln"><span class="pln">
                </span></span><span class="pun"><span class="pun">/&gt;</span></span><span class="pln"><span class="pln">
                </span></span><span class="pun"><span class="pun">&lt;</span></span><span class="kwd"><span class="kwd">module</span></span><span class="pln"><span class="pln"> name</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;ListenersModule&#8221;</span></span><span class="pln"><span class="pln"> url</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;ListenersModule.swf&#8221;</span></span><span class="pln"><span class="pln">
                        uri</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;rtmp://192.168.0.136/bigbluebutton&#8221;</span></span><span class="pln"><span class="pln">
                        recordingHost</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;http://192.168.0.136&#8243;</span></span><span class="pln"><span class="pln">
                        loadNextModule</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;DeskShareModule&#8221;</span></span><span class="pln"><span class="pln">
                        onUserJoinedEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;START&#8221;</span></span><span class="pln"><span class="pln">
                        onUserLogoutEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;STOP&#8221;</span></span><span class="pln"><span class="pln">
                </span></span><span class="pun"><span class="pun">/&gt;</span></span><span class="pln"><span class="pln">
                </span></span><span class="pun"><span class="pun">&lt;</span></span><span class="kwd"><span class="kwd">module</span></span><span class="pln"><span class="pln"> name</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;PresentationModule&#8221;</span></span><span class="pln"><span class="pln"> url</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;PresentationModule.swf&#8221;</span></span><span class="pln"><span class="pln">
                        uri</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;rtmp://192.168.0.136/bigbluebutton&#8221;</span></span><span class="pln"><span class="pln">
                        host</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;http://192.168.0.136&#8243;</span></span><span class="pln"><span class="pln">
                        loadNextModule</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;ListenersModule&#8221;</span></span><span class="pln"><span class="pln">
                        onUserJoinedEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;START&#8221;</span></span><span class="pln"><span class="pln">
                        onUserLogoutEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;STOP&#8221;</span></span><span class="pln"><span class="pln">
                </span></span><span class="pun"><span class="pun">/&gt;</span></span><span class="pln"><span class="pln">

                </span></span><span class="pun"><span class="pun">&lt;</span></span><span class="kwd"><span class="kwd">module</span></span><span class="pln"><span class="pln"> name</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;DeskShareModule&#8221;</span></span><span class="pln"><span class="pln"> url</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;DeskShareModule.swf&#8221;</span></span><span class="pln"><span class="pln">
                        uri</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;rtmp://192.168.0.136/deskShare&#8221;</span></span><span class="pln"><span class="pln">
                        onUserJoinedEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;START&#8221;</span></span><span class="pln"><span class="pln">
                        onUserLogoutEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;STOP&#8221;</span></span><span class="pln"><span class="pln">
                        loadNextModule</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;PhoneModule&#8221;</span></span><span class="pln"><span class="pln">
                </span></span><span class="pun"><span class="pun">/&gt;</span></span><span class="pln"><span class="pln">

                </span></span><span class="pun"><span class="pun">&lt;</span></span><span class="kwd"><span class="kwd">module</span></span><span class="pln"><span class="pln"> name</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;PhoneModule&#8221;</span></span><span class="pln"><span class="pln"> url</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;PhoneModule.swf&#8221;</span></span><span class="pln"><span class="pln">
                        uri</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;rtmp://192.168.0.136/sip&#8221;</span></span><span class="pln"><span class="pln">
                        onUserJoinedEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;START&#8221;</span></span><span class="pln"><span class="pln">
                        onUserLogoutEvent</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;STOP&#8221;</span></span><span class="pln"><span class="pln">
                        loadNextModule</span></span><span class="pun"><span class="pun">=</span></span><span class="str"><span class="str">&#8220;VideoModule&#8221;</span></span><span class="pln"><span class="pln">
                </span></span><span class="pun"><span class="pun">/&gt;</span></span><span class="pln"><span class="pln">
        </span></span><span class="pun"><span class="pun">&lt;</span></span><span class="str"><span class="str">/modules&gt;
&lt;/</span></span><span class="pln"><span class="pln">config</span></span><span class="pun"><span class="pun">&gt;</span></span></pre>
</ul>
<ul>
<li>Install bbb-default pages</li>
<pre class="prettyprint"><span class="pln"><span class="pln">  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cd </span></span><span class="pun"><span class="pun">/</span></span><span class="kwd"><span class="kwd">var</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">www</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> cp </span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">home</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">user</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">temp</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">web</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">zip </span></span><span class="pun"><span class="pun">./</span></span><span class="pln"><span class="pln">
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> apt</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">get</span></span><span class="pln"><span class="pln"> install unzip
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> unzip </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">dc web</span></span><span class="pun"><span class="pun">.</span></span><span class="pln"><span class="pln">zip
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> mv c</span></span><span class="pun"><span class="pun">/</span></span><span class="pln"><span class="pln">web </span></span><span class="pun"><span class="pun">./</span></span><span class="pln"><span class="pln">bigbluebutton</span></span><span class="pun"><span class="pun">-</span></span><span class="kwd"><span class="kwd">default</span></span><span class="pln"><span class="pln">
  </span></span><span class="pun"><span class="pun">&gt;</span></span><span class="pln"><span class="pln"> rm </span></span><span class="pun"><span class="pun">-</span></span><span class="pln"><span class="pln">rf c</span></span></pre>
</ul>
<ul>
<li>Restart server apps</li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="pun"><span class="pun">*</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Start</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">ActiveMQ</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">*</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Start</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Red5</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">as</span></span><span class="pln"><span class="pln"> tomcat6 user
 </span></span><span class="pun"><span class="pun">*</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Restart</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Tomcat</span></span><span class="pln"><span class="pln">
 </span></span><span class="pun"><span class="pun">*</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Restart</span></span><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Asterisk</span></span><span class="pln"><span class="pln"> </span></span></pre>
</ul>
<ul>
<li>Try out <a href="http://code.google.com/p/bigbluebutton/wiki/BigBlueButton">BigBlueButton</a></li>
<pre class="prettyprint"><span class="pln"><span class="pln"> </span></span><span class="typ"><span class="typ">Go</span></span><span class="pln"><span class="pln"> to http</span></span><span class="pun"><span class="pun">:</span></span><span class="com"><span class="com">//&lt;YOUR-IP&gt; which should display the bbb web page.</span></span><span class="pln"><span class="pln">

 </span></span><span class="typ"><span class="typ">To</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">use</span></span><span class="pln"><span class="pln"> voice conference</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln"> </span></span><span class="kwd"><span class="kwd">using</span></span><span class="pln"><span class="pln"> your zoiper</span></span><span class="pun"><span class="pun">,</span></span><span class="pln"><span class="pln"> dial </span></span><span class="lit"><span class="lit">1500</span></span><span class="pln"><span class="pln"> which will prompt you </span></span><span class="kwd"><span class="kwd">for</span></span><span class="pln"><span class="pln"> the conference number</span></span><span class="pun"><span class="pun">.</span></span></pre>
</ul>
<h2><a name="When_things_go_wrong"></a></h2>
<p><a name="When_things_go_wrong"></a></p>
<p><a name="When_things_go_wrong"></a></p>
<h2><a name="If_you_make_it_successfully_through_the_installation"></a></h2>
<p><a name="If_you_make_it_successfully_through_the_installation"></a><a name="If_you_make_it_successfully_through_the_installation"></a><a href="http://code.google.com/p/bigbluebutton/wiki/BigBlueButton">BigBlueButton</a>-dev letting everyone know that you are a real developer and you have installed <a href="http://code.google.com/p/bigbluebutton/wiki/BigBlueButton">BigBlueButton</a> from source. <img src='http://blog.thai2info.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thai2info.com/index.php/archives/97/feed</wfw:commentRss>
		</item>
		<item>
		<title>MRTG on Ubuntu Server</title>
		<link>http://blog.thai2info.com/index.php/archives/96</link>
		<comments>http://blog.thai2info.com/index.php/archives/96#comments</comments>
		<pubDate>Fri, 11 Sep 2009 10:28:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[mrtg]]></category>

		<guid isPermaLink="false">http://blog.thai2info.com/?p=96</guid>
		<description><![CDATA[Lets start by installing the goods. Then we will get into the meat of things.
apt-get install snmpd mrtg apache2
When installing MRTG it will ask if you want to only make /etc/mrtg.cfg readable by the MRTG user. In my case, this will be an internal server only, and I do not need to worry about security, [...]]]></description>
			<content:encoded><![CDATA[<p>Lets start by installing the goods. Then we will get into the meat of things.</p>
<p>apt-get install snmpd mrtg apache2</p>
<p>When installing MRTG it will ask if you want to only make /etc/mrtg.cfg readable by the MRTG user. In my case, this will be an internal server only, and I do not need to worry about security, so I am going to select NO. If you choose YES, the steps in this tutorial may not work. I have not tested this. However, keep in mind if security is a concern, you may want to go this route and keep MRTG contained in a non-root user environment.</p>
<div id="u41u" style="padding: 1em 0pt; text-align: left;"><img style="width: 474px; height: 210px;" src="http://docs.google.com/a/linuxbasement.com/File?id=dhxs2zt_194dq8p49hd_b" alt="" /></div>
<p>Assuming that you want to monitor your networking equipment with MRTG, you need to set up the snmp community on the piece of equipment. Usually its just a matter of enabling snmp, and the default community will be public. If you change the default community to another name, make sure you remember the name for later.</p>
<p>Now lets set up MRTG to read the data.<br />
With Ubuntu server, MRTG will automatically set up /var/www/mrtg. In other distrobutions, it will set it up in a different area, so you will need to change the &#8216;WorkDir:&#8217; variable in the following scenario to the directory where MRTG is installed.</p>
<p>I&#8217;m going to create an /etc/mrtg directory rather then move the mrtg.cfg file within /etc/ This will make it less confusing in the future.</p>
<p>mkdir /etc/mrtg</p>
<p>mv /etc/mrtg.cfg /etc/mrtg/</p>
<p>Now we run the cfgmaker command to get things up and running:</p>
<p>cfgmaker &#8211;global &#8216;WorkDir:/var/www/mrtg&#8217; &#8211;global &#8216;Options[_]: bits,growright&#8217; &#8211;output /etc/mrtg/mrtg.cfg public@&lt;yourrouterip&gt;</p>
<p>We need to make sure the following lines are correct in /etc/mrtg/mrtg.cfg If they are not there, add them.</p>
<p>EnableIPv6: no<br />
RunAsDaemon: Yes<br />
Interval: 5<br />
Logdir: /var/log/mrtg</p>
<p>Now run:</p>
<p>indexmaker &#8211;output=/var/www/mrtg/index.html /etc/mrtg/mrtg.cfg</p>
<p>Which will build the index so you can view the output.</p>
<p>Then I run this command to set an environmental variable</p>
<p>env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg</p>
<p>and open <a title="http://localhost/mrtg/index.html" href="http://localhost/mrtg/index.html">http://localhost/mrtg/index.html</a></p>
<p>You should now see an output graph.</p>
<p>crontab -e<br />
<strong>0,5,10,15,20,25,30,35,40,45,50,55 * * * * env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg &#8211;logging /var/log/mrtg.log</strong></p>
<p>Let cron pick up stats for an hour or so. After a while, you will see that your graphs are picking up data about your bandwidth.</p>
<p>Here is mine with several cisco 2811 routers configured to show bandwidth.<br />
<img style="width: 757px; height: 520px;" src="http://docs.google.com/a/linuxbasement.com/File?id=dhxs2zt_196dvcz5n8s_b" alt="" /></p>
<p>SNMP and MRTG can monitor much more then bandwidth. For instance you can monitor disk usage, processing use, and more on your servers. There is plenty of documenation on the subject, which leans towards going in and adding snmpd to the servers you want to monitor, setting it up, and then going back and executing the cfgmaker and indexmaker command again so that the new hardware will show up on the page. Because the output of these files is an html page, you can also skin the page and make it look nicer, or embed it into your favorite CMS.</p>
<p>I encourage you to play around with MRTG, because it is the foundation program for a lot of software suites that monitor traffic. One of those, we will talk about next time. Until then, keep hackin.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.thai2info.com/index.php/archives/96/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

