To Gain Knowledge and to become a one, who all wants to become

Dreams are not those which are seen during sleep ,but Dreams are those which do not let you sleep,so see the dreams
and work hard to make them true.

Monday, April 11, 2016

Configuring IP Alias on existing network card on OpenSuse

The Suse configuration is bit different than other Linux flavours . Instead of creating additional interface configuration files for alias IP’s like the ifcfg-ethX:X type files, you simply append new entry with the new IP address.  Here is what  ifcfg-eth1 looks like on this system with the existing NIC and IP.

1. Be root user to perform this activity .
2. Change your current directory to the /etc/sysconfig/network directory with the command:
cd /etc/sysconfig/network
 3. Check for existing network adapters with the command :
ls ifcfg-eth*
and look for a file named similar to ifcfg-eth-id-00:50:56:b8:7d:64 The colon-delimited letters & digits at the end are  MAC address of network adapter.

4. To create the new interface, you will edit ifcfg-eth-id-00:50:56:b8:7d:64. The file should contain lines similar to:


BOOTPROTO='static'
BROADCAST='192.168.11.255'
IPADDR='192.168.11.41'
MTU=''
NETMASK='255.255.252.0'
NETWORK='192.168.11.0'
REMOTE_IPADDR=''
STARTMODE='onboot'
UNIQUE='B35A.weGuQ9ywYPF'
_nm_name='bus-pci-0000:02:00.0'

5. To add additional IP address on this machine ,you need to append a new configuration block using the same label. Add a new block and name it BB and same way you can create multiple blogs for adding multiple IP addresses ............

IPADDR_BB=’x.x.x.x′
NETMASK_SN=’xxx.xxx.xxx.x′

6. After adding new address, save the file and restart network services to activate the new IP address.
/etc/init.d/network restart

Monday, December 31, 2012

Getting your Gmail Emails (using pop/imap) in linux box using fetchmail :

1. Get the SSL Certificate for connecting to Gmail POP3-over-SSL (pop3s) :

    # cd /usr/share/ssl/certs
    # chmod 644 Equifax_Secure_Certificate_Authority.pem
    # openssl x509 -in Equifax_Secure_Certificate_Authority.pem -fingerprint -subject -issuer -serial -hash -noout
    # c_rehash . (c_rehash command will be available with openssl-perl package)
    # file 594f1775.* (the name of linked file)


2. Create a .fetchmailrc file in user's home directory and write the following lines :

    poll pop.gmail.com with proto POP3
    user 'username@gmail.com' there with password 'password' is username here
    options keep ssl sslfingerprint 'FF:69:18:0D:75:8C:17:61:F5:EF:FC:F9:85:7D:F5:0E' (this fingerprint will be shown by using fetchmail -v)
    sslcertpath /usr/share/ssl/certs

3. fetchmail -d 600 (The fetchmail utility can be run in daemon mode by running it with the -d flag, followed by the interval in seconds that fetchmail should 
    poll servers listed in the .fetchmailrc file.)

4. You can now check your gmail emails in local users mailbox by using mail user agents like mail,mutt,alpine,etc.

Tuesday, September 11, 2012

NGNIX on Cpanel

Install Nginx on cPanel

The bright people over at http://www.nginxcp.com have come up with a wonderful little tool for working with Nginx. It integrates a admin panel into WHM so you can stop and restart Nginx, recreate the vhost config, view the Nginx Logs and check apache.

Also it autoconfigures WHM and Apache for use with Nginx by changing apache from listening on port 80 to port 8081.

For those who don't know what Nginx is its a caching proxy that will cache static content such as images and html files and serves them up without having to access Apache for the content thus improving speed, memory usage and processor overhead. All dynamic content such as php, java and video are proxied to Apache for processing.

So if you have a site that is slow you might benefit from Nginx serving up all the static content and only using Apache to process the php files..

Nginx Admin (Stable version) v3.2 for Cpanel Version 11.30 or above

Install Instructions:


#cd /usr/local/src
#wget http://nginxcp.com/latest/nginxadmin.tar
#tar xf nginxadmin.tar
#cd publicnginx
#./nginxinstaller install

If you receive any pyaml related error or the following error :

