This blog decribes how to install and setup jboss to start automatically on RedHat Linux
Step1: Install Java and set environment variables
Please follow this link for instructions
http://easylinuxstuffs.blogspot.com/2009/08/installing-java-on-linux.html
Step2: Create a user called jboss
It always advisable to create a user "jboss" that can be used to start/stop jboss and can be assign permissions
#useradd jboss
Step3: Download appropriate package from Jboss and Install it
#tar -xvxf jboss-5.1.0.GA-jdk6.zip
#mv jboss-5.1.0.GA /usr/local/
#chown -R jboss:jboss /usr/local/jboss-5.1.0.GA
Step4: Set Environment variables for JBOSS
Create a file /etc/profile.d/jboss
# touch /etc/profile.d/jboss
# chmod +x /etc/profile.d/jboss
#vi /etc/profile.d/jboss ( Add the following entries)
#***** Set Env Variables for Jboss
JBOSS_HOME=/usr/local/jboss-5.1.0.GA
export JBOSS_HOME
export PATH=$JBOSS_HOME/bin:$PATH
export LAUNCH_JBOSS_IN_BACKGROUND=1
Step5: Logout from shell to get the above path settings updated
Note: [Instead of creating /etc/profile.d/jboss we can always update the variables in /etc/profile]
Step6: Configure Jboss to script start automatically on restart
Starting from JBoss 4.0.1 and above a sample start-up script ( eq: jboss_init_redhat.sh for redhat) is supplied with the package , we just need to modify it.
Copy the script to /etc/init.d and name it as jboss
#cp /usr/local/jboss-5.1.0.GA/bin/jboss_init_redhat.sh /etc/init.d/jboss
#chmod +x /etc/init.d/jboss
Step7: create links
The links will be used to identify at which run levels JBoss should be started and stopped.
#ln -s /etc/rc.d/init.d/jboss /etc/rc3.d/S84jboss
#ln -s /etc/rc.d/init.d/jboss /etc/rc5.d/S84jboss
#ln -s /etc/rc.d/init.d/jboss /etc/rc4.d/S84jboss
#ln -s /etc/rc.d/init.d/jboss /etc/rc6.d/K15jboss
#ln -s /etc/rc.d/init.d/jboss /etc/rc0.d/K15jboss
#ln -s /etc/rc.d/init.d/jboss /etc/rc1.d/K15jboss
#ln -s /etc/rc.d/init.d/jboss /etc/rc2.d/K15jboss
Linux will execute the equivalent of "service jboss start" for the "S" links and "service jboss stop" for the K links.
Red Hat has a chkconfig command to manage these links, which may or may not work (it uses comments in the top of the script to determine which run-levels it should be started/stopped in)
Step8: Modify the script to work with chkconfig command in Redhat
Add the following entries just after #!/bin/sh in the script
#
# JBoss Control Script
#
# chkconfig: 345 80 20
# description: JBoss Startup File
#
#
# To use this script run it as root - it will switch to the specified user
#
Step9: Modify the script with JJboss,JavaPath, User and Host details
Find out the following entries and change according to you installation directories and path
#define where jboss is - this is the directory containing directories log, bin, conf etc
JBOSS_HOME=${JBOSS_HOME:-"/usr/local/jboss-5.1.0.GA"}
#define the user under which jboss will run, or use 'RUNASIS' to run as the current user
JBOSS_USER=${JBOSS_USER:-"jboss"}
#make sure java is in your path
JAVAPTH=${JAVAPTH:-"/usr/java/jdk1.6.0_14/bin"}
#bind jboss services to a specific IP address - added by rasith
JBOSS_HOST=${JBOSS_HOST:-"yourserver.yourdomain.com"} Note:[Either give FQDN of your server or IP Address]
Step10: set chkconfig to start jboss in different runlevel
#chkconfig --level 345 jboss on
Step11: Start Jboss and Verify whether it is running properly
#/sbin/service jboss start
You should be able to see jboss up and running at http:://yourserver.yourdomain.com:8080
Use /sbin/service jboss start|stop|restart to start , stop and to restart jboss
Stept12: Restart your server and verify jboss is running automatically after the restart
There You Go !! A Well-settled JBoss on your Cute Linux Box.
Happy LinuXing !!
Tuesday, October 20, 2009
Sunday, October 18, 2009
Apache: How to configure Directory Indexing in Apache?
Edit the /etc/httpd/conf/httpd.conf file :
Just Look at the line starting:
[Please note: Do add lesser than sign in front of directory]
directory "/var/www/html/pdfs"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
/Directory
Restart the Apache.
Try browsing http://localhost/pdfs
Just Look at the line starting:
[Please note: Do add lesser than sign in front of directory]
directory "/var/www/html/pdfs"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
/Directory
Restart the Apache.
Try browsing http://localhost/pdfs
Saturday, October 10, 2009
Sudo: How to provide access rights to a user?
The syntax of the file is pretty explanatory,
Quote:
user MACHINE=COMMANDS
So if the username is 'eth1' and you want to provide access to the command /sbin/mount to the user then,
Quote:
eth1 ALL=/sbin/mount
Example:
Quote:
username ALL=NOPASSWD: /sbin/fdisk
Find out the path of command using
which fdisk or etc..
Also, You can also split the specifications up using User_Alias and Cmnd_Alias to make it a little easier to organize.
Here is a contrived example for ya'.
Code:
### User Aliases
## This is a list of users that have the ability to sudo the same commands.
User_Alias USERLST1=user1,user2
## This group has the ability to sudo the same commands.
## 'webadmgp' is a primary or secondary group that some of your users have.
User_Alias WEBGROUP=%webadmgp
### Command Aliases
## Storage
Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount
## Networking
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
## Webadmin
Cmnd_Alias WEBADMIN = /etc/rc.d/init.d/httpd
### The Commands Section
## The USERLST1 users (user1 and user2) can sudo all the commands listed in Cmnd_Alias STORAGE.
## They don't need to enter a password.
USERLST1 ALL=NOPASSWD: STORAGE
## The WEBGROUP users (every user that has 'webadmgp' as a primary or secondary group)
## can sudo all of the commands listed in the NETWORKING an WEBADMIN Cmnd_Alias lists.
## They don't need to enter a password either.
WEBGROUP ALL=NOPASSWD: NETWORKING,WEBADMINWhere things go doesn't seem to be important.
When you save the file, 'visudo' will tell you if you have a syntax error or some inconsistancy.
And be careful if you cut and paste into the file. If you cut a single long line that has wrapped on your screen, it'll paste in as multiple lines. When you file, 'visudo' will complain...
Quote:
user MACHINE=COMMANDS
So if the username is 'eth1' and you want to provide access to the command /sbin/mount to the user then,
Quote:
eth1 ALL=/sbin/mount
Example:
Quote:
username ALL=NOPASSWD: /sbin/fdisk
Find out the path of command using
which fdisk or etc..
Also, You can also split the specifications up using User_Alias and Cmnd_Alias to make it a little easier to organize.
Here is a contrived example for ya'.
Code:
### User Aliases
## This is a list of users that have the ability to sudo the same commands.
User_Alias USERLST1=user1,user2
## This group has the ability to sudo the same commands.
## 'webadmgp' is a primary or secondary group that some of your users have.
User_Alias WEBGROUP=%webadmgp
### Command Aliases
## Storage
Cmnd_Alias STORAGE = /sbin/fdisk, /sbin/sfdisk, /sbin/parted, /sbin/partprobe, /bin/mount, /bin/umount
## Networking
Cmnd_Alias NETWORKING = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm, /usr/bin/wvdial, /sbin/iwconfig, /sbin/mii-tool
## Webadmin
Cmnd_Alias WEBADMIN = /etc/rc.d/init.d/httpd
### The Commands Section
## The USERLST1 users (user1 and user2) can sudo all the commands listed in Cmnd_Alias STORAGE.
## They don't need to enter a password.
USERLST1 ALL=NOPASSWD: STORAGE
## The WEBGROUP users (every user that has 'webadmgp' as a primary or secondary group)
## can sudo all of the commands listed in the NETWORKING an WEBADMIN Cmnd_Alias lists.
## They don't need to enter a password either.
WEBGROUP ALL=NOPASSWD: NETWORKING,WEBADMINWhere things go doesn't seem to be important.
When you save the file, 'visudo' will tell you if you have a syntax error or some inconsistancy.
And be careful if you cut and paste into the file. If you cut a single long line that has wrapped on your screen, it'll paste in as multiple lines. When you file, 'visudo' will complain...
Friday, October 9, 2009
LVM: Deleting LVM Partition
I have a LVM Partitioned in such manner:
[root@ideathon ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
13G 3.4G 8.4G 29% /
/dev/cciss/c0d0p1 190M 15M 166M 8% /boot
none 3.9G 0 3.9G 0% /dev/shm
/dev/mapper/VolGroup00-lvfs
2.0G 65M 1.9G 4% /home/fstop
/dev/mapper/VolGroup00-lvfsrecord
7.9G 158M 7.4G 3% /home/fstop/records
/dev/mapper/VolGroup00-lvfslog
2.0G 44M 1.9G 3% /home/fstop/logs
/dev/mapper/VolGroup00-lvfstomcat
1008M 77M 881M 8% /home/fstop/tomcat
/dev/mapper/VolGroup00-lvmydata
58G 84M 56G 1% /home/fstop/mysql/data
/dev/mapper/VolGroup00-lvmylog
20G 74M 19G 1% /home/fstop/mysql/logs
/dev/mapper/VolGroup00-lvfsarchive
6.0G 45M 5.6G 1% /home/fstop/archive
Now What I want is: How to delete LVM partition?
Solution:
Say, I want to remove the following LVM partition:
/dev/mapper/VolGroup00-lvmydata
58G 84M 56G 1% /home/fstop/mysql/data
So I will follow the following commands:
#umount /home/fstop/mysql/data
It may run successfully but if it shows error like:
Cannot umount: device is busy
Then You need to run fuser command to kill the process held by some other processes.
Just running:
#fuser /home/fstop
/home/fstop: 28406c 28425c 28453c 28479c 28526c 28592c 28644c 28740c
#fuser -ku /home/fstop
Using the above switches you can kill the process which is holding the file and free the file/folders.
Try running df command again:
[root@ideathon ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
13G 3.4G 8.4G 29% /
/dev/cciss/c0d0p1 190M 15M 166M 8% /boot
none 3.9G 0 3.9G 0% /dev/shm
/dev/mapper/VolGroup00-lvfs
2.0G 65M 1.9G 4% /home/fstop
/dev/mapper/VolGroup00-lvfsrecord
7.9G 158M 7.4G 3% /home/fstop/records
/dev/mapper/VolGroup00-lvfslog
2.0G 44M 1.9G 3% /home/fstop/logs
/dev/mapper/VolGroup00-lvfstomcat
1008M 77M 881M 8% /home/fstop/tomcat
/dev/mapper/VolGroup00-lvmylog
20G 74M 19G 1% /home/fstop/mysql/logs
/dev/mapper/VolGroup00-lvfsarchive
6.0G 45M 5.6G 1% /home/fstop/archive
(to be contd..)
[root@ideathon ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
13G 3.4G 8.4G 29% /
/dev/cciss/c0d0p1 190M 15M 166M 8% /boot
none 3.9G 0 3.9G 0% /dev/shm
/dev/mapper/VolGroup00-lvfs
2.0G 65M 1.9G 4% /home/fstop
/dev/mapper/VolGroup00-lvfsrecord
7.9G 158M 7.4G 3% /home/fstop/records
/dev/mapper/VolGroup00-lvfslog
2.0G 44M 1.9G 3% /home/fstop/logs
/dev/mapper/VolGroup00-lvfstomcat
1008M 77M 881M 8% /home/fstop/tomcat
/dev/mapper/VolGroup00-lvmydata
58G 84M 56G 1% /home/fstop/mysql/data
/dev/mapper/VolGroup00-lvmylog
20G 74M 19G 1% /home/fstop/mysql/logs
/dev/mapper/VolGroup00-lvfsarchive
6.0G 45M 5.6G 1% /home/fstop/archive
Now What I want is: How to delete LVM partition?
Solution:
Say, I want to remove the following LVM partition:
/dev/mapper/VolGroup00-lvmydata
58G 84M 56G 1% /home/fstop/mysql/data
So I will follow the following commands:
#umount /home/fstop/mysql/data
It may run successfully but if it shows error like:
Cannot umount: device is busy
Then You need to run fuser command to kill the process held by some other processes.
Just running:
#fuser /home/fstop
/home/fstop: 28406c 28425c 28453c 28479c 28526c 28592c 28644c 28740c
#fuser -ku /home/fstop
Using the above switches you can kill the process which is holding the file and free the file/folders.
Try running df command again:
[root@ideathon ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
13G 3.4G 8.4G 29% /
/dev/cciss/c0d0p1 190M 15M 166M 8% /boot
none 3.9G 0 3.9G 0% /dev/shm
/dev/mapper/VolGroup00-lvfs
2.0G 65M 1.9G 4% /home/fstop
/dev/mapper/VolGroup00-lvfsrecord
7.9G 158M 7.4G 3% /home/fstop/records
/dev/mapper/VolGroup00-lvfslog
2.0G 44M 1.9G 3% /home/fstop/logs
/dev/mapper/VolGroup00-lvfstomcat
1008M 77M 881M 8% /home/fstop/tomcat
/dev/mapper/VolGroup00-lvmylog
20G 74M 19G 1% /home/fstop/mysql/logs
/dev/mapper/VolGroup00-lvfsarchive
6.0G 45M 5.6G 1% /home/fstop/archive
(to be contd..)
Wednesday, October 7, 2009
Apache: Port-Based Virtual Hosts
Problem
You want to present different content for HTTP connections on different ports.
Solution
Explicitly list the port number in the declaration:
Listen 8080
DocumentRoot
Listen 9090
DocumentRoot /www/vhosts/port9090
You want to present different content for HTTP connections on different ports.
Solution
Explicitly list the port number in the
Listen 8080
DocumentRoot
Listen 9090
DocumentRoot /www/vhosts/port9090
Apache:Splitting Up a LogFile
Problem
Because of a large number of virtual hosts, you want to have a single logfile for all of them and split it up afterward.
Solution
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
CustomLog logs/vhost_log vhost
Then, after rotating your logfile:
split-logfile < logs/vhost_log
Because of a large number of virtual hosts, you want to have a single logfile for all of them and split it up afterward.
Solution
LogFormat "%v %h %l %u %t \"%r\" %>s %b" vhost
CustomLog logs/vhost_log vhost
Then, after rotating your logfile:
split-logfile < logs/vhost_log
Saturday, October 3, 2009
Subscribe to:
Posts (Atom)