Monday, August 27, 2012

Mount a linux server dir to another linux server directory


Say we have 2 servers named as
server1                 (192.168.1.45)
server2                 (192.168.1170)

we want to mount a directory of 192.168.1.45 on the .170 server

Step1.
install nfs server on server1 (.45)
#yum install nfs-utils nfs4-acl-tools portmap
#chkconfig nfs on

Step2.
Share the directory on server1(.45)
#vim /etc/exports
/image1 192.168.1.170(rw)
save the file {it will give server2 (.170) read write access}
# exportfs -avr

Step3.
Mounting the /image1 directory on the server2
you need to create a directory on server2 where you want to mount the directory from server1
#mkdir /image1

#vim /etc/fstab
192.168.1.45:/image1     /image1 nfs hard,intr 0 0
save and close the  file

#mount -t nfs -a

the above command will mount the server1 shared directory to the server2 directory(/image1).

Saturday, August 4, 2012

How to Disable ndr's in sendmail


 vi /etc/mail/sendmail.mc

Change the below line
dnl # define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
  TO
define(`confPRIVACY_FLAGS', `authwarnings,nobodyreturn')dnl

save and exit

Restart the Sendmail


Remove directory from CVS



CVS doesn't really keep directories under version control. If you want to remove a directory from a project, you first remove all the files in it, then use update -P to remove the directory from the working directory.

CVS checkout and update will always check out empty directories; that's just the way CVS is built. Do an update with "-P" -- "prune" -- to remove empty directories:

cvs update -dP

(Adding "-d" will update new directories that have appeared since your last update; otherwise, CVS will ignore them.)

Cvs tends to work on a two phase approach regarding directories that's why there is a -P option for many cvs commands to "Prune empty directories".

When this has happened, e.g. want to rename a directory I've just added, I delete the directory, delete the entry for the directory in the CVS/Entries file, it'll be a line perpended with a "D".

If I've committed, I make sure my current working area that contains the empty directory/ies is all checked in. Then I blow away the part of the work area that I have added the directories to.
Ex.

/mySandbox/Project_to_remove/etc_etc
/mySandbox/Project_to_remove/emptyDir


I make sure everything is up to date in both directories containing the stuff I want to keep. I then blow away Project_to_remove from within mySandbox.
Going back and checking out the same work area, e.g. Project_to_remove will give me the work area without the empty dirs.
Or just leave everything as is and use the -P option to get CVS check everything out (or update everything) then prune out the empty dirs.

Renaming Directories

checkout the project, make the changes on the local working copy, delete the CVS project in the repository and import the changed project again.



Redirect HTTPS TO HTTP

URL Rewriting


open your httpd.conf file and put the lines below.
-----------------------------------------------------------------
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R,L]
-----------------------------------------------------------------

Apache have a good document for this.

http://httpd.apache.org/docs/2.2/misc/rewriteguide.html
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html


How to Mount Windows Share with CentOS

1. Install below package
#yum install samba-client
#yum install cifs-utils
2. create a file to keep/save you windows password in that. (you can also pass them directly on shell)
cd /home/nk
vim secret.txt
username=Domain\windowsUsername
password=YourPassowrForWindowsDomain

save and exit by :wq

4. make a directory where you want to mount the windows share folder
mkdir /mnt/nk

5.pass the below command to mount the windows shared folder to Centos folder
mount -t cifs //192.168.1.14/share /mnt/nk/ -o credentials=/home/nk/secret.txt

here : 192.168.1.14 is the windows machine IP
           "share" is the name of the folder you want to share(make sure you have access to this)

6. check that folder is mounted by "mount" command

Or
 mount -t cifs //192.168.1.14/share /mnt/nk/ -o -o username=#####,password=######
 
If the machine is in domain
mount -t cifs //192.168.1.14/share /mnt/nk/ -o -o username=DomainName/xxxx,password=xxxx