—————————–
Welcome to the Nginx Admin installer……Starting Install
Generating vhosts…
Traceback (most recent call last):
File "/scripts/createvhosts.py", line 2, in ?
import yaml
File "/usr/lib/python2.4/site-packages/PyYAML-3.10-py2.4-linux-i686.egg/yaml/__init__.py", line 26
SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause
Installing WHM interface…
deploying booster rockets
Traceback (most recent call last):
File "/usr/local/src/publicnginx/nginxinstaller2″, line 9, in ?
import createvhosts
File "/usr/local/src/publicnginx/createvhosts.py", line 2, in ?
import yaml
File "/usr/lib/python2.4/site-packages/PyYAML-3.10-py2.4-linux-i686.egg/yaml/__init__.py", line 26
SyntaxError: 'yield' not allowed in a 'try' block with a 'finally' clause
——————————

Then run execute following commands ….
For i686 architecture :-

# easy_install Pyyaml==3.09
# rm -f /usr/lib/python2.4/site-packages/PyYAML-3.10-py2.4-linux-i686.egg

For x86_64 architecture :-

# easy_install Pyyaml==3.09
# rm -f /usr/lib/python2.4/site-packages/PyYAML-3.10-py2.4-linux-x86_64.egg

Then Again run the following commands :-

# ./nginxinstaller install
# /etc/init.d/httpd restart

Now Nginx run on the port no:80 and apache run on the port no.8081.You can manage the nginx through WHM >> Main >> Nginx Admin



To uninstall nginx use following :-

#  cd /usr/local/src
#  wget http://nginxcp.com/nginxadmin2.8-stable.tar
#  tar xf nginxadmin2.8-stable.tar
#  cd publicnginx
#  ./nginxinstaller uninstall

Wednesday, May 11, 2011

Postfix Flush the Mail Queue

Postfix Flush the Mail Queue


Traditionally you use the "sendmail -q" command to flush mail queue under Sendmail MTA. Under Postfix MTA, just enter the following command to flush the mail queue:
# postfix flush
OR
# postfix -f

To see mail queue, enter:
# mailq

To remove all mail from the queue, enter:
# postsuper -d ALL

To remove all mails in the deferred queue, enter:
# postsuper -d ALL deferred
postfix-delete.pl script

Following script deletes all mail from the mailq which matches the regular expression specified as the first argument (Credit: ??? - I found it on old good newsgroup)

#!/usr/bin/perl
 
$REGEXP = shift || die "no email-adress given (regexp-style, e.g. bl.*\@yahoo.com)!";
 
@data = qx</usr/sbin/postqueue -p>;
for (@data) {
  if (/^(\w+)(\*|\!)?\s/) {
     $queue_id = $1;
  }
  if($queue_id) {
    if (/$REGEXP/i) {
      $Q{$queue_id} = 1;
      $queue_id = "";
    }
  }
}
 
#open(POSTSUPER,"|cat") || die "couldn't open postsuper" ;
open(POSTSUPER,"|postsuper -d -") || die "couldn't open postsuper" ;
 
foreach (keys %Q) {
  print POSTSUPER "$_\n";
};
close(POSTSUPER);
 

For example, delete all queued messages from or to the domain called fackspamdomain.com, enter:
./postfix-delete.pl fackspamdomain.com
Delete all queued messages that contain the word "xyz" in the e-mail address:
./postfix-delete.pl xyz

Wednesday, October 27, 2010

Adding Recapcha in Joomla


Download the Recapcha plugin from here : http://www.unixmen.com/joomla-tutorials/776-howto-integrate-recaptcha-antispam-in-joomla-contact-and-registration-form-

1. Login to Joomla Administration --> Extensions--> Install/Uninstall

2. Upload the package file and Click on "Upload Fle and Install"

3. Go to Plugin Manager and it will be shown as System - JEZ ReCaptcha, publish it
    and then click on it .

4 .It will open the setting for JEZ ReCapcha plugin ,do the following .
* Enabled : yes
reCAPTCHA Public :
reCAPTCHA Private :
Inclusion Syntax : No
Auto-verify : Yes

Note : The reptcha public and private key has to be generated by signing  into you google accounts /

https://admin.recaptcha.net/recaptcha/sites/



--
Regards
---
Rachit Seth

Monday, October 25, 2010

How to recover VM on Xenserver When VM is not bootable from updated kernel (Citrics XenServer )


1 . Create/Restore an new VM (say rescue vm )on the xenserver where the crashed VM is located.

2 . Stop the  rescue  vm and deattach the storage device .

3 . Attach this storage  device on crashed vm .

