tag:blogger.com,1999:blog-65585140267452085772024-03-13T08:14:15.211-07:00Linux AdminShrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.comBlogger26125tag:blogger.com,1999:blog-6558514026745208577.post-16052515886975525482010-08-28T02:10:00.000-07:002010-08-31T04:03:53.285-07:00About-MeHey Guys,<br /><br />My self Shrikant Lokhande, from Pune, India.<br /><br />This is my first Technical blog. Here i will post all things related with Linux Administration, E.g. Monitoring, Commands, Shell scripts, Security, ect. <br />Also every post is going through test from me. And i face every issue for the resolution i have spend some time and i will very glad if it work;s for others <br />who also face such type of issue.<br /><br />You'r Always Welcome for Suggestion. Please comment whatever you like or dislike i always to Answer your Question.<br /><br />Thanks-<br />Email Id: lokhande.shrikant@gmail.com<br />Skype: shriikant<br />Mobile no : +91-9373920803Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-9981453976217813352009-12-03T05:50:00.000-08:002009-12-03T06:13:19.413-08:00How To Compile Apache on Linux/Solaris.Download Source from http://httpd.apache.org/download.cgi<br /><br />gunzip httpd-2.2.14.tar.gz<br />tar -xvf httpd-2.2.14.tar<br />---------------------------------------------------<br /> ./configure --prefix=/usr/local/apache2 --with-mpm=worker --disable-cgid --enable-info --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-balancer --enable-rewrite --enable-headers --enable-cache --enable-mem-cache --enable-disk-cache --enable-expires --enable-mods-shared=all --enable-ssl=shared --with-ssl=/usr/local/ssl<br />make<br />make install<br />------------------------------------------------------<br />/usr/local/apache2/bin/apachectl restart<br /><br /><br />Please let me know, if anything i forgot.;)Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-17849690115802347222009-11-16T03:00:00.000-08:002009-11-19T23:15:28.578-08:00WebSite Monitoring Simple .!First of all create one /opt/monitoring.rb and /home/sites.txt <br />-------------------------------------------------------------<br />#!/usr/bin/ruby<br /><br />require 'net/http'<br />require 'net/smtp'<br /><br /><br />File.open("/home/sites.txt").each { |line|<br /> # get rid of CRLF<br /> line.chomp!<br /><br /> next if(line[0..0] == '#' || line.empty?)<br /><br /># url, emails = line.split(' ')<br /># emails = emails.split(",")<br /><br /> url= line.split(' ')<br /><br /> # check if http:// was in the url if not add it in there<br /># url.insert(0, "http://") unless(url.match(/^http\:\/\//))<br /><br /> # Get the HTTP_RESPONSE from the site we are checking<br /> res = Net::HTTP.get_response(URI.parse(url.to_s))<br /><br /> # Check the response code and send an email if the code is bad<br /> unless(res.code =~ /2|3\d{2}/ ) then<br /> from = "shrikant.lokhande@gmail.com"<br /> message = "From: shrikant.lokhande@gmail.com\nSubject: #{url} Unavailable\n\n#{url} - #{res.code} - #{res.message}\nHTTP Version - #{res.http_version}\n\n"<br /> begin<br /> Net::SMTP.start("smtp server",25,"domain name","username","passwd","login") do |smtp|<br /> smtp.send_message(message, from, 'youremail@gmail.com')<br /> end<br /> rescue Exception => e<br /> print "Exception occured: " + e<br /> end<br /> end<br />}<br />-------------------------------------------<br /><br />vi /home/sites.txt<br /><br />http://www.website.com<br />-------------------------------------------<br /><br />Add script in cron like :<br />* * * * * ruby /opt/monitoring.rb<br /><br />from another server or same server. but prefer from another server. configure SMTP and add your email id in the script for alert.<br /><br />Thats it.!Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-4020857831563699522009-11-09T04:29:00.000-08:002009-11-19T23:15:28.588-08:00Script for Mysql Backup on Linux.#!/bin/bash<br /># USER VARIABLES<br />TIMESTAMP=$(date +%Y-%m-%d)<br />MYSQLUSER=root<br />MYSQLPWD=passwd<br />MYSQLHOST=localhost<br /># PATH VARIABLES<br />MK=/bin/mkdir<br />GREP=/bin/grep<br />MYSQL=/usr/bin/mysql<br />MYSQLDUMP=/usr/bin/mysqldump<br /># CREATE MYSQL BACKUP<br /># Create new backup dir<br />$MK /backup/mysqlbackup/mysqlback_$TIMESTAMP<br />#Dump new files<br />for i in $(echo 'SHOW DATABASES;' | $MYSQL -u$MYSQLUSER -p$MYSQLPWD -h$MYSQLHOST|$GREP -v '^Database$'); do<br />run $MYSQLDUMP -u$MYSQLUSER -p$MYSQLPWD -h$MYSQLHOST $i >/backup/mysqlbackup/mysqlback_$TIMESTAMP/$i.sql<br />echo "$i"<br />done<br /><br />------------------------------<br />run this script in cron like<br />* 1 * * * /usr/bin/mysqlbackupShrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-5178152152316523212009-10-20T07:36:00.000-07:002009-11-19T23:15:28.598-08:00Mysql Master-Slave ReplicationMaster server ip: 10.0.0.1<br />Slave server ip: 10.0.0.2<br />Slave username: repl<br />Slave pw: replpasswd<br />Your data directory is: /usr/local/mysql/data<br /><br /><br />-----------------------Master Server-----------------------<br /># Here follows entries for some specific programs<br /><br /># The MySQL server<br />[mysqld]<br />port = 3306<br />socket = /tmp/mysql.sock<br />skip-locking<br />key_buffer_size = 256M<br />max_allowed_packet = 1M<br />table_open_cache = 256<br />sort_buffer_size = 1M<br />read_buffer_size = 1M<br />read_rnd_buffer_size = 4M<br />myisam_sort_buffer_size = 64M<br />thread_cache_size = 8<br />query_cache_size= 16M<br /># Try number of CPU's*2 for thread_concurrency<br />thread_concurrency = 8<br /><br /># Replication Master Server (default)<br /># binary logging is required for replication<br />log-bin=mysql-bin<br /><br /><br /># Uncomment the following if you are using InnoDB tables<br />innodb_data_home_dir = /usr/local/mysql/data/<br />innodb_data_file_path = ibdata1:10M:autoextend<br />innodb_log_group_home_dir = /usr/local/mysql/data/<br /># You can set .._buffer_pool_size up to 50 - 80 %<br /># of RAM but beware of setting memory usage too high<br />innodb_buffer_pool_size = 256M<br />innodb_additional_mem_pool_size = 20M<br /># Set .._log_file_size to 25 % of buffer pool size<br />innodb_log_file_size = 64M<br />innodb_log_buffer_size = 8M<br />innodb_flush_log_at_trx_commit = 1<br />innodb_lock_wait_timeout = 50<br /><br /># changes made to do slave<br /><br />server-id = 1<br />relay-log = /usr/local/mysql/data/mysql-relay-bin<br />relay-log-index = /usr/local/mysql/data/mysql-relay-bin.index<br />log-error = /usr/local/mysql/data/mysql.err<br />master-info-file = /usr/local/mysql/data/mysql-master.info<br />relay-log-info-file = /usr/local/mysql/data/mysql-relay-log.info<br />datadir = /usr/local/mysql/data<br />log-bin = /usr/local/mysql/data/mysql-bin<br /><br /><br />#binlog_do_db =f4pforalpha<br /><br /><br /># end master<br /><br />[mysqldump]<br />quick<br />max_allowed_packet = 16M<br /><br />[mysql]<br />no-auto-rehash<br /># Remove the next comment character if you are not familiar with SQL<br />#safe-updates<br /><br />[myisamchk]<br />key_buffer_size = 128M<br />sort_buffer_size = 128M<br />read_buffer = 2M<br />write_buffer = 2M<br /><br />[mysqlhotcopy]<br />interactive-timeout<br />--------------------------------------------------------------------------------<br /><br />***********Slave server*******************<br /># Here follows entries for some specific programs<br /><br /># The MySQL server<br />[mysqld]<br />port = 3306<br />socket = /tmp/mysql.sock<br />skip-locking<br />key_buffer_size = 256M<br />max_allowed_packet = 1M<br />table_open_cache = 256<br />sort_buffer_size = 1M<br />read_buffer_size = 1M<br />read_rnd_buffer_size = 4M<br />myisam_sort_buffer_size = 64M<br />thread_cache_size = 8<br />query_cache_size= 16M<br /># Try number of CPU's*2 for thread_concurrency<br />thread_concurrency = 8<br /><br />slave-net-timeout = 30<br />master-connect-retry = 30<br /><br /># Uncomment the following if you are using InnoDB tables<br />innodb_data_home_dir = /usr/local/mysql/data/<br />innodb_data_file_path = ibdata1:10M:autoextend<br />innodb_log_group_home_dir = /usr/local/mysql/data/<br /># You can set .._buffer_pool_size up to 50 - 80 %<br /># of RAM but beware of setting memory usage too high<br />innodb_buffer_pool_size = 256M<br />innodb_additional_mem_pool_size = 20M<br /># Set .._log_file_size to 25 % of buffer pool size<br />innodb_log_file_size = 64M<br />innodb_log_buffer_size = 8M<br />innodb_flush_log_at_trx_commit = 1<br />innodb_lock_wait_timeout = 50<br /><br /><br /># changes made to do slave<br />server-id = 2<br />relay-log = /usr/local/mysql/data/mysql-relay-bin<br />relay-log-index = /usr/local/mysql/data/mysql-relay-bin.index<br />log-error = /usr/local/mysql/data/mysql.err<br />master-info-file = /usr/local/mysql/data/mysql-master.info<br />relay-log-info-file = /usr/local/mysql/data/mysql-relay-log.info<br />datadir = /usr/local/mysql/data<br /># end slave setup<br /><br /># end slave<br /><br />[mysqldump]<br />quick<br />max_allowed_packet = 16M<br /><br />[mysql]<br />no-auto-rehash<br /># Remove the next comment character if you are not familiar with SQL<br />#safe-updates<br /><br />[myisamchk]<br />key_buffer_size = 128M<br />sort_buffer_size = 128M<br />read_buffer = 2M<br />write_buffer = 2M<br /><br />[mysqlhotcopy]<br />interactive-timeout<br />---------------------------------------------------------------------------<br /><br />Create user on master:<br />GRANT REPLICATION SLAVE ON *.* TO 'repl'@'10.0.0.2' IDENTIFIED BY 'replpass';<br />FLUSH TABLES WITH READ LOCK;<br />mysqldump -u root --all-databases --single-transaction --master-data=1 > masterdump.sql<br />rsync -avz -e ssh /opt/dbdump123.db root@10.0.0.2:/opt<br />mysql < masterdump.sql<br />Login to Slave Server.<br />CHANGE MASTER TO MASTER_HOST='10.0.0.1', MASTER_USER='repl', MASTER_PASSWORD='replpass';<br />mysql> start slave;<br />mysql> show slave status\G<br /><br />Its Looks Like.<br /><br /><br />mysql> show slave status\G<br />*************************** 1. row ***************************<br /> Slave_IO_State: Waiting for master to send event<br /> Master_Host: 10.0.0.1<br /> Master_User: repl<br /> Master_Port: 3306<br /> Connect_Retry: 30<br /> Master_Log_File: mysql-bin.000014<br /> Read_Master_Log_Pos: 199<br /> Relay_Log_File: mysql-relay-bin.000242<br /> Relay_Log_Pos: 251<br /> Relay_Master_Log_File: mysql-bin.000014<br /> Slave_IO_Running: Yes<br /> Slave_SQL_Running: Yes<br /> Replicate_Do_DB:<br /> Replicate_Ignore_DB:<br /> Replicate_Do_Table:<br /> Replicate_Ignore_Table:<br /> Replicate_Wild_Do_Table:<br /> Replicate_Wild_Ignore_Table:<br /> Last_Errno: 0<br /> Last_Error:<br /> Skip_Counter: 0<br /> Exec_Master_Log_Pos: 199<br /> Relay_Log_Space: 551<br /> Until_Condition: None<br /> Until_Log_File:<br /> Until_Log_Pos: 0<br /> Master_SSL_Allowed: No<br /> Master_SSL_CA_File:<br /> Master_SSL_CA_Path:<br /> Master_SSL_Cert:<br /> Master_SSL_Cipher:<br /> Master_SSL_Key:<br /> Seconds_Behind_Master: 0<br />Master_SSL_Verify_Server_Cert: No<br /> Last_IO_Errno: 0<br /> Last_IO_Error:<br /> Last_SQL_Errno: 0<br /> Last_SQL_Error:<br />1 row in set (0.00 sec)<br /><br /><br />---------------------------------------------------<br /><br />SHOW MASTER STATUS;<br /><br />mysql> SHOW MASTER STATUS\G;<br />*************************** 1. row ***************************<br /> File: mysql-bin.000014<br /> Position: 199<br /> Binlog_Do_DB:<br />Binlog_Ignore_DB:<br />1 row in set (0.00 sec)<br /><br />ERROR:<br />No query specified<br /><br />---------------------------------------------------------Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-31843577983553843092009-10-16T03:15:00.000-07:002009-11-19T23:15:28.607-08:00Cpanel/WHM DocumentationHi All,<br /><br />You may find good documentation of cPanel/WHM installation and configuration.<br /><br />http://twiki.cpanel.net/twiki/bin/view/AllDocumentation/WebHome<br /><br />Enjoy- ;)Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-88423812721583527522009-09-21T07:45:00.000-07:002009-11-19T23:15:28.630-08:00Shrikant Lokhande's blog | Found on IndiBlogger.in<p>I want you to take a look at: <a href="http://gotaf.socialtwist.com/redirect?l=767861162521450046521">Shrikant Lokhande's blog</a></p><p>It's on <a href="http://gotaf.socialtwist.com/redirect?l=767861162521450046522">IndiBlogger.in</a>, the largest, coolest and most active community of Indian bloggers!</p>Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-41388502575053330632009-09-06T05:35:00.000-07:002009-11-19T23:15:28.640-08:00How to change MTA on Centos5.3(RHEL based server)Here you can see, how to change MTA qmail to any other you can set as simple sendmail or postfix, exim or qmail.<br /><br />[root@hostshot ~]#ll /etc/alternatives/mta<br />lrwxrwxrwx 1 root root 23 Aug 31 03:39 /etc/alternatives/mta -> /var/qmail/bin/sendmail<br /><br /><br />[root@hotshot ~]# alternatives --config mta<br /><br />There are 4 programs which provide 'mta'.<br /><br /> Selection Command<br />-----------------------------------------------<br />*+ 1 /var/qmail/bin/sendmail<br /> 2 /usr/sbin/sendmail.exim<br /> 3 /usr/sbin/sendmail.postfix<br /> 4 /usr/sbin/sendmail.sendmail<br /><br />Enter to keep the current selection[+], or type selection number: 2<br /><br />[root@vh115sj ~]# /etc/init.d/qmail stop<br />Stopping : [root@hotshot ~]# /etc/init.d/exim restart<br />Shutting down exim: [ OK ]<br />Starting exim: [ OK ]<br /><br />[root@hotshot ~]# echo " for shrikant " | mail -s " for shrikant " shrikant.lokhande@betterlabs.net<br /><br />;) Its done. Please comment if any issue.Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-42875832455196251532009-08-20T07:20:00.000-07:002009-11-19T23:15:28.648-08:00Problem with installation of gem mechanize nokogiri rfeedparserIf the issue is with installtion of :<br />gem install mechanize <br /><br /><br />Following package needs:<br />yum install expat<br />yum install libexpat<br />yum install libxml2-devel<br />yum install libxml<br />yum install libxml-devel<br />yum install libxslt libxslt-dev<br />yum install libxslt-devel<br /><br />cd /usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.3.3<br />ruby ext/nokogiri/extconf.rb<br />make <br />make install<br /><br />Or just do "gem install mechanize"<br /><br />----------------------------------------------------------------------<br />gem install rfeedparser<br /><br />Building native extensions. This could take a while...<br />ERROR: Error installing rfeedparser:<br /> ERROR: Failed to build gem native extension.<br /><br />/usr/local/bin/ruby extconf.rb<br />checking for main() in -lc... yes<br />creating Makefile<br /><br />make<br />gcc -I. -I/usr/local/include/ruby-1.9.1/i686-linux -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_FILE_OFFSET_BITS=64 -fPIC -O2 -g -Wall -Wno-parentheses -o hpricot_scan.o -c hpricot_scan.c<br />ext/hpricot_scan/hpricot_scan.rl: In function ‘hpricot_scan’:<br />ext/hpricot_scan/hpricot_scan.rl:172: error: ‘struct RString’ has no member named ‘ptr’<br />ext/hpricot_scan/hpricot_scan.rl:185: error: ‘struct RString’ has no member named ‘ptr’<br />ext/hpricot_scan/hpricot_scan.rl:185: error: ‘struct RString’ has no member named ‘len’<br />ext/hpricot_scan/hpricot_scan.rl:186: error: ‘struct RString’ has no member named ‘len’<br />ext/hpricot_scan/hpricot_scan.rl:202: error: ‘struct RString’ has no member named ‘ptr’<br />make: *** [hpricot_scan.o] Error 1<br /><br /><br />Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/hpricot-0.6 for inspection.<br />Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/hpricot-0.6/ext/hpricot_scan/gem_make.out<br /><br /><span style="font-weight:bold;">Resolution:</span><br />Need Above all yum packages installed.<br /><br />http://www.yoshidam.net/xmlparser-0.6.8.tar.gz<br />cd xmlparser/<br />ruby extconf.rb<br />checking for expat.h... yes<br />checking for XML_ParserCreate() in -lexpat... yes<br />checking for XML_SetNotStandaloneHandler()... yes<br />checking for XML_SetParamEntityParsing()... yes<br />checking for XML_SetDoctypeDeclHandler()... yes<br />checking for XML_ParserReset()... yes<br />checking for XML_SetSkippedEntityHandler()... yes<br />checking for XML_GetFeatureList()... yes<br />checking for XML_UseForeignDTD()... yes<br />checking for XML_GetIdAttributeIndex()... yes<br />checking for ntohl() in -lsocket... no<br />creating Makefile<br /><br />make && make install<br /><br />root@localhost xmlparser]# gem install rfeedparser<br />Successfully installed rfeedparser-0.9.951<br />1 gem installed<br />[root@localhost xmlparser]# <br /><br />rock na.! if any issue, write to lokahnde.shrikant@gmail.comShrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-36903215087333534242009-08-20T06:39:00.000-07:002009-11-19T23:15:28.657-08:00How to "gem install mysql" ?If you trying to install mysql gem, and you are not able to install. <br />-----------------------------------------------------<br />gem install mysql<br />Building native extensions. This could take a while...<br />ERROR: Error installing mysql:<br /> ERROR: Failed to build gem native extension.<br /><br />/usr/local/bin/ruby extconf.rb install mysql<br />checking for mysql_query() in -lmysqlclient... no<br />checking for main() in -lm... yes<br />checking for mysql_query() in -lmysqlclient... no<br />checking for main() in -lz... yes<br />checking for mysql_query() in -lmysqlclient... no<br />checking for main() in -lsocket... no<br />checking for mysql_query() in -lmysqlclient... no<br />checking for main() in -lnsl... yes<br />checking for mysql_query() in -lmysqlclient... no<br />-----------------------------------------------------<br /><span style="font-weight:bold;"><br />Resolution :</span><br /><br />cd /usr/local/lib/ruby/gems/1.8/gems/mysql-2.7/ && ruby extconf.rb --with-mysql-config --with-mysql-include<br /><br />o/p: <br />checking for mysql_ssl_set()... yes<br />checking for mysql.h... yes<br />creating Makefile<br /><span style="font-weight:bold;">[root@localhost:/usr/local/lib/ruby/gems/1.8/gems/mysql-2.7]</span> make<br />gcc -I. -I. -I/usr/local/lib/ruby/1.8/x86_64-linux -I. -DHAVE_MYSQL_SSL_SET -DHAVE_MYSQL_H -I/usr/include/mysql -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC -g -O2 -c mysql.c<br />gcc -shared -o mysql.so mysql.o -L. -L/usr/local/lib -Wl,-R/usr/local/lib -L. -rdynamic -Wl,-export-dynamic -L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto -ldl -lcrypt -lm -lc<br /><br /> make install<br />o/p:/usr/bin/install -c -m 0755 mysql.so /usr/local/lib/ruby/site_ruby/1.8/x86_64-linux<br /><span style="font-weight:bold;"><br />[root@localhost rails</span>]# irb<br /><br />irb(main):001:0> require 'rubygems'<br />=> true<br />irb(main):002:0> require 'mysql'<br />=> true<br />irb(main):003:0> quit<br /><br />Cool Done.! It may possible that mysql gem is not in gem list.Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-21326045490928006602009-08-14T01:50:00.000-07:002009-11-19T23:15:28.669-08:00How to set sphinx.yml for Thinking-Sphinx (full text indexer)?----------------------------------------------------------------------<br />vi config/sphinx.yml<br /><br />production:<br /> port: 3312<br /> address: 127.0.0.1<br /> mem_limit: 512M<br /> max_children: 300<br /> max_matches: 100000<br /> seamless_rotate: 1<br /> preopen_indexes: 1<br /> query_log_file: /mnt/app/rails/releases/code/log/searchd.query.log<br /> searchd_log_file: /mnt/app/rails/releases/code/log/searchd.log<br /> pid_file: /mnt/app/crawler/rails/code/log/searchd.production.pid<br /> searchd_file_path: /mnt/app/rails/current/db/sphinx/production/<br /><br />-----------------------------------------------------------------------<br /><br />It is for Production mode, you can set same for development or staging mode just to change environment.Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-88214969298776607152009-08-14T01:43:00.000-07:002009-11-19T23:15:28.680-08:00Access remote mysql database.Grant all databases remotely to given IP address: <br /><span style="font-weight:bold;"><br />GRANT ALL ON *.* TO root@'164.19.212.15' IDENTIFIED BY 'passwd';</span><br /><br />If you want to Particular IP address :<br /><br /><span style="font-weight:bold;">GRANT ALL ON india.* TO root@'164.19.212.15' IDENTIFIED BY 'passwd';</span>Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-4527796154513371092009-08-10T06:40:00.000-07:002009-11-19T23:15:28.687-08:00Create Session table in (RoR) Ruby on Rails .!CREATE TABLE `sessions` (<br /> `id` int(11) NOT NULL auto_increment,<br /> `session_id` varchar(255) default NULL,<br /> `data` varchar(255) default NULL,<br /> `updated_at` datetime default NULL,<br /> `created_at` datetime default NULL,<br /> PRIMARY KEY (`id`)<br />) ENGINE=InnoDB DEFAULT CHARSET=utf8;<br /><br /><br />To change Session cookie to Active records do following setting:<br />cat config/initializers/session_store.rb<br /><br />* un-comment line <br />ActionController::Base.session_store = :active_record_storeShrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-58539868227954614412009-08-04T08:03:00.000-07:002009-11-19T23:15:28.698-08:00MySQL Backups using LVM snapshotslvcreate -L40G -s -n dbbackup /dev/VolGroup00/LogVol03<br /><br /><br />lvm> lvremove /dev/VolGroup00/dbbackup<br />Do you really want to remove active logical volume "dbbackup"? [y/n]: <br /><br />----------------------------------------------------------------------------<br /><br />Stapes to Install and configure LVM.<br /> fdisk -l<br /> fdisk /dev/hdb<br /> :p to print partition<br /> :n to Extend partition<br /><br />:e<br />Last cylender _______ enter<br /><br />:n to new partition<br /><br />Last cylender : +10G<br /><br />Again create +10G partition<br />:n<br />choose: e<br />Last cylender :+10G<br /><br />Command:l for list.<br /><br />---------------------------<br />Command: t<br />partition number : 5<br />hexadecimal number: 8e<br /><br />again create: <br />command: t<br />partition number: 6<br />hexadecimal number: 8e<br />command: w to save.<br />-------------------------<br /># partprobe<br /><br />take hdb drive and make two partition if you want 1 is ok.<br /><br />pvcreate /dev/hdb1 /dev/hdb2<br />vgcreate test1 /dev/hdb1<br /><br />mkdir /mnt/Backup_disk/snap0 or <br />mkdir /snap0<br /><br />lvcreate -L1000M -s -n /mnt/Backup_disk/snap0 /dev/test1/data<br /><br />mount /dev/test1/data /mnt/Backup_disk/snap0<br />or <br />mount /dev/test1/snap0 /snap0 dependupmon path you can mount any where in disk just<br /><br /><br />mysql -uroot -p passwd > FLUSH TABLES WITH READ LOCK<br /><br />create TAR <br />tar -cvf /mnt/Backup_disk/snap0/mysql`date +%Y%m%d%H`.tar /var/lib/mysql/<br /><br />login to you mysql<br />and <br />mysql > UNLOCK TABLES;<br /><br />cd /snap0<br />ls mysql2009080419.tar<br /><br />tar -xvf mysql2009080419.tar <br /><br />this is your hot backup.<br /><br />Now you can umount LVM <br />root@localhost ~]# umount /mnt/Backup_disk/snap0<br /><br /><br />Check with command: lvdisplay<br /><br /> --- Logical volume ---<br /> LV Name /dev/test1/snap0<br /> VG Name test1<br /> LV UUID ZCYdo5-RinV-EJ4L-03Tq-Snk1-i1Qt-pkQG1X<br /> LV Write Access read/write<br /> LV snapshot status active destination for /dev/test1/data<br /> LV Status available<br /> # open 0<br /> LV Size 1.00 GB<br /> Current LE 256<br /> COW-table size 1000.00 MB<br /> COW-table LE 250<br /> Allocated to snapshot 0.01%<br /> Snapshot chunk size 8.00 KB<br /> Segments 1<br /> Allocation inherit<br /> Read ahead sectors 0<br /> Block device 253:3<br /><br /><br />[root@localhost ~]# lvremove /dev/test1/snap0<br />Do you really want to remove active logical volume "snap0"? [y/n]: y<br /> Logical volume "snap0" successfully removed<br /><br />Whenerver you want just crete LVM useing this command:<br /><br />lvcreate -L1000M -s -n /mnt/Backup_disk/snap0 /dev/test1/data<br /><br />and mount same process.Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-58348340414848195092009-08-01T04:42:00.000-07:002009-11-19T23:15:28.713-08:00Ruby On Rails : "God Monitoring With backgroundrb".vi config/backgroundrb.god<br />#--------------------------------------------------------------<br />#run on command line with 'god -c backgroundrb.god -D'<br /> RAILS_ROOT = '/mnt/app/application/current'<br /> #load required rails and backgroundrb files<br /> require File.dirname(__FILE__) + '/boot'<br /> require File.dirname(__FILE__) + '/environment'<br /> require 'erb'<br /> $LOAD_PATH << "#{RAILS_ROOT}/vendor/plugins/backgroundrb/lib"<br /> require "#{RAILS_ROOT}/vendor/plugins/backgroundrb/lib/backgroundrb.rb"<br /><br />#create custom condition for checking that QueryProcessingWorker is running<br /># MiddleMan = BackgrounDRb::ClusterConnection.new<br /> module God<br /> module Conditions<br /> class Backgroundrb < PollCondition<br /> def initialize; super; end<br /> def valid?; true; end<br /><br /> def test<br /> begin<br /> queue_worker = MiddleMan.all_worker_info.values.flatten.select { |w| :queue_processing_worker == w[:worker] }<br /> queue_worker.empty?<br /> rescue #if all_worker_info raises exception, then bdrb isn't running and we were unable to connect<br /> true<br /> end<br /> end<br /> end<br /> end<br /> end<br />God::Contacts::Email.message_settings ={<br /> :from => 'shrii@gmail.com'<br /> }<br /><br /><br />God::Contacts::Email.server_settings = {<br /> :address => "Ipaddress_of mail server",<br /> :port => 25,<br /> :domain => "Ipaddress_of mail server",<br /> :user_name => "user",<br /> :password => "passwd",<br /> :authentication => :login<br />}<br /><br /><br />God.contact(:email) do |c|<br />c.name = 'Username'<br />c.email = 'shrikant@gmail.com'<br />end<br /> God.watch do |w|<br /> w.name = 'backgroundrb'<br /> w.interval = 1.minute<br /> w.restart = "cd #{RAILS_ROOT} && /usr/local/bin/ruby script/backgroundrb stop && /usr/local/bin/ruby script/backgroundrb -e production start"<br /> w.stop = "cd #{RAILS_ROOT} && /usr/local/bin/ruby script/backgroundrb stop"<br /> w.start = "cd #{RAILS_ROOT} && /usr/local/bin/ruby script/backgroundrb -e production start"<br /> w.grace = 1.minute<br /> w.pid_file = "#{RAILS_ROOT}/tmp/pids/backgroundrb_11006.pid"<br /> w.start_if do |start|<br /> start.condition(:process_running) do |c|<br /> c.running = false<br /> c.notify = "username"<br /> end<br /> end<br />w.restart_if do |restart|<br /> restart.condition(:cpu_usage) do |c|<br /> c.above = 70.percent<br /> c.times = [3,5]<br /> c.notify = "username"<br />end<br />end<br />end<br /><br />#----------------------------------------------------------<br /><br />* To Start God. in RAILS_ROOT<br /><br />god -c config/backgroundrb.god<br /><br />* To Check Prosess id of GOD:<br /><br />ps -aufx| grep god<br /><br />Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ<br />root 11219 0.0 0.0 60260 732 ttyp1 S+ 07:48 0:00 \_ grep god<br />root 26944 0.2 0.3 163240 61476 ttyp0 S 07:14 0:05 /usr/local/bin/ruby /usr/local/bin/god -c config/backgroundrb.god<br /><br />Thats It.. Please let me know if there is any issue.Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com1tag:blogger.com,1999:blog-6558514026745208577.post-68953329841862732752009-07-31T04:01:00.000-07:002009-11-19T23:15:28.725-08:00(98)Address already in use: make_sock: could not bind to address [::]:8000 (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80If You facing Problem: <br />(98)Address already in use: make_sock: could not bind to address [::]:8000<br />(98)Address already in use: make_sock: could not bind to address 0.0.0.0:8000<br />no listening sockets available, shutting down<br /><br />Fix as follows :<br /><br />netstat -tulpn| grep :80<br />tcp 0 0 0.0.0.0:8028 0.0.0.0:* LISTEN 5476/(squid)<br />tcp 0 0 :::80 :::* LISTEN 5474/squid<br /><br />It means 80 port running for Squid service. Solution is Stop squid service.<br /><br />killall -9 squid<br /><br />and restart Apache/httpd<br /><br />/etc/init.d/httpd restart<br /> <br />Cool Enjoy... if issue ping to me. ;)Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com2tag:blogger.com,1999:blog-6558514026745208577.post-71004539878103238862009-07-29T00:55:00.000-07:002009-11-19T23:15:28.734-08:00How To Read File In .gz Format.Just Use This commands:<br />---------------------------------------------------<br /><span style="font-weight:bold;">zcat maillog.1.gz | less<br /><br />zcat maillog.1.gz | grep '@yahoo.co'</span><br /><br />---------------------------------------------------Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-29705338908084024962009-07-28T03:11:00.000-07:002009-11-19T23:15:28.615-08:00Postfix installation on CentOs 5.3.yum install postfix<br /><br /><br />* then change default main.cnf to main.cnf.Bak, your config file as follows: /etc/postfix/main.cf<br />---------------------------------------------------------------------------<br />myhostname = mail.example.com<br />mydomain = mail.example.com<br />myorigin = $mydomain<br /><br />smtpd_banner = $myhostname ESMTP $mail_name<br />biff = no<br />append_dot_mydomain = yes<br /><br />alias_maps = hash:/etc/aliases<br />alias_database = hash:/etc/aliases<br />mydestination = localdomain, localhost, localhost.localdomain, localhost.$mydomain, $mydomain<br />mynetworks = 202.78.56.89, 127.0.0.1, 127.0.0.0/8<br />mailbox_size_limit = 0<br />recipient_delimiter = +<br /><br /># SECURITY NOTE: Listening on all interfaces. Make sure your firewall is<br /># configured correctly<br />inet_interfaces = all<br /><br />smtp_sasl_auth_enable = yes<br />smtpd_sasl_auth_enable = yes<br />smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd<br />smtpd_sasl_security_options = noanonymous<br />smtpd_sasl_authenticated_header = yes<br />smtpd_sasl_local_domain = $myhostname<br />broken_sasl_auth_clients = yes<br />smtpd_recipient_restrictions =<br /> permit_sasl_authenticated,<br /> permit_mynetworks,<br /> check_relay_domains<br />default_destination_concurrency_limit = 4<br /><br />smtpd_enforce_tls = no<br />smtpd_tls_loglevel = 1<br />smtpd_use_tls = no<br /><br />soft_bounce = yes<br />bounce_template_file = /etc/postfix/bounce.cf<br /><br />readme_directory = no<br />sample_directory = /etc/postfix<br />sendmail_path = /usr/sbin/sendmail<br />html_directory = no<br />setgid_group = postdrop<br />command_directory = /usr/sbin<br />manpage_directory = /usr/local/man<br />daemon_directory = /usr/libexec/postfix<br />newaliases_path = /usr/bin/newaliases<br />mailq_path = /usr/bin/mailq<br />queue_directory = /var/spool/postfix<br />mail_owner = postfix<br />----------------------------------------------------------------------<br /><br />* Create file /etc/postfix/sasl_passwd host username:passwd <br /><br />cat /etc/postfix/sasl_passwd<br />202.78.56.89 shrii:shrii<br /><br />then <br /><br />chmod 600 /etc/postfix/sasl_passwd<br />[root@localhost postfix]# ll /etc/postfix/sasl_passwd<br />-rw------- 1 root root 38 Jul 28 12:54 /etc/postfix/sasl_passwd<br /><br />Imp stapes: <br /><br />postmap hash:/etc/postfix/sasl_passwd<br /><br />restart services :<br />[root@localhost postfix]# /etc/init.d/saslauthd restart<br />Stopping saslauthd: [ OK ]<br />Starting saslauthd: [ OK ]<br />[root@localhost postfix]# /etc/init.d/postfix restart<br />Shutting down postfix: [ OK ]<br />Starting postfix: [ OK ]<br /><br />* If issue is :<br /><br />[root@d]# testsaslauthd -u gimpif -p fbetter<br />0: NO "authentication failed"<br /><br />* Do<br /><br /><br />[root@d] yum install imapd imap dovecot cyrus-imapd cyrus-imapd-perl cyrus-imapd-utils db4-utils libsysfs lm_sensors net-snmp-libs perl<br /><br />yum install courier-imap<br /> <br /><br />Fixed.<br />testsaslauthd -umail -ppasswd<br />0: OK "Success."<br /><br />Let us check mails.<br /><br />Test Mail from server:<br />echo "hi" | mail -s " test from local" youremail@domain.comShrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-37213499214776777962009-07-28T02:12:00.000-07:002009-11-19T23:15:28.743-08:00ezcrypto segmentation fault error (Rails 2.3.2)There is dependency of openssl version for ezcrypto gem, fix as follows.<br />=======================<br />gem install ezcrypto <br /><br />gem list <br />==><br />*** LOCAL GEMS ***<br /><br />ezcrypto (0.7.2)<br /><br />*Check openssh Version.!<br /><br />rpm -q openssl-devel openssl<br />openssl-devel-0.9.8b-10.el5<br />openssl-devel-0.9.8e-7.el5<br />openssl-0.9.8b-10.el5<br />openssl-0.9.8e-7.el5<br /><br />* if found openssl-devel-0.9.8b-10.el5 and openssl-0.9.8b-10.el5. Please remove from repository.<br />Using this command.<br /><br />rpm -e openssl-devel-0.9.8b-10.el5 openssl-0.9.8b-10.el5<br /><br />*If not present install this package.<br />rpm -ivh --force /var/cache/yum/base/packages/openssl-0.9.8e-7.el5.i386.rpm<br />rpm -ivh --force /var/cache/yum/base/packages/openssl-devel-0.9.8e-7.el5.i386.rpm<br /><br />* if not found in package in /var/cache/yum/base/packages/ then download from <br />http://mirror.centos.org/centos-5/5.3/os/i386/CentOS/ and copy in /var/cache/yum/base/packages/<br />and install again.<br /><br />* check the package and version.<br /><br />rpm -q openssl-devel openssl<br />openssl-devel-0.9.8e-7.el5<br />openssl-0.9.8e-7.el5<br /><br /><br />Thanks- Now Its Fixed.Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-7226487799920302202009-07-21T02:34:00.000-07:002009-11-19T23:15:28.758-08:00To View Only Directory Listing In Current Path.Just do.<br /><span style="font-weight:bold;">================<br />ls -ld */<br /><br />================</span>Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-68018658366117010392009-07-20T07:11:00.000-07:002009-11-19T23:15:28.775-08:00When PHP code showing on your Site (mod_php).If you compile apache but php is not Support, Here are the relevant lines from my httpd.conf file<br /><br /><span style="font-weight:bold;"><IfModule mod_php5.c><br />AddType application/x-httpd-php .php .php4 .php3<br />AddType application/x-httpd-php-source .phps<br /></IfModule><br /><IfModule mod_php4.c><br /> AddType application/x-httpd-php .php4 .php3 .phtml .php<br /> AddType application/x-httpd-php-source .phps<br /></IfModule><br /> The following is for PHP3:<br /><IfModule mod_php3.c><br /> AddType application/x-httpd-php3 .php3<br /> AddType application/x-httpd-php3-source .phps<br /></IfModule><br /> The following is for PHP/FI (PHP2):<br /><IfModule mod_php.c><br /> AddType application/x-httpd-php .phtml<br /></IfModule> </span>Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-45156719168582212622009-07-19T23:59:00.000-07:002009-11-19T23:15:28.766-08:00How to login in a remote server using SSH and no password ?Just use Two commands.<br /><span style="font-weight:bold;">=====================================<br />ssh-keygen -t rsa<br />ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.0 <br />=====================================</span><br /><br />Simplest Way for Backup, Samba server, rsync and many more if you use.Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-14088157977141502612009-07-19T23:48:00.000-07:002009-11-19T23:15:28.784-08:00<object width="460" height="440"><param name="movie" value="http://www.youtube.com/v/0mm5py_LmRo&hl=en&fs=1&"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/0mm5py_LmRo&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="460" height="440"></embed></object>Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-19905140801584435432009-07-15T04:39:00.000-07:002009-11-19T23:15:28.794-08:00Perlbal Configure Example.--------------------------------------------------------------------<br />LOAD vhosts<br />LOAD vpaths<br />LOAD AccessControl<br />Load palimg<br />Load AccessControl<br /><br />#SERVER aio_mode = ioaio<br /><br />CREATE POOL poolserver1<br /> POOL poolserver1 ADD 0.0.0.0:7200<br /> POOL poolserver1 ADD 0.0.0.0:7201<br /> POOL poolserver1 ADD 0.0.0.0:7202<br /> POOL poolserver1 ADD 0.0.0.0:7203<br /><br />CREATE SERVICE site<br /> # NOTE: SSL mode only works for reverse_proxy, not for webserver.<br /> # http://lists.danga.com/pipermail/perlbal/2008-April/000916.html<br /> SET role = reverse_proxy<br /> SET pool = poolserver1<br /> SET listen = 0.0.0.0:443<br /> SET persist_client = on<br /> SET max_backend_uses = 10<br /> SET backend_persist_cache = 2<br /> SET persist_backend = on<br /> SET verify_backend = on<br /> SET balance_method = random<br /> SET enable_ssl = on<br /> SET ssl_key_file = /etc/perlbal/certs/server-key.pem<br /> SET ssl_cert_file = /etc/perlbal/certs/server-cert.pem<br /><br /> # optionally set the cipher list. the default is "ALL:!LOW:!EXP"<br /> SET ssl_cipher_list = ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL<br /><br />ENABLE site<br /><br />CREATE SERVICE web_stat<br /> SET role = web_server<br /> SET docroot = /mnt/app/current/public<br /> SET dirindexing = on<br />ENABLE web_stat<br /><br /><br />CREATE SERVICE pub1<br /> SET listen = 0.0.0.0:80<br /> SET role = selector<br /> SET plugins = vhosts<br /> SET persist_client = on<br /> VHOST example.com = server1<br /> VHOST *.example.com = site<br />ENABLE pub1<br />#------------------------------<br />#CREATE POOL my_apache<br />#POOL my_apache ADD 127.0.0.1:<br /><br />#CREATE SERVICE apps<br /># SET role = web_server<br /># SET docroot = /var/www/html/apps<br /># SET dirindexing = on<br />#ENABLE apps<br />--------------------------------------------------------------------------Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0tag:blogger.com,1999:blog-6558514026745208577.post-54080139141939565382009-02-09T07:42:00.000-08:002009-11-19T23:15:28.804-08:00How to Perlbal as Webserver with RAILS+MONGREL ..?Hey Guys,<br /><br />First Resolve All dependency with modules. <br />---------------------------------------------<br />Perl Module for Webserver and Balancer and Cpan Library.<br />Cpan : cpan script version 1.03, CPAN.pm version 1.7602<br />Danga-Socket-1.61<br />IO-AIO-3.17<br />Perlbal-XS-HTTPHeaders-0.19<br />libwww-perl-5.823<br />Sys-Syscall-0.22<br />FleetConf-0.01_016<br />Log-Dispatch-2.22<br />-----------------------------------------------<br />SSL need:<br />Net-SSLeay-1.35<br />Module-Install-0.79<br />IO-Socket-SSL-1.22<br />Net-IDN-Encode-0.02<br />IDNA-Punycode-0.03<br />IO-Compress-Zlib<br />-------------------------------------------------<br />For Gzip:<br />Compress::Raw::Zlib 2.015<br />IO::Compress::Base 2.015<br />IO::Uncompress::Base 2.015<br />IO::Compress::Zlib<br />-----------------------------------------------Shrikant Lokhandehttp://www.blogger.com/profile/05320219663762573331noreply@blogger.com0