Friday, June 25, 2010

How to Setup static IP Addres in Linux

Procedure:

1. Go to Application --> Terminal.
2. Type the following command:

#network setting interface

sudo emacs /etc/network/interfaces/

Note:

Text code editor of linux debian, mint, and fedora, red hat.

a. emacs
b. nano
c. vi
d. gedit
e. pico
f. blufish
g. aljuta

3. Setup your network

iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.xxx.xxx
broadcast 192.168.xxx.xxx
gateway 192.168.xxx.xxx

Note:
Comment the default DHCP network settings.

iface eth0 inet DCHP

4. Restart the network server by typing this command

sudo /etc/init.d/networking restart


''' You have now Static IP Address '''



Change IP address and netmask from command line


Activate network interface eth0 with a new IP (192.xxx.xxx.xxx) / netmask:

$ sudo ifconfig eth0 192.168.xxx.xxx netmask 255.255.255.0 up


Display the routing table

$ /sbin/route OR$ /sbin/route -n

Output:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
localnet * 255.255.255.0 U 0 0 0 ra0
192.xxx.xxx.0 * 255.255.255.0 U 0 0 0 eth0
192.xxx.xxx.0 * 255.255.255.0 U 0 0 0 eth1
default 192.168.xxx.xxx 0.0.0.0 UG 0 0 0 ra0

Define new DNS servers

Open /etc/resolv.conf file
$ sudo vi /etc/resolv.conf

You need to remove old DNS server assigned by DHCP server:
search myisp.com
nameserver 192.xxx.xxx.xxx
nameserver 192.xxx.xxx.xxx
nameserver 192.xxx.xxx.xxx

Friday, June 18, 2010

Installing Open Source VoIP PBX System on Linux

The Open Source VoIP PBX System

From the root prompt, type:
ipkg install asterisk

Optionally install the additional sound package:
ipkg -force-overwrite install asterisk-sounds
Configuration:

The original sample configuration files are in /opt/etc/asterisk/sample

Take a look at it, consult the voip-info.org Asterisk wiki and create your configuration files in /opt/etc/asterisk

Because the NSLU has only 32MB of RAM I'll recommend you to use a slim configuration (modules.conf).

I have tested it with the second Asterisk slim configuration with the iLBC codec disabled as it requires a floating point unit which isn't present on the IXP420.

You have to configure the path to the various asterisk component in asterisk.conf:

[directories]
astetcdir => /opt/etc/asterisk
astmoddir => /opt/lib/asterisk/modules
astvarlibdir => /opt/var/lib/asterisk
astagidir => /opt/var/lib/asterisk/agi-bin
astspooldir => /opt/var/spool/asterisk
astrundir => /opt/var/run
astlogdir => /opt/var/log/asterisk

Use the voip-info.org Asterisk wiki to find out how to configure:

extensions.conf
iax.conf
sip.conf
voicemail.conf

Performance expectations

The slug's IXP420 should have enough horse power for a home PBX with up to 4 lines, when less CPU intensive codecs (like GSM, G711u, G711a or G726) are used.

The CPU intensive codecs (iLBC, G729, Speex) are not working, but it should be possible to rewrite them using the DSP extended instruction set supported by the IXP4xx. The Intel(R) IXP4XX DSP Software Library contains efficient implementations of all codecs including G729 and other VoIP goodies, but it looks that it cannot be used by asterisk: http://www.intel.com/design/network/products/npfamily/ixp425swr1.htm
Flash installation

To install on a USB flash disk, 128Mb or more is recommended to allow room for voicemail files etc.. See Ext3flash. It has been reported to run on 64Mb.
Asterisk sample configuration for Slug

If you want to try the Asterisk VoIP PBX without going trough the hassle of configuring it from the scratch, you can start with this sample configuration and you will have Asterisk running on the Slug in minutes.
Starting and stopping Asterisk

If you have just installed and configured Asterisk, you can try running it for the first time in console mode with some debugging applied with this command:

/opt/sbin/asterisk -vvvc

Use the command "stop now" to shut down Asterisk from the CLI console.

If run with no arguments, Asterisk is launched as a daemon process:

/opt/sbin/asterisk

You can get a CLI console to an already-running daemon by typing:

/opt/sbin/asterisk -r

on the same computer on which Asterisk is running. More than one console CLI can connect to Asterisk simultaneously.

You can list all the available CLI commands by entering "help", or get information on a particular command by entering "help ".

To start asterisk at boot time, create a script whose name starts with S[number][number] in /opt/etc/init.d/ that executes asterisk:

/opt/etc/init.d # cat S99asterisk
#!/bin/sh

if [ -f /opt/var/run/asterisk.pid ] ; then
kill `cat /opt/var/run/asterisk.pid`
else
killall asterisk
fi

rm -f /opt/var/run/asterisk.pid

umask 077

/opt/sbin/asterisk

Installing Java on Linux ^_^

Installing Java on Linux ^_^


sudo apt-get install sun-java5-jdk

Set Java environment variables

$ export JAVA_HOME="path of your java home"
$ export PATH=$PATH:$JAVA_HOME/bin

In Ubuntu 6.06,do:

export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.06

You may have to change the numbers for updated versions.

Installing Apache Tomcat 5

$ sudo aptitude install tomcat5 tomcat5-admin tomcat5-webapps

(The package tomcat5-webapps just contains some example applications. It is interesting for developers, but you should omit it on production servers.)

Depending on your JDK version, you must set (or not) the JAVA_HOME variable in /etc/default/tomcat5. The start script tests for a couple of JDKs, but only finds older versions. Probably you must set (the already existing) JAVA_HOME variable as follows:

JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun

Run, Stop, And Restart Apache Tomcat

Use the following command to run Apache Tomcat:

$ sudo /etc/init.d/tomcat5 start

To stop it, use :

$ sudo /etc/init.d/tomcat5 stop

Finally, to restart it, run :

$ sudo /etc/init.d/tomcat5 restart

Using Tomcat5

You can find tomcat up and running (if you have followed the previous steps) at the following ip:

127.0.0.1:8180

Configuration

Configuring & Using Apache Tomcat 6 and Securing tomcat are good external resources about this topic.

Administering Tomcat5

If you have installed also the admin package as listed before you will be able to enter in the administation window only if you edit the file

$ /usr/share/tomcat5/conf/tomcat-users.xml

and add the following lines for creating new users with admin and manager privilegies as described in Tomcat's main page





Obviously if you want only one kind of role you've to delete the one you are not interested in. Example only admin




Installing new servlet or jsp pages in Tomcat5

Using the Tomcat manager included in the installed packages you'll be able to to control your servlet/jsp properly.

1.Enter in your server (by default 127.0.0.1:8180).

2.Enter in the Tomcat manager page (you find the link on the left) typing username and password chosen in the previous step.

3.Search the section Deploy and in the field WAR or Directory URL type:

file://YOUR SERVLET or JSP PAGE DIRECTORY

Usually servlet/jsp pages are located in the directory /usr/share/tomcat5/webapps.

Tomcat on port 80

If you run Tomcat without a separate web server, but you want it to listen on port 80, then you should redirect port 80 to 8180 with iptables. For this you should create two files:

/etc/network/if-pre-up.d/tomcat5-port80

[ "$IFACE" == "eth0" ] || exit 0;
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport http -j REDIRECT --to-ports 8180

/etc/network/if-post-down.d/tomcat5-port80

[ "$IFACE" == "eth0" ] || exit 0;
iptables -t nat -D PREROUTING -i eth0 -p tcp --dport http -j REDIRECT --to-ports 8180

They must be executable, but only root should be able to modify them (e.g. use chmod 744). Please do also adjust your network interface as needed. After restarting the server, you can access Tomcat on port 80 and 8180.

There are a couple of other possibilities to achieve this goal (see the sections in Securing tomcat and Configuring & Using Apache Tomcat 6). For most situations the given solution should be appropriate. But please pay attention to avoid running Tomcat as root!

Turn of directory listings

For security reasons and to not disturbe guests you might want to turn of directory listings in case of non-existing welcome pages (e.g. if index.html is missing). To do this modify the listings parameter in conf/web.xml:


listings
false