4 . Change the crashed disk vbd to non bootable after checking with below command

    xe vm-disk-list vm="crashedvm name" l ( It will list the storage devices with their uuid's ,for each disk there is a vdi and vbd uuid )

  xe vbd-param-set uuid=7f6a1563-fc76-31d8-49c2-c03466ca836b bootable=false

5 . Change the rescue vm disk vbd  to bootable .

  xe vbd-param-set uuid=5f64a143633-fc76-313-59a2-d13466ca3egf bootable=true

6  Start the crashed vm ,it will boot with the rescue vm's disk.
    Now ,mount the  original disk  whose vbd you  changed to non bootable earlier .

    mount /dev/xvda /mnt

7 . Going  to /mnt ,we will get the old filesystem.
     cd /mnt/boot/

    Changed the grub.conf default  entry   to 1 i.e the older version of kernel is selected( as i have updated the
    kernel after which vm  does not starts)

8. Stop the this crash vm again .

9 . Deattach  the rescue disk from the crashed vm and change the crashed disk's vbd again to bootable .
     
       xe vbd-param-set uuid=7f6a1563-fc76-31d8-49c2-c03466ca836b bootable=true.

10 .Now try to start it  and now it is  bootable (from earlier  kernel.)

Saturday, October 23, 2010

S3fs Installation( To mount S3 bucket )

Note :   Your kernel version must support fuse module otherwise you have to update the kernel

yum update kernel-version   (2.6.18-194 and above version supports fuse module)
gcc is also needed to compiling the package.
yum install fuse dkms dkms-fuse
modprobe fuse
 wget http://sourceforge.net/projects/fuse/files/fuse-2.X/2.8.3/fuse-2.8.3.tar.gz/download
cd fuse-2.8.3
./configure
make clean
make
make install
wget http://s3fs.googlecode.com/files/s3fs-r191-source.tar.gz    
tar -zxvf s3fs-r191-source.tar.gz
cd s3fs
for running make command  you need to install  libcurl which will be available by curl-version.tar.gz
configure the curl-version.tar.gz and then add the line in /etc/ld.so.conf as : /usr/local/lib
export PKG_CONFIG_PATH=/root/fuse-2.8.3:/root/s3fs (the install dir for fuse and s3fs) 
make
ldconfig

USAGE
========
mkdir /tmp/s3fs
cd install-dir
 ./s3fs bucketname -o accessKeyId= -o secretAccessKey=  /tmp/s3fs
ls /tmp/s3fs/1000-thumb.jpg

You can refer to following link for more details-:
http://code.google.com/p/s3fs/wiki/FuseOverAmazon

Friday, October 15, 2010

Installing MongoDB on Ubuntu

Installing MongoDB on Ubuntu
 
MongoDB is a schema-free document oriented database developed by 10gen. It has been designed with the high performance demands of modern web applications in mind, and is currently gaining a great deal of traction in the development community. In this article, we will explain how to install the database on the Ubuntu. Fortunately, considerable work has already been done that makes accomplishing this task extremely quick and simple.
The instructions provided here work with Ubuntu's Karmic (9.10) and Lucid (10.04) releases. Both of these are available options with (ve) server. The newest release at the time of this writing (2010-06-10) is the Lucid release. We recommend using this release as it will have the most current application software easily available in the standard repositories.
There are a few steps to get things working.
  • Install the 10gen signing key
  • Set up the 10gen apt repository
  • Install the drivers for your language(s) of choice
The kind folks at 10gen have made the first two steps fairly straightforward. First, shell into your server using SSH as the root user (the commands in this article will all assume you are shelled in as the root user). Next, run the following command from the command line to import the 10gen signing key:
apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
This will ensure that the database software you download is actually the software published by 10gen.
Next, we need to set up the 10gen software repository on the system. If you have an Ubuntu Lucid server, run the following command:
echo "deb http://downloads.mongodb.org/distros/ubuntu 10.4 10gen" >> /etc/apt/sources.list.d/10gen.list
If you are using Ubuntu Karmic use the following analagous command:
echo "deb http://downloads.mongodb.org/distros/ubuntu 9.10 10gen" >> /etc/apt/sources.list.d/10gen.list
Now, to actually install the MongoDB database, run the following commands:
apt-get update
apt-get -y install mongodb-stable
This will install the current, stable release of MongoDB, along with the standard associated utility programs like mongodump and mongostat onto your server. If you want to install the unstable (development) or nightly snapshot releases, you may use these commands instead:
apt-get -y install mongodb-unstable
apt-get -y install mongodb-snapshot
If, having done this, you type mongo at the command prompt, and you see something similar to the following:
MongoDB shell version: 1.4.3
url: test
connecting to: test
type "help" for help
>
then you have successfully installed MongoDB! (Press Ctrl-D to get out of the Mongo shell).
You will probably also want to install language drivers for your language of choice so that you can develop applications using your new Mongo database. Fortunately, a (mt) Media Temple employee has made a repository with pre-packaged drivers that are easy to install. Drivers are currently available for the Perl, PHP, and Python languages.
There are no packages currently for the Ruby programming language due to complications with packaging RubyGems based software. 10gen has instructions for manually installing these drivers.
To install the other drivers, first install the python-software-properties package which helps you interface with the Ubuntu Launchpad platform.
apt-get -y install python-software-properties
Next, add the mongodb-drivers repository.
add-apt-repository ppa:chris-lea/mongodb-drivers
This will take care of installing the signing key and setting up the repository. To install drivers for all three languages, use the following commands.
apt-get update
apt-get -y install libmongodb-perl php5-mongo python-mongodb

Friday, September 17, 2010

Master -Slave Replication of Mysql Server.

Step 1: Setup Master configuration file properties

Open my.cnf file
1
vi /etc/my.cnf

.

And comment lines like below
1
2
#skip-networking
 #bind-address = 127.0.0.1

.

we have to tell MySQL for which database it should write logs (these logs are used by the slave to see what has changed on the master)
1
2
3
log-bin = /var/lib/mysql/mysql-bin.log
 binlog-do-db=database_name_to_replication
 server-id=1

.

restart mysql
1
service mysqld restart

.

Step 2: Setup Master configuration for replication user

logon to mysql server
1
mysql

.

create an user with “replication slave on” privileges
1
2
3
4
5
GRANT REPLICATION SLAVE ON *.* to 'replication_user'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
GRANT RELOAD ON *.* TO 'replication_user'@'%'
GRANT SUPER ON *.* TO 'replication_user'@'%'
FLUSH PRIVILEGES;

.

Flush tables in our database:
1
2
3
4
USE database_name_to_replication;
FLUSH TABLES WITH READ LOCK;
 
SHOW MASTER STATUS;

.

you will see like this:-
1
2
3
4
5
6
7
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000010 |      106 | db to replicate| mysql            | 
+------------------+----------+--------------+------------------+
1 row in set (0.01 sec)
==============================================

.

Step 3: Setup Slave configuration file

Open my.cnf file
1
vi /etc/my.cnf

.

And commands lines like below
1
2
3
4
5
6
7
server-id=2
 master-host = host_to_master_server
 master-user = replication_user
 master-password = password
 master-port = 3306
 master-connect-retry=60
 replicate-do-db=database_name_to_replication

.

Connect to MySql
1
mysql

.

1
CREATE DATABASE database_name_to_replication;

.

Restart mysql
1
service mysqld restart

.

Run below commands:-
1
2
3
4
STOP SLAVE;
RESET SLAVE;
START SLAVE;
SHOW SLAVE STATUS;

.

the output will be somthing like this:-
1
2
3
4
5
6
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.16.4
Master_User: replication_user
Master_Port: 3306
Connect_Retry: 60
.............

.

now we should load data from our master…
1
LOAD DATA FROM MASTER;

.

or… you can always use below command to load the initial data from master
1
mysql -usome_user_name -psome_password -Ddatabase_name_to_replication < dump_from_master_db.sql

.

after our data is moved to slave server… we can unlock our tables.
Log in to MySQL sever (master) and:
1
2
USE database_name_to_replication;
UNLOCK TABLES;

Friday, July 30, 2010

virtusertable based domain routing

Incoming E-mail messages can be sorted based on the recipient domain name with the virtusertable utility. Because user accounts are not directly associated with any specific domain names, a virtusertable must be used to differentiate between recipient domain names. For example, a virtusertable mapping will allow you to direct E-mail messages for webmaster@mydomain.name and webmaster@subhost.name to different users on your VPS v2.

Configuring Virtusertable mappings

In order to create virtusertable mappings, you must first create a text file in the /etc/mail/ directory of your server (there is a sample file in that directory named virtusertable.sample). This file will contain virtusertable mappings.

Each entry in a virtusertable should be on a single line. The original recipient address on the left hand side, with one or more spaces or tabs separating it from the right hand side, which contains the destination address. Using the example above, the virtusertable mapping would be as follows:

webmaster@mydomain.name     tom
webmaster@subhost.name steve

The original recipient is the E-mail address that people will send messages to, and can be either a full address (username@domain.name), or a catch all for all messages to the specified domain (@domain.name). If you want to create multiple virtusertable entries for a single domain, make sure that you put the catch all below any other entries for that same domain name. For example:

webmaster@mydomain.name    tom
support@mydomain.name someuser@hotmail.com
john@mydomain.name john
@mydomain.name john

The destination address should be a local user, an alias, or a remote E-mail address. You may also use a %1 to indicate that the original user should be prepended to a catch all.

Any time you make a change to the /etc/mail/virtusertable text file, you will need to create a db file that sendmail can read. The following command will create the /etc/mail/virtusertable.db file when run by root:

# makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

Alternatively, a shorter version of this same command can be used:

# vnewvirtmaps

Example Virtusertable Entries

The following entry would deliver any message sent to floyd@example.com to the local account floydr.

floyd@example.com		floydr

The next entry will deliver a message sent to john@example.com to his personal E-mail account with his ISP.

john@example.com		jfranklin@my-isp.com

Any other E-mail sent to the super-host.com domain will go to Floyd's local account.

@super-host.com			floydr

Anything sent to a user at example.net will be sent to example.com, but will not change the username the message was originally sent to (only the domain is modified).

@example.net			%1@example.com

The following entry will reject mail addressed to any address at the example.net domain that is not defined in the virtusertable file. The sender will receive an appropriate error code plus the description, "User unknown."

@example.net			error:nouser User unknown

Thursday, July 29, 2010

MySQL Replication

MySQL Master-Master Replication


  1. Now we will set up MySQL with master-master replication. First, set the MySQL root user password on both machines where YOUR_PASSWORD_HERE is replaced with your MySQL root password: 
    mysqladmin -u root password YOUR_PASSWORD_HERE
  2. Create a user replication and grant it privileges on the database. Replace 10.1.1. with the first three octets of your private IP range: 
     mysql -u root –p mysql> GRANT REPLICATION SLAVE ON *.* TO 'replicaton'@'10.1.1.%' IDENTIFIED BY 'slave'; mysql> GRANT REPLICATION CLIENT ON *.* TO 'replication'@'10.1.1.%'; mysql> GRANT SUPER ON *.* TO 'replication'@'10.1.1.%'; mysql> GRANT RELOAD ON *.* TO 'replication'@'10.1.1.%'; 
  3. Create the Wordpress database and create a db user and password to access the db other than root, replacingmyblog_wordpress, wpadmin,abcd1234 and 10.1.1. with the appropriate values you previously set: 
    mysql> CREATE DATABASE myblog_wordpress; mysql> USE myblog_wordpress; mysql> GRANT ALL ON myblog_wordpress.* TO wpadmin@'10.1.1.%' IDENTIFIED BY 'abcd1234'; mysql> GRANT ALL ON myblog_wordpress.* TO wpadmin@localhost IDENTIFIED BY 'abcd1234'; mysql> FLUSH PRIVILEGES; mysql> quit 

Configuring db01

  1. Now configure MySQL on db01 by editing my.cnf conf file: 
    vi /etc/my.cnf
  2. Modify the file to look like this, replacing myblog_wordpress with the actual name of the database and10.1.1.12 with the private IP of db02. Pay extra attention to the lines with the #Different comments: 
    [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1  server-id=1 #Different than db02  log-bin log-bin=/var/log/mysqld/db01-bin #Different than db02 log-bin-index=/var/log/mysqld/db01-bin-log.index #Different than db02 binlog-do-db=myblog_wordpress binlog-ignore-db=mysql binlog-ignore-db=test  master-host=10.1.1.12 #Different than db02 master-user=replication master-password=slave  replicate-same-server-id=0 auto-increment-increment=2 auto-increment-offset=1 master-connect-retry=5  relay-log=/var/log/mysqld/db01-relay-bin #Different than db02 relay-log-index=/var/log/mysqld/db01-relay-log.index #Different than db02  expire_logs_days=10 max_binlog_size=500M  [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 
  3. Create the log file directories for the new MySQL logging and then restart the service: 
    mkdir /var/log/mysqld chown mysql:mysql /var/log/mysqld service mysqld restart 

Configuring db02

  1. Now configure MySQL on db02 by editing my.cnf conf file: 
    vi /etc/my.cnf
  2. Modify the file to look like this, replacing myblog_wordpress with the actual name of the database and10.1.1.11 with the private IP of db01. Pay extra attention to the lines with the #different comments: 
    [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1  server-id=2  log-bin log-bin=/var/log/mysqld/db02-bin #Different than db01 log-bin-index=/var/log/mysqld/db02-bin-log.index #Different than db01 binlog-do-db=myblog_wordpress binlog-ignore-db=mysql binlog-ignore-db=test  master-host=10.1.1.11 #Different than db01 master-user=replication master-password=slave  replicate-same-server-id=0 auto-increment-increment=2 auto-increment-offset=2 #Different than db01 master-connect-retry=5  relay-log=/var/log/mysqld/db02-relay-bin #Different than db01 relay-log-index=/var/log/mysqld/db02-relay-log.index #Different than db01  expire_logs_days=10 max_binlog_size=500M  [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 
  3. Create the log file directories for the new MySQL logging and then restart the service: 
    mkdir /var/log/mysqld chown mysql:mysql /var/log/mysqld service mysqld restart 

Verify the MySQL Replication Status

  1. To verify the MySQL replication, enter MySQL and run the following commands: 
    mysql -u root –p mysql> SHOW MASTER STATUS; mysql> SHOW SLAVE STATUS\G 
  2. The most important lines to check are the following, which should read "Yes" on both DB servers: 
    Slave_IO_Running:  Yes Slave_SQL_Running:  Yes 
  3. Also important is the following line from SHOW SLAVE STATUS\G which should match the Position value fromSHOW MASTER STATUS; on the other server. The number may differ from what you see below: 
    Read_Master_Log_Pos:  98 
  4. MySQL replication usually works well and is extremely useful, but the databases can get out of sync under certain conditions. One thing to try is to issue the following commands on both servers: 
    mysql> stop slave; mysql> reset master; mysql> reset slave; mysql> start slave;

Runnig SunJava On Linux (CentOs/RedHat)

By far the most messy thing on CentOS 5.2 is adding Sun's Java.  I have never found great success from the different packages that are out there for installing java.  I prefer to simply use the packages from Sun.

Step (1) : Visit Sun's web site and download the latest version of Java (the *.bin file not the *-rpm.bin) (http://java.sun.com/javase/downloads/index.jsp)(pay close attention if you want the 32bit or 64bit version)

Step (2) :

[user@www]# cd /opt/
[user@www]# wget "[GIANT_SUN_URL_TO_GET_THE_JAVA_BIN_FILE_x64_IN_THIS_CASE]"
[user@www]# /bin/sh jdk-6u7-linux-x64.bin

Step (3) : Setup the alternatives correctly

[user@www]# alternatives --install /usr/bin/java java /opt/jdk1.6.0_07/bin/java 2
[user@www]# alternatives --config java
 
There are 2 programs which provide 'java'.
 
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.4.2-gcj/bin/java
2 /opt/jdk1.6.0_07/bin/java
 
Enter to keep the current selection[+], or type selection number: 2
[user@www]#

Step (4) : Check to make sure the install was a success

[user@www]# java -version
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)
Java HotSpot(TM) 64-Bit Server VM (build 10.0-b23, mixed mode)
[user@www]#

NagiosQL3 Installation

Configure NagiosQL3

Requirements

  •   Webserver e.g. Apache 1.x or above
  •   PHP 4.3 or above
  •   MySQL 4.1 or above
  •   Nagios 2 or above
  •   PEAR Module: HTML_Template_IT 1.1 or above
  •   PHP Extension: gettext
  •   PHP Extension: mysql
  •   PHP Extension: ftp
  •   Javascript enabled at your Webbrowser

Installation

HTML_Template_IT

Pear modules can be installed automatically by invoking the following command (requires Internet access): 
# pear install HTML_Template_IT   

Locales

The NagiosQL translation depends on gnu-gettext and this framework depends on your locale system settings. Make sure you have the appropriate locale installed on your system (e.g. en-GB.utf-8). Please verify that by executing "locale -a". 

NagiosQL

Download and extract
Download the latest NagiosQL Version from www.nagiosql.org and extract the nagiosql-*.tar.gz to a directory accessible by your webserver (e.g. /srv/www/htdocs). A subdirectory "nagiosql" will be created: 
# cd /srv/www/htdocs/ 
# wget http://downloads.sourceforge.net/project/nagiosql/nagiosql/NagiosQL%203.0.3/nagiosql303.zip?use_mirror=nchc
# cp nagiosql303.zip /srv/www/htdocs/ # unzip nagiosql303.zip

Configuration 

Directory Structure

It is recommend to have the following directory structure (you can change the directory names in your NagiosQL Domain Configuration): 
/etc/nagiosql/                  -> Common configuration files "            /hosts         -> Host configuration files "            /services   -> Service configuration files "            /backup/   -> Backups of the common configuration files "         "      /hosts  -> Backups of the host configuration files "         "      /services  -> Backups of the service configuration files 

Nagios

In order to find the configuration files generated by NagiosQL your Nagios configuration must be amended, too. You are free to change the directory names, but be sure to do that in both configuration files (Nagios: nagios.cfg, NagiosQL: Domain Administration). The directory structure (e.g. backup directories below main directories) should never be changed! 
The Nagios configuration file nagios.cfg should be amended to follow the above recommendation: 
cfg_file=/etc/nagiosql/contacttemplates.cfg cfg_file=/etc/nagiosql/contactgroups.cfg cfg_file=/etc/nagiosql/contacts.cfg cfg_file=/etc/nagiosql/timeperiods.cfg cfg_file=/etc/nagiosql/commands.cfg
cfg_file=/etc/nagiosql/hostgroups.cfg cfg_file=/etc/nagiosql/servicegroups.cfg  cfg_dir=/etc/nagiosql/hosts cfg_dir=/etc/nagiosql/services
And optional: 
cfg_file=/etc/nagiosql/hosttemplates.cfg cfg_file=/etc/nagiosql/servicetemplates.cfg cfg_file=/etc/nagiosql/servicedependencies.cfg cfg_file=/etc/nagiosql/serviceescalations.cfg cfg_file=/etc/nagiosql/hostdependencies.cfg cfg_file=/etc/nagiosql/hostescalations.cfg cfg_file=/etc/nagiosql/hostextinfo.cfg cfg_file=/etc/nagiosql/serviceextinfo.cfg  

Permissions

The following file permissions are required to let NagiosQL read and write the Nagios configuration files. In our example the Apache runs as user "www-data" and the group "www-data" as well as Nagios runs by the user "nagios" and the group "nagios". Instead of the below configuration, you could also add the Apache user to the Nagios group. The configuration files are located at /etc/nagiosql. Please amend if this differs from your installation. 
## Nagios Main Configuration Files  # chgrp www-data /etc/nagios # chgrp www-data /etc/nagios/nagios.cfg # chgrp www-data /etc/nagios/cgi.cfg # chmod 775 /etc/nagios # chmod 664 /etc/nagios/nagios.cfg # chmod 664 /etc/nagios/cgi.cfg  ## NagiosQL Configuration
# chmod 6755 /etc/nagiosql # chown www-data.nagios/etc/nagiosql # chmod 6755 /etc/nagiosql/hosts # chown www-data.nagios/etc/nagiosql/hosts # chmod 6755 /etc/nagiosql/services # chown www-data.nagios /etc/nagiosql/services     ## NagiosQL Backup Configuration   # chmod 6755 /etc/nagiosql/backup # chown www-data.nagios /etc/nagiosql/backup # chmod 6755 /etc/nagiosql/backup/hosts # chown www-data.nagios /etc/nagiosql/backup/hosts # chmod 6755 /etc/nagiosql/backup/services # chown www-data.nagios /etc/nagiosql/backup/services  ## Amend already existing files     # chmod 644 /etc/nagiosql/*.cfg # chown www-data.nagios /etc/nagiosql/*.cfg 
If these directories already have files, amend the permissions for them, too: 
# chmod 644 /etc/nagiosql/hosts/*.cfg # chown www-data.nagios /etc/nagiosql/hosts/*.cfg    # chmod 644 /etc/nagiosql/services/*.cfg # chown www-data.nagios /etc/nagiosql/services/*.cfg     
The Nagios binary must be executable by the Apache user: 
# chown nagios.www-data /usr/sbin/nagios # chmod 750 /usr/sbin/nagios 
Be sure the Apache user is able to write the Nagios commandfile. Please check your nagios.cfg for the correct path to the commandfile! 
# chown nagios.www.data /usr/local/nagios/var/rw/nagios.cmd # chmod 660 /usr/local/nagios/var/rw/nagios.cmd 

Verify Installation and Configuration

Please execute as the webserver user "nagios -v /etc/nagios/nagios.cfg" and check for additional permissions.

Running NagiosQL

Now you should be able start NagiosQL: http://www.domain.tld/nagiosql/index.php
The Installation Wizard will help you installing NagiosQL.

Configure Nagios Environment within NagiosQL

After the Installation Wizard succeeded, you should configure your Nagios Environment for NagiosQL. Please login to your fresh installation and navigate to "Administration" => "Domains". Setup your Nagios Environment and if you need help, try the integrated help system first.

LogMeIn Hamachi Installation in linux

LogMeIn Hamachi is a VPN service that easily sets up in 10 minutes, and enables secure remote access to your business network, anywhere there's an Internet connection.
 It works with your existing firewall, and requires no additional configuration. Hamachi is the first networking application to deliver an unprecedented level of direct peer-to-peer connectivity. It is simple, secure, and cost-effective.

Download latest hamachi version

# wget http://files.hamachi.cc/linux/hamachi-0.9.9.9-20-lnx.tar.gz

Unpack hamachi-0.9.9.9-20-lnx.tar.gz

# tar -zxvf hamachi-0.9.9.9-20-lnx.tar.gz

Installing Hamachi

# cd hamachi-0.9.9.9-20-lnx

# make install

Run tuncfg

# /sbin/tuncfg

After installation, issue the following commands

Create keys and set configuration directory

# hamachi-init -c /etc/hamachi

Start hamachi

# hamachi -c /etc/hamachi start

Login to hamachi network

# hamachi -c /etc/hamachi login

Create your personal network and password protect it

# hamachi -c /etc/hamachi create YOUR_NETWORK
Password:
Creating YOUR_NETWORK .. ok

Go-Online on your network

# hamachi -c /etc/hamachi go-online YOUR_NETWORK

Joining other networks

# hamachi -c /etc/hamachi join OTHER_NETWORK password

Leaving other networks

# hamachi -c /etc/hamachi leave OTHER_NETWORK

Changing nick name

# hamachi -c /etc/hamachi set-nick NEW_NICK

Getting a list of networks & members

# hamachi -c /etc/hamachi list

Thursday, July 22, 2010

SHA1 Algorithm



SHA-1 is a cryptographic hash function designed by the National Security Agency (NSA) and published by the NIST as a U.S. Federal Information Processing Standard. SHA stands for Secure Hash Algorithm. The three SHA algorithms are structured differently and are distinguished asSHA-0, SHA-1, and SHA-2. SHA-1 is very similar to SHA-0, but corrects an error in the original SHA hash specification that led to significant weaknesses. The SHA-0 algorithm was not adopted by many applications. SHA-2 on the other hand significantly differs from the SHA-1 hash function.
SHA-1 is the most widely used of the existing SHA hash functions, and is employed in several widely-used security applications and protocols. In 2005, security flaws were identified in SHA-1, namely that a mathematical weakness might exist, indicating that a stronger hash function would be desirable.[2]Although no successful attacks have yet been reported on the SHA-2 variants, they are algorithmically similar to SHA-1 and so efforts are underway to develop improved alternatives.[3][4] A new hash standard, SHA-3, is currently under development — an ongoing NIST hash function competition is scheduled to end with the selection of a winning function in 2012.

SHA-1 produces a 160-bit digest from a message with a maximum length of (264 − 1) bits. SHA-1 is based on principles similar to those used by Ronald L. Rivest of MIT in the design of the MD4 and MD5 message digest algorithms, but has a more conservative design.
The original specification of the algorithm was published in 1993 as the Secure Hash Standard, FIPS PUB 180, by US government standards agency NIST (National Institute of Standards and Technology). This version is now often referred to as SHA-0. It was withdrawn by NSA shortly after publication and was superseded by the revised version, published in 1995 in FIPS PUB 180-1 and commonly referred to as SHA-1. SHA-1 differs from SHA-0 only by a single bitwise rotation in the message schedule of its compression function; this was done, according to NSA, to correct a flaw in the original algorithm which reduced its cryptographic security. However, NSA did not provide any further explanation or identify the flaw that was corrected. Weaknesses have subsequently been reported in both SHA-0 and SHA-1. SHA-1 appears to provide greater resistance to attacks, supporting the NSA’s assertion that the change increased the security.

Comparison of SHA functions

In the table below, internal state means the “internal hash sum” after each compression of a data block.
Algorithm and
variant
Output size (bits)Internal state size (bits)Block size (bits)Max message size (bits)Word size (bits)RoundsOperationsCollisions found
SHA-0160160512264 − 13280+,and,or,xor,rotYes
SHA-1None (263 attack)[5]
SHA-2SHA-256/224256/224256512264 − 13264+,and,or,xor,shr,rotNone
SHA-512/384512/38451210242128 − 16480+,and,or,xor,shr,rotNone

-