Tuesday, April 30, 2013

How to force comments on Subversion Commit with Perl hook script

Today i got a requirement from one of our senior developer to force a comments on svn commit.
We are using Subversion in linux.

We have to create a file pre-commit under /{repository-location}/hooks/
 

cd /{repository-location}/hooks/
touch pre-commit
chmod 775 pre-commit

Copy paste the following code in pre-commit file.

#!/usr/bin/perl

# config section
$minchars = 4;
$svnlook = '/usr/bin/svnlook';

#--------------------------------------------
$repos = $ARGV[0];
$txn = $ARGV[1];
$comment = `$svnlook log -t "$txn" "$repos"`;
chomp($comment);

if ( length($comment) == 0 ) {
  print STDERR "A comment is required!";
  exit(1);
  }
elsif ( length($comment) < $minchars ) {
  print STDERR "Comment must be at least $minchars characters.";
  exit(1);
  }

exit(0);

Tuesday, April 23, 2013

Sendmail not stating, some errors

While starting sendmail am getting some errors, and i can't see port 25 is opened.

[root@ip-10-190-51-120 ~]# /etc/init.d/sendmail start
Starting sendmail: -bd is not supported by sSMTP
                                                           [  OK  ]
[root@ip-10-190-51-120 ~]#

Fix: Uninstall ssmtp from the server

[root@ip-10-190-51-120 ~]# rpm -qa | grep ssmtp
ssmtp-2.61-19.el6.x86_64
[root@ip-10-190-51-120 ~]# rpm -e ssmtp-2.61-19.el6.x86_64
warning: /etc/ssmtp/ssmtp.conf saved as /etc/ssmtp/ssmtp.conf.rpmsave
[root@ip-10-190-51-120 ~]# rpm -qa | grep ssmtp
[root@ip-10-190-51-120 ~]#

This helps to solve this issue.

Friday, April 12, 2013

How to create a cron job with URL


Normally we have to give some commands at the end to execute cron jobs in a particular time. Today i need to execute the result of the url in cron job

01 04 * * * wget -O - -q -t 1 http://IP/Apps/Adminemail/admin_report

This helps.

If the site is SSL

wget -O - -q -t 1 https://domain.com/report --no-check-certificate

Monday, March 11, 2013

Yum not working in Oracle Linux

We have a new Oracle Linux 5.8 box. Yum is not working in that box.

[root@oraclelinux129 ~]# yum install compat-db
Loaded plugins: rhnplugin, security
This system is not registered with ULN.
ULN support will be disabled.
Setting up Install Process
No package compat-db available.
Nothing to do

Fix :

cd /etc/yum.repos.d
wget http://public-yum.oracle.com/public-yum-el5.repo
 
I need to edit the repo file to set enabled=1 for the correct 
channel [ol5_u7_base] and then I can install the oracle-validated RPM 
using yum
 
yum install oracle-validated -y
 
 

Sunday, March 3, 2013

badmailfrom

I need to block an email address in Qmailtoaster.(Incomming)

Take a backup of file /var/qmail/control/badmailfrom
If we add

shivinvijai@gmail.com
yahoo.com

Save
(No need to reload cdb)

Qmailserver will block any mail from shivinvijai@gmail.com and it will block any users from domain yahoo.com (user1@yahoo.com,user2@yahoo.com) etc...

Thursday, February 21, 2013

FFMPEG installation on Centos

I installed FFMPEG via. yum.

[root@ip-10-190-51-120 ~]# uname -a
Linux ip-10-190-51-120 2.6.32-279.2.1.el6.centos.plus.x86_64 #1 SMP Thu Jul 19 16:20:44 CDT 2012 x86_64 x86_64 x86_64 GNU/Linux
[root@ip-10-190-51-120 ~]#

[root@ip-10-190-51-120 ~]# cat /etc/redhat-release
CentOS release 6.3 (Final)
[root@ip-10-190-51-120 ~]#

rpm -Uvh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

Installing FFMPEG.

yum install ffmpeg ffmpeg-devel

Install FFMPEG-PHP Extension

FFmpeg-php is a very good extension and wrapper for PHP which can pull useful information about video through API interface. Inorder to install it you will need to download the source file and then compile and install extension in your server.

cd /usr/local/src

wget http://downloads.sourceforge.net/project/ffmpeg-php/ffmpeg-php/0.6.0/ffmpeg-php-0.6.0.tbz2?use_mirror=nchc

tar -xjf ffmpeg-php-0.6.0.tbz2
cd ffmpeg-php-0.6.0.tbz2
phpize
./configure
make
make install

Once you have done that without any problems then you will see the php extension file /usr/local/lib/php/extensions/no-debug-non-zts-20060613/ffmpeg.so and you will need mention that extension in php.ini file.

nano /usr/local/lib/php.ini

Put the below two lines at the end of the php.ini file

[ffmpeg]
extension=ffmpeg.so

Then restart apache using — service httpd restart

If you get an error like this 
/usr/src/ffmpeg-php-0.6.0/ffmpeg_frame.c: In function âzim_ffmpeg_frame_toGDImageâ:
/usr/src/ffmpeg-php-0.6.0/ffmpeg_frame.c:336: error: âPIX_FMT_RGBA32â undeclared (first use in this function)
/usr/src/ffmpeg-php-0.6.0/ffmpeg_frame.c:336: error: (Each undeclared identifier is reported only once
/usr/src/ffmpeg-php-0.6.0/ffmpeg_frame.c:336: error: for each function it appears in.)
/usr/src/ffmpeg-php-0.6.0/ffmpeg_frame.c: In function âzim_ffmpeg_frame_ffmpeg_frameâ:
/usr/src/ffmpeg-php-0.6.0/ffmpeg_frame.c:421: error: âPIX_FMT_RGBA32â undeclared (first use in this function)
make: *** [ffmpeg_frame.lo] Error 1

Under the ffmpeg-php-0.6.0 directory modify the file: ffmpeg_frame.c with nano or vi editor and replace every instance of PIX_FMT_RGBA32 with PIX_FMT_RGB32

# nano ffmpeg_frame.c
# Search for PIX_FMT_RGBA32 and replace it with PIX_FMT_RGB32
# Exit from the editor

Then run the following commands:

# cd /usr/local/src/ffmpeg-php-0.6.0
# cp -aP ffmpeg_frame.loT ffmpeg_frame.lo
# make clean
# ./configure
#   make
#   make install

This should fix the errors given above. Finally add the ffmpeg.so extension in php.ini and check phpinfo for the server you should see ffmpeg listed.


Installing Jira in Centos

Login as root
cd /opt
Download Jira for linux from http://www.atlassian.com/software/jira/download
chmod a+x atlassian-jira.bin
./atlassian-jira
I choose express install

Access URL http://ip:8080
/etc/init.d/jira start
/etc/init.d/jira stop

Then we have to run the wizard

I then created a mysql DB,user and password.
Give necessary permissions.

CREATE DATABASE jiradb CHARACTER SET utf8 COLLATE utf8_bin;
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on <JIRADB>.* TO '<USERNAME>'@'<JIRA_SERVER_HOSTNAME>' IDENTIFIED BY '<PASSWORD>';
flush privileges;

Then we need to copy the mysql JDBC driver to jira
Download the driver from http://dev.mysql.com/downloads/connector/j
Untar the package
cd to that folder
Copy mysql-connector-java-5.x.x-bin.jar to /opt/jira/lib

Stop Jira
Start Jira

Give it as a public site
Give name of the site
Admin user details
Email notification etc.