How to Configure NTP Server for Time Adjustment on CentOS 6.3

ntpThis post covers the steps to install NTP server on CentOS 6.3. NTP, Network Time Protocol, it is an Internet protocol used to synchronize the clocks of computers or servers to some NTP server on internet or intranet.

1. Install ntp using yum command :

[root@centos63 ~]# yum install ntp -y

2. Once NTP is installed you need to update the configuration file, ntp.conf located in the /etc directory :

[root@centos63 ~]# vi /etc/ntp.conf
# Hosts on local network are less restricted.
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
server 0.asia.pool.ntp.org
server 1.asia.pool.ntp.org
server 2.asia.pool.ntp.org
server 3.asia.pool.ntp.org

..
..

3. Start the NTP service :

[root@centos63 ~]# /etc/rc.d/init.d/ntpd start
Starting ntpd:                                             [  OK  ]

4. NTP service start at boot :

[root@centos63 ~]# chkconfig ntpd on

5. Test your ntp client status :

[root@centos63 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 103.6.16.254    10.84.87.146     2 u   16   64    1  129.453   18.233   0.002
 superluminal.sf 189.70.85.38     2 u   16   64    1  128.466    1.971   0.002
 fnttkyo043241.t 165.246.43.176   3 u   15   64    1  125.813   11.528   0.002
 send.mx.cdnetwo 131.107.13.100   2 u   14   64    1  250.371  -53.987   0.002

6. To verify the NTP service is now running on the server using the following command :

[root@centos63 ~]# ps -e | grep ntpd
 5206 ?        00:00:00 ntpd

How to Configure EPEL Repository on CentOS 6.3

This post will covers on how to install and configure the Extra Packages for Enterprise Linux (EPEL) repository on CentOS 6.3. EPEL repository is another extra repository that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL) and CentOS server. To install the repository, you can follow this steps :

1. First, we download and import the GPG keys for EPEL software packages:

[root@centos63 ~]# wget http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL-6
[root@centos63 ~]# rpm --import RPM-GPG-KEY-EPEL-6
[root@centos63 ~]# rm -f RPM-GPG-KEY-EPEL-6

2. Download EPEL repository for 32-bit CentOS :

[root@centos63 ~]# wget http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm

3. Install EPEL repository on 32-bit CentOS :

[root@centos63 ~]# rpm -ivh epel-release-6-7.noarch.rpm
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

4. You can start install and use epel the repository to install the software packages, input yum command like follows :

[root@centos63 ~]# yum --enablerepo=epel install phpmyadmin -y

How to Configure Static IP Address on CentOS 6.3 Linux Server

This post will covers the steps to configure static ip address, default gateway, netmask, dns server and make a network auto start at boot on linux CentOS 6.3. Server normally configured with static ip address, so that easier to maintain the configuration on it’s client and DNS server will always able to resolve it.

DEVICE="eth0"
BOOTPROTO="dhcp"
HWADDR="xx:xx:xx:xx:xx:xx"
NM_CONTROLLED="yes"
ONBOOT="no"
TYPE="Ethernet"
UUID="xxxxxxxx-05a0-4adf-84fd-850aca6521c7"

1. Configure eth0:

[root@centos63 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="xx:xx:xx:xx:xx:xx"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="xxxxxxxx-05a0-4adf-84fd-850aca6521c7"
IPADDR=192.168.1.54
NETMASK=255.255.255.0

2. Configure Default gateway:

[root@centos63 ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos63.ehowstuff.local
GATEWAY=192.168.1.1

3. Restart Network interface:

[root@centos63 ~]# service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]

4. Configure DNS server :

[root@centos63 ~]# vi /etc/resolv.conf
nameserver 8.8.8.8

How to Setup Zimbra Collaboration Suite 7.2.0 Mail Server on CentOS 6.2 x86_64

Mail ServerIn this post, i will show you the steps to setup Zimbra Collaboration Suite (ZCS) 7.2.0 Mail Server open source edition on CentOS 6.2 64 bit. Zimbra only released the 64 bit version for Redhat Linux Enteprise 6 (RHEL6) or CentOS 6 operating system. Before you start installing ZCS software, please make sure that all the prerequisites has been configured and install. Also, don’t forget to configure the domain name server (DNS), so that you installation will run smoothly as what documented on this guidelines. For more info on this latest ZCS, please refer to official ZCS 7.2 Open Source release note.

1.Perform the following preparations :
https://webhostinggeeks.com/howto/how-to-prepare-for-zimbra-collaboration-suite-7-1-4-mail-server-installation-on-centos-6-2-x86_64/

2. Setup the DNS properly. In this case, you should have dns zone as below :

;
;       Addresses and other host information.
;
@       IN      SOA     zimbra.lab. admin.zimbra.lab. (
                               2012060801      ; Serial
                               43200      ; Refresh
                               3600       ; Retry
                               3600000    ; Expire
                               2592000 )  ; Minimum

;       Define the nameservers and the mail servers

               IN      NS      ns.zimbra.lab.
               IN      A       192.168.1.100
               IN      MX      10 mail.zimbra.lab.

mail            IN      A       192.168.1.100
ns              IN      A       192.168.1.100

3. Download Zimbra Collaboration Suite 7.1.4 from zimbra official website :

[root@mail ~]# wget http://files2.zimbra.com/downloads/7.2.0_GA/zcs-7.2.0_GA_2669.RHEL6_64.20120410002025.tgz

4. Extract the downloaded zcs file and change directory to extracted zcs folder :

[root@mail ~]# tzar xvf zcs-7.2.0_GA_2669.RHEL6_64.20120410002025.tgz
[root@mail ~]# cd zcs-7.2.0_GA_2669.RHEL6_64.2012041000202

5. Start installing zimbra using the following command. Make sure you put “–platform-override” as this zimbra is install on the operating system other than RHEL :

[root@mail zcs-7.2.0_GA_2669.RHEL6_64.20120410002025]# ./install.sh --platform-override

Operations logged to /tmp/install.log.1572
Checking for existing installation...
    zimbra-ldap...NOT FOUND
    zimbra-logger...NOT FOUND
    zimbra-mta...NOT FOUND
    zimbra-snmp...NOT FOUND
    zimbra-store...NOT FOUND
    zimbra-apache...NOT FOUND
    zimbra-spell...NOT FOUND
    zimbra-convertd...NOT FOUND
    zimbra-memcached...NOT FOUND
    zimbra-proxy...NOT FOUND
    zimbra-archiving...NOT FOUND
    zimbra-cluster...NOT FOUND
    zimbra-core...NOT FOUND


PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE SOFTWARE.
ZIMBRA, INC. ("ZIMBRA") WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU
FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING
THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY
THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS
AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT.

License Terms for the Zimbra Collaboration Suite:
  http://www.zimbra.com/license/zimbra_public_eula_2.1.html



Do you agree with the terms of the software license agreement? [N] y

Checking for prerequisites...
     FOUND: NPTL
     FOUND: nc-1.84-22
     FOUND: sudo-1.7.4p5-7
     FOUND: libidn-1.18-2
     FOUND: gmp-4.3.1-7
     FOUND: /usr/lib64/libstdc++.so.6
Checking for suggested prerequisites...
     FOUND: perl-5.10.1
     FOUND: sysstat
     FOUND: sqlite
Prerequisite check complete.

Checking for installable packages

Found zimbra-core
Found zimbra-ldap
Found zimbra-logger
Found zimbra-mta
Found zimbra-snmp
Found zimbra-store
Found zimbra-apache
Found zimbra-spell
Found zimbra-memcached
Found zimbra-proxy


Select the packages to install

Install zimbra-ldap [Y]

Install zimbra-logger [Y]

Install zimbra-mta [Y]

Install zimbra-snmp [Y]

Install zimbra-store [Y]

Install zimbra-apache [Y]

Install zimbra-spell [Y]

Install zimbra-memcached [N]

Install zimbra-proxy [N]
Checking required space for zimbra-core
checking space for zimbra-store

Installing:
    zimbra-core
    zimbra-ldap
    zimbra-logger
    zimbra-mta
    zimbra-snmp
    zimbra-store
    zimbra-apache
    zimbra-spell

You appear to be installing packages on a platform different
than the platform for which they were built.

This platform is CentOS6_64
Packages found: RHEL6_64
This may or may not work.

Using packages for a platform in which they were not designed for
may result in an installation that is NOT usable. Your support
options may be limited if you choose to continue.


Install anyway? [N] y

The system will be modified.  Continue? [N] y

Removing /opt/zimbra
Removing zimbra crontab entry...done.
Cleaning up zimbra init scripts...done.
Cleaning up /etc/ld.so.conf...done.
Cleaning up /etc/security/limits.conf...done.

Finished removing Zimbra Collaboration Suite.

Installing packages

    zimbra-core......zimbra-core-7.2.0_GA_2669.RHEL6_64-20120410002025.x86_64.rpm...done
    zimbra-ldap......zimbra-ldap-7.2.0_GA_2669.RHEL6_64-20120410002025.x86_64.rpm...done
    zimbra-logger......zimbra-logger-7.2.0_GA_2669.RHEL6_64-20120410002025.x86_64.rpm...done
    zimbra-mta......zimbra-mta-7.2.0_GA_2669.RHEL6_64-20120410002025.x86_64.rpm...done
    zimbra-snmp......zimbra-snmp-7.2.0_GA_2669.RHEL6_64-20120410002025.x86_64.rpm...done
    zimbra-store......zimbra-store-7.2.0_GA_2669.RHEL6_64-20120410002025.x86_64.rpm...done
    zimbra-apache......zimbra-apache-7.2.0_GA_2669.RHEL6_64-20120410002025.x86_64.rpm...done
    zimbra-spell......zimbra-spell-7.2.0_GA_2669.RHEL6_64-20120410002025.x86_64.rpm...done
Operations logged to /tmp/zmsetup.06082012-085913.log
Installing LDAP configuration database...done.
Setting defaults...

DNS ERROR resolving MX for mail.zimbra.lab
It is suggested that the domain name have an MX record configured in DNS
Change domain name? [Yes]
Create domain: [mail.zimbra.lab] zimbra.lab
        MX: mail.zimbra.lab (192.168.1.100)

        Interface: 192.168.1.100
        Interface: 127.0.0.1
done.
Checking for port conflicts

Main menu

   1) Common Configuration:
   2) zimbra-ldap:                             Enabled
   3) zimbra-store:                            Enabled
        +Create Admin User:                    yes
        +Admin user to create:                 admin@zimbra.lab
******* +Admin Password                        UNSET
        +Anti-virus quarantine user:           virus-quarantine.yjeejv_dpa@zimbra.lab
        +Enable automated spam training:       yes
        +Spam training user:                   spam.fgupk8pwc@zimbra.lab
        +Non-spam(Ham) training user:          ham.0r0ct8ky@zimbra.lab
        +SMTP host:                            mail.zimbra.lab
        +Web server HTTP port:                 80
        +Web server HTTPS port:                443
        +Web server mode:                      http
        +IMAP server port:                     143
        +IMAP server SSL port:                 993
        +POP server port:                      110
        +POP server SSL port:                  995
        +Use spell check server:               yes
        +Spell server URL:                     http://mail.zimbra.lab:7780/aspell.php
        +Configure for use with mail proxy:    FALSE
        +Configure for use with web proxy:     FALSE
        +Enable version update checks:         TRUE
        +Enable version update notifications:  TRUE
        +Version update notification email:    admin@zimbra.lab
        +Version update source email:          admin@zimbra.lab

   4) zimbra-mta:                              Enabled
   5) zimbra-snmp:                             Enabled
   6) zimbra-logger:                           Enabled
   7) zimbra-spell:                            Enabled
   8) Default Class of Service Configuration:
   r) Start servers after configuration        yes
   s) Save config to file
   x) Expand menu
   q) Quit

Address unconfigured (**) items  (? - help) 3


Store configuration

   1) Status:                                  Enabled
   2) Create Admin User:                       yes
   3) Admin user to create:                    admin@zimbra.lab
** 4) Admin Password                           UNSET
   5) Anti-virus quarantine user:              virus-quarantine.yjeejv_dpa@zimbra.lab
   6) Enable automated spam training:          yes
   7) Spam training user:                      spam.fgupk8pwc@zimbra.lab
   8) Non-spam(Ham) training user:             ham.0r0ct8ky@zimbra.lab
   9) SMTP host:                               mail.zimbra.lab
  10) Web server HTTP port:                    80
  11) Web server HTTPS port:                   443
  12) Web server mode:                         http
  13) IMAP server port:                        143
  14) IMAP server SSL port:                    993
  15) POP server port:                         110
  16) POP server SSL port:                     995
  17) Use spell check server:                  yes
  18) Spell server URL:                        http://mail.zimbra.lab:7780/aspell.php
  19) Configure for use with mail proxy:       FALSE
  20) Configure for use with web proxy:        FALSE
  21) Enable version update checks:            TRUE
  22) Enable version update notifications:     TRUE
  23) Version update notification email:       admin@zimbra.lab
  24) Version update source email:             admin@zimbra.lab

Select, or 'r' for previous menu [r] 4

Password for admin@zimbra.lab (min 6 characters): [NvRw0ymD] password

Store configuration

   1) Status:                                  Enabled
   2) Create Admin User:                       yes
   3) Admin user to create:                    admin@zimbra.lab
   4) Admin Password                           set
   5) Anti-virus quarantine user:              virus-quarantine.yjeejv_dpa@zimbra.lab
   6) Enable automated spam training:          yes
   7) Spam training user:                      spam.fgupk8pwc@zimbra.lab
   8) Non-spam(Ham) training user:             ham.0r0ct8ky@zimbra.lab
   9) SMTP host:                               mail.zimbra.lab
  10) Web server HTTP port:                    80
  11) Web server HTTPS port:                   443
  12) Web server mode:                         http
  13) IMAP server port:                        143
  14) IMAP server SSL port:                    993
  15) POP server port:                         110
  16) POP server SSL port:                     995
  17) Use spell check server:                  yes
  18) Spell server URL:                        http://mail.zimbra.lab:7780/aspell.php
  19) Configure for use with mail proxy:       FALSE
  20) Configure for use with web proxy:        FALSE
  21) Enable version update checks:            TRUE
  22) Enable version update notifications:     TRUE
  23) Version update notification email:       admin@zimbra.lab
  24) Version update source email:             admin@zimbra.lab

Select, or 'r' for previous menu [r]

Main menu

   1) Common Configuration:
   2) zimbra-ldap:                             Enabled
   3) zimbra-store:                            Enabled
   4) zimbra-mta:                              Enabled
   5) zimbra-snmp:                             Enabled
   6) zimbra-logger:                           Enabled
   7) zimbra-spell:                            Enabled
   8) Default Class of Service Configuration:
   r) Start servers after configuration        yes
   s) Save config to file
   x) Expand menu
   q) Quit

*** CONFIGURATION COMPLETE - press 'a' to apply
Select from menu, or press 'a' to apply config (? - help) a
Save configuration data to a file? [Yes]
Save config in file: [/opt/zimbra/config.7018]
Saving config in /opt/zimbra/config.7018...done.
The system will be modified - continue? [No] yes
Operations logged to /tmp/zmsetup.06082012-085913.log
Setting local config values...done.
Setting up CA...done.
Deploying CA to /opt/zimbra/conf/ca ...done.
Creating SSL certificate...done.
Installing mailboxd SSL certificates...done.
Initializing ldap...done.
Setting replication password...done.
Setting Postfix password...done.
Setting amavis password...done.
Setting nginx password...done.
Creating server entry for mail.zimbra.lab...done.
Saving CA in ldap ...done.
Saving SSL Certificate in ldap ...done.
Setting spell check URL...done.
Setting service ports on mail.zimbra.lab...done.
Adding mail.zimbra.lab to zimbraMailHostPool in default COS...done.
Installing webclient skins...
        smoke...done.
        pebble...done.
        carbon...done.
        lavender...done.
        waves...done.
        bones...done.
        bare...done.
        hotrod...done.
        oasis...done.
        sky...done.
        tree...done.
        beach...done.
        steel...done.
        twilight...done.
        lemongrass...done.
        sand...done.
        lake...done.
Finished installing webclient skins.
Setting zimbraFeatureTasksEnabled=TRUE...done.
Setting zimbraFeatureBriefcasesEnabled=TRUE...done.
Setting MTA auth host...done.
Setting TimeZone Preference...done.
Initializing mta config...done.
Setting services on mail.zimbra.lab...done.
Creating domain zimbra.lab...done.
Setting default domain name...done.
Creating domain zimbra.lab...already exists.
Creating admin account admin@zimbra.lab...done.
Creating root alias...done.
Creating postmaster alias...done.
Creating user spam.fgupk8pwc@zimbra.lab...done.
Creating user ham.0r0ct8ky@zimbra.lab...done.
Creating user virus-quarantine.yjeejv_dpa@zimbra.lab...done.
Setting spam training and Anti-virus quarantine accounts...done.
Initializing store sql database...done.
Setting zimbraSmtpHostname for mail.zimbra.lab...done.
Configuring SNMP...done.
Checking for default IM conference room...not present.
Initializing default IM conference room...done.
Setting up syslog.conf...done.

You have the option of notifying Zimbra of your installation.
This helps us to track the uptake of the Zimbra Collaboration Suite.
The only information that will be transmitted is:
        The VERSION of zcs installed (7.2.0_GA_2669_CentOS6_64)
        The ADMIN EMAIL ADDRESS created (admin@zimbra.lab)

Notify Zimbra of your installation? [Yes] no
Notification skipped
Starting servers...done.
Installing common zimlets...
        com_zimbra_srchhighlighter...done.
        com_zimbra_cert_manager...done.
        com_zimbra_linkedin...done.
        com_zimbra_adminversioncheck...done.
        com_zimbra_email...done.
        com_zimbra_phone...done.
        com_zimbra_url...done.
        com_zimbra_date...done.
        com_zimbra_attachmail...done.
        com_zimbra_bulkprovision...done.
        com_zimbra_dnd...done.
        com_zimbra_webex...done.
        com_zimbra_social...done.
        com_zimbra_attachcontacts...done.
Finished installing common zimlets.
Restarting mailboxd...done.
Setting up zimbra crontab...done.


Moving /tmp/zmsetup.06082012-085913.log to /opt/zimbra/log


Configuration complete - press return to exit

6. Check zimbra status :

[root@mail ~]# su - zimbra
[zimbra@mail ~]$ zmcontrol status
Host mail.zimbra.lab
        antispam                Running
        antivirus               Running
        ldap                    Running
        logger                  Running
        mailbox                 Running
        mta                     Running
        snmp                    Running
        spell                   Running
        stats                   Running
        zmconfigd               Running

7. How to stop and start zimbra :

[root@mail ~]# su - zimbra
[zimbra@mail ~]$ zmcontrol stop
[zimbra@mail ~]$ zmcontrol start

How to Install PHP 5.3.3 on CentOS 5.8

PHP: Hypertext Preprocessor is a widely used, free and open-source server-side scripting language that was especially designed for web development to produce dynamic web pages and can be embedded into HTML. PHP applications are commonly found with the filename extensions .php, .php4, or .php5. In this post, i will share on how to install PHP 5.3.3 on linux CentOS 5.8 server. This steps may working on other version of CentOS.

Simply run the following command to install PHP 5.3.3 :

[root@centos58 ~]# yum install php53-* -y
Transaction Summary
====================================================================================================
Install      58 Package(s)
Upgrade       0 Package(s)

Total download size: 24 M
Downloading Packages:
(1/58): php53-recode-5.3.3-1.el5.i386.rpm                                    | 5.9 kB     00:00
(2/58): firebird-filesystem-2.1.4.18393.0-1.el5.i386.rpm                     | 6.6 kB     00:00
(3/58): php53-enchant-5.3.3-1.el5.i386.rpm                                   | 9.7 kB     00:00
(4/58): php53-mcrypt-5.3.3-1.el5.i386.rpm                                    |  16 kB     00:00
(5/58): php53-tidy-5.3.3-1.el5.i386.rpm                                      |  18 kB     00:00
(6/58): php53-php-gettext-1.0.11-3.el5.noarch.rpm                            |  20 kB     00:00
(7/58): zarafa-common-7.0.6-1.el5.i386.rpm                                   |  21 kB     00:00
(8/58): boost141-system-1.41.0-2.el5.i386.rpm                                |  24 kB     00:00
(9/58): php53-pspell-5.3.3-7.el5_8.i386.rpm                                  |  26 kB     00:00
(10/58): php53-mssql-5.3.3-1.el5.i386.rpm                                    |  26 kB     00:00
(11/58): php53-snmp-5.3.3-7.el5_8.i386.rpm                                   |  29 kB     00:00
(12/58): php53-ldap-5.3.3-7.el5_8.i386.rpm                                   |  36 kB     00:00
(13/58): php53-process-5.3.3-7.el5_8.i386.rpm                                |  38 kB     00:00
(14/58): php53-dba-5.3.3-7.el5_8.i386.rpm                                    |  39 kB     00:00
(15/58): php53-bcmath-5.3.3-7.el5_8.i386.rpm                                 |  42 kB     00:00
(16/58): libntlm-1.0-1.el5.i386.rpm                                          |  43 kB     00:00
(17/58): libXpm-3.5.5-3.i386.rpm                                             |  45 kB     00:00
(18/58): php53-imap-5.3.3-7.el5_8.i386.rpm                                   |  50 kB     00:00
(19/58): php53-interbase-5.3.3-1.el5.i386.rpm                                |  50 kB     00:00
(20/58): php53-odbc-5.3.3-7.el5_8.i386.rpm                                   |  51 kB     00:00
(21/58): php53-xmlrpc-5.3.3-7.el5_8.i386.rpm                                 |  52 kB     00:00
(22/58): php53-pdo-5.3.3-7.el5_8.i386.rpm                                    |  66 kB     00:00
(23/58): boost141-filesystem-1.41.0-2.el5.i386.rpm                           |  72 kB     00:00
(24/58): php53-pgsql-5.3.3-7.el5_8.i386.rpm                                  |  73 kB     00:00
(25/58): php53-intl-5.3.3-7.el5_8.i386.rpm                                   |  74 kB     00:00
(26/58): php53-mysql-5.3.3-7.el5_8.i386.rpm                                  |  87 kB     00:00
(27/58): mod_ssl-2.2.3-63.el5.centos.1.i386.rpm                              |  94 kB     00:00
(28/58): libgsasl-0.2.29-1.el5.i386.rpm                                      | 100 kB     00:01
(29/58): php53-gd-5.3.3-7.el5_8.i386.rpm                                     | 109 kB     00:00
(30/58): php53-xml-5.3.3-7.el5_8.i386.rpm                                    | 112 kB     00:00
(31/58): distcache-1.4.5-14.1.i386.rpm                                       | 119 kB     00:00
(32/58): m4-1.4.5-3.el5.1.i386.rpm                                           | 133 kB     00:01
(33/58): libtidy-0.99.0-14.20070615.el5.i386.rpm                             | 140 kB     00:01
(34/58): php53-soap-5.3.3-7.el5_8.i386.rpm                                   | 146 kB     00:01
(35/58): enchant-1.4.2-4.el5.1.i386.rpm                                      | 151 kB     00:01
(36/58): libical-0.48-1.el5.i386.rpm                                         | 202 kB     00:01
(37/58): php53-mapi-7.0.6-1.el5.i386.rpm                                     | 217 kB     00:02
(38/58): firebird-libfbclient-2.1.4.18393.0-1.el5.i386.rpm                   | 295 kB     00:02
(39/58): imake-1.0.2-3.i386.rpm                                              | 319 kB     00:02
(40/58): automake-1.9.6-2.3.el5.noarch.rpm                                   | 476 kB     00:03
(41/58): libxslt-1.1.17-2.el5_2.2.i386.rpm                                   | 485 kB     00:04
(42/58): lm_sensors-2.10.7-9.el5.i386.rpm                                    | 511 kB     00:04
(43/58): libc-client-2004g-2.2.1.i386.rpm                                    | 516 kB     00:04
(44/58): unixODBC-libs-2.2.11-10.el5.i386.rpm                                | 551 kB     00:04
(45/58): php53-devel-5.3.3-7.el5_8.i386.rpm                                  | 591 kB     00:05
(46/58): php53-common-5.3.3-7.el5_8.i386.rpm                                 | 604 kB     00:04
(47/58): autoconf-2.59-12.noarch.rpm                                         | 647 kB     00:05
(48/58): net-snmp-5.3.2.2-17.el5.i386.rpm                                    | 703 kB     00:06
(49/58): recode-3.6-24.el5.i386.rpm                                          | 838 kB     00:07
(50/58): libmapi-7.0.6-1.el5.i386.rpm                                        | 886 kB     00:07
(51/58): libvmime-0.9.2-0.1.20110626svn.el5.i386.rpm                         | 887 kB     00:07
(52/58): freetds-0.91-2.el5.i386.rpm                                         | 992 kB     00:08
(53/58): php53-mbstring-5.3.3-7.el5_8.i386.rpm                               | 1.2 MB     00:09
(54/58): zarafa-client-7.0.6-1.el5.i386.rpm                                  | 1.2 MB     00:11
(55/58): php53-5.3.3-7.el5_8.i386.rpm                                        | 1.3 MB     00:10
(56/58): net-snmp-libs-5.3.2.2-17.el5.i386.rpm                               | 1.3 MB     00:11
(57/58): php53-cli-5.3.3-7.el5_8.i386.rpm                                    | 2.5 MB     00:22
(58/58): libicu-3.6-5.16.1.i386.rpm                                          | 5.3 MB     00:47
----------------------------------------------------------------------------------------------------
Total                                                               114 kB/s |  24 MB     03:37
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : php53-common                                                                1/58
  Installing     : php53-pdo                                                                   2/58
  Installing     : libicu                                                                      3/58
  Installing     : boost141-system                                                             4/58
  Installing     : unixODBC-libs                                                               5/58
  Installing     : net-snmp-libs                                                               6/58
  Installing     : freetds                                                                     7/58
  Installing     : boost141-filesystem                                                         8/58
  Installing     : php53-cli                                                                   9/58
  Installing     : php53                                                                      10/58
  Installing     : php53-mbstring                                                             11/58
  Installing     : enchant                                                                    12/58
  Installing     : libc-client                                                                13/58
  Installing     : libxslt                                                                    14/58
  Installing     : libntlm                                                                    15/58
  Installing     : libgsasl                                                                   16/58
  Installing     : libvmime                                                                   17/58
  Installing     : libical                                                                    18/58
  Installing     : m4                                                                         19/58
  Installing     : lm_sensors                                                                 20/58
  Installing     : net-snmp                                                                   21/58
  Installing     : libtidy                                                                    22/58
  Installing     : libXpm                                                                     23/58
  Installing     : imake                                                                      24/58
  Installing     : distcache                                                                  25/58
  Installing     : mod_ssl                                                                    26/58
  Installing     : recode                                                                     27/58
  Installing     : autoconf                                                                   28/58
  Installing     : automake                                                                   29/58
  Installing     : firebird-filesystem                                                        30/58
  Installing     : zarafa-common                                                              31/58
  Installing     : firebird-libfbclient                                                       32/58
  Installing     : php53-interbase                                                            33/58
  Installing     : php53-recode                                                               34/58
  Installing     : php53-gd                                                                   35/58
  Installing     : php53-tidy                                                                 36/58
  Installing     : php53-snmp                                                                 37/58
  Installing     : php53-xml                                                                  38/58
  Installing     : php53-imap                                                                 39/58
  Installing     : php53-enchant                                                              40/58
  Installing     : php53-mssql                                                                41/58
  Installing     : php53-odbc                                                                 42/58
  Installing     : php53-intl                                                                 43/58
  Installing     : php53-pgsql                                                                44/58
  Installing     : php53-mysql                                                                45/58
  Installing     : php53-pspell                                                               46/58
  Installing     : php53-bcmath                                                               47/58
  Installing     : php53-mcrypt                                                               48/58
  Installing     : php53-ldap                                                                 49/58
  Installing     : php53-soap                                                                 50/58
  Installing     : php53-process                                                              51/58
  Installing     : php53-xmlrpc                                                               52/58
  Installing     : php53-dba                                                                  53/58
  Installing     : php53-devel                                                                54/58
  Installing     : php53-php-gettext                                                          55/58
  Installing     : libmapi                                                                    56/58
  Installing     : php53-mapi                                                                 57/58
  Installing     : zarafa-client                                                              58/58

Installed:
  php53.i386 0:5.3.3-7.el5_8                         php53-bcmath.i386 0:5.3.3-7.el5_8
  php53-cli.i386 0:5.3.3-7.el5_8                     php53-common.i386 0:5.3.3-7.el5_8
  php53-dba.i386 0:5.3.3-7.el5_8                     php53-devel.i386 0:5.3.3-7.el5_8
  php53-enchant.i386 0:5.3.3-1.el5                   php53-gd.i386 0:5.3.3-7.el5_8
  php53-imap.i386 0:5.3.3-7.el5_8                    php53-interbase.i386 0:5.3.3-1.el5
  php53-intl.i386 0:5.3.3-7.el5_8                    php53-ldap.i386 0:5.3.3-7.el5_8
  php53-mapi.i386 0:7.0.6-1.el5                      php53-mbstring.i386 0:5.3.3-7.el5_8
  php53-mcrypt.i386 0:5.3.3-1.el5                    php53-mssql.i386 0:5.3.3-1.el5
  php53-mysql.i386 0:5.3.3-7.el5_8                   php53-odbc.i386 0:5.3.3-7.el5_8
  php53-pdo.i386 0:5.3.3-7.el5_8                     php53-pgsql.i386 0:5.3.3-7.el5_8
  php53-php-gettext.noarch 0:1.0.11-3.el5            php53-process.i386 0:5.3.3-7.el5_8
  php53-pspell.i386 0:5.3.3-7.el5_8                  php53-recode.i386 0:5.3.3-1.el5
  php53-snmp.i386 0:5.3.3-7.el5_8                    php53-soap.i386 0:5.3.3-7.el5_8
  php53-tidy.i386 0:5.3.3-1.el5                      php53-xml.i386 0:5.3.3-7.el5_8
  php53-xmlrpc.i386 0:5.3.3-7.el5_8

Dependency Installed:
  autoconf.noarch 0:2.59-12                        automake.noarch 0:1.9.6-2.3.el5
  boost141-filesystem.i386 0:1.41.0-2.el5          boost141-system.i386 0:1.41.0-2.el5
  distcache.i386 0:1.4.5-14.1                      enchant.i386 1:1.4.2-4.el5.1
  firebird-filesystem.i386 0:2.1.4.18393.0-1.el5   firebird-libfbclient.i386 0:2.1.4.18393.0-1.el5
  freetds.i386 0:0.91-2.el5                        imake.i386 0:1.0.2-3
  libXpm.i386 0:3.5.5-3                            libc-client.i386 0:2004g-2.2.1
  libgsasl.i386 0:0.2.29-1.el5                     libical.i386 0:0.48-1.el5
  libicu.i386 0:3.6-5.16.1                         libmapi.i386 0:7.0.6-1.el5
  libntlm.i386 0:1.0-1.el5                         libtidy.i386 0:0.99.0-14.20070615.el5
  libvmime.i386 0:0.9.2-0.1.20110626svn.el5        libxslt.i386 0:1.1.17-2.el5_2.2
  lm_sensors.i386 0:2.10.7-9.el5                   m4.i386 0:1.4.5-3.el5.1
  mod_ssl.i386 1:2.2.3-63.el5.centos.1             net-snmp.i386 1:5.3.2.2-17.el5
  net-snmp-libs.i386 1:5.3.2.2-17.el5              recode.i386 0:3.6-24.el5
  unixODBC-libs.i386 0:2.2.11-10.el5               zarafa-client.i386 0:7.0.6-1.el5
  zarafa-common.i386 0:7.0.6-1.el5

Complete!

How to Configure Bind-Chroot Logging on CentOS 6.2

bindIn this post, i will show on how to turn on Bind DNS server logging in order to log all the dns queries on CentOS 6.2 linux server. Assumed that the bind9 chroot has been properly configured.

1. Create Soft link, symlink or symbolic link to /var/log :

[root@ns1 ~]# ln -sf /var/named/chroot/var/log/dns.log /var/log/dns.log
[root@ns1 ~]# ln -sf /var/named/chroot/var/log/dns_queries.log /var/log/dns_queries.log

2. Open named.conf :

[root@ns1 ~]# vim /var/named/chroot/etc/named.conf

3. Add the following bind logging script into named.conf :

..
..
logging {
        channel log_dns {
                file "/var/log/dns.log" versions 3 size 10m;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel log_queries {
                file "/var/log/dns_queries.log" versions 3 size 20m;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        category default {log_dns;};
        category queries {log_queries;};
        category lame-servers { null;};
        category edns-disabled { null; };
};
..
..

Full named.conf configuration :

options {
       directory "/var/named";
       dump-file "/var/named/data/cache_dump.db";
       statistics-file "/var/named/data/named_stats.txt";
forwarders { 8.8.8.8; };
};
include "/etc/rndc.key";


logging {
        channel log_dns {
                file "/var/log/dns.log" versions 3 size 10m;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        channel log_queries {
                file "/var/log/dns_queries.log" versions 3 size 20m;
                print-category yes;
                print-severity yes;
                print-time yes;
        };
        category default {log_dns;};
        category queries {log_queries;};
        category lame-servers { null;};
        category edns-disabled { null; };
};


// We are the master server for ehowstuff.local
 zone "ehowstuff.local" {
        type master;
        file "/var/named/ehowstuff.local";
        allow-transfer {192.168.1.54;};
        allow-update {none;};
};

4. To display last lines on dns_queries.log, simply execute the following command :

[root@ns1 ~]# tail -f /var/log/dns_queries.log

Examples logged dns queries :

02-Jun-2012 23:45:09.958 queries: info: client 192.168.1.52#64527: query: www.facebook.com IN A + (192.168.1.44)
02-Jun-2012 23:45:10.023 queries: info: client 192.168.1.52#55959: query: www.lqconsulting.com IN A + (192.168.1.44)
02-Jun-2012 23:45:10.047 queries: info: client 192.168.1.52#60625: query: digg.com IN A + (192.168.1.44)
02-Jun-2012 23:45:10.098 queries: info: client 192.168.1.52#51729: query: reddit.com IN A + (192.168.1.44)
02-Jun-2012 23:45:10.137 queries: info: client 192.168.1.52#58908: query: www.adroll.com IN A + (192.168.1.44)
02-Jun-2012 23:45:10.966 queries: info: client 192.168.1.52#49432: query: mail.google.com IN A + (192.168.1.44)
02-Jun-2012 23:45:11.077 queries: info: client 192.168.1.52#58493: query: alerts.conduit-services.com IN A + (192.168.1.44)
02-Jun-2012 23:45:13.781 queries: info: client 192.168.1.52#55403: query: plus.google.com IN A + (192.168.1.44)
02-Jun-2012 23:46:20.203 queries: info: client 192.168.1.52#54825: query: realtime.services.disqus.com IN A + (192.168.1.44)
02-Jun-2012 23:46:30.113 queries: info: client 192.168.1.52#52337: query: qq.disqus.com IN A + (192.168.1.44)

How to Add SPF Record in Bind DNS Zone on Linux

SPFIn order to prevent the Hotmail.com, Gmail.com, Yahoo.com and other top internet mail provider interpret all mails originate from your server to be spam and then placed it into junkmail folder, it is recommended to add SPF (Sender Policy Framework) in your zone file. The ISPs and email providers usually will check for SPF record pass to determine whether the mail originates from your IP. It is advised to configure SPF for your corporate domain to identify and reject forged addresses in the SMTP MAIL FROM (Return-Path), a typical nuisance in e-mail spam. The most important things is this can help to prevent spammers from abusing your domain. This steps has been tested on Bind DNS server that running on linux CentOS 6.2 server.

Steps to add SPF record in Bind DNS zone on Linux server :

1. Login to your Primary DNS server, and open a DNS zone record that contain mail exchanger record (MX record). In this case, MX record for ehowstuff.local domain is mail.ehowstuff.local. The configuration is in /var/named/chroot/var/named/ehowstuff.local.

[root@ns1 ~]# vim /var/named/chroot/var/named/ehowstuff.local
;
;       Addresses and other host information.
;
$TTL 14400
ehowstuff.local.        IN      SOA     ns1.ehowstuff.local.    admin.ehowstuff.local. (
                                        2012060201      ; Serial
                                        86400      ; Refresh
                                        7200       ; Retry
                                        3600000    ; Expire
                                        86400 )  ; Minimum

;A record for domain mapping domain to IP
ehowstuff.local.        IN      A       192.168.1.44

;Define the atleast 2 private nameservers
ehowstuff.local.        IN      NS      ns1.ehowstuff.local.
ehowstuff.local.        IN      NS      ns2.ehowstuff.local.

; Map 2 private nameservers to IP addressess using A record
ns1     IN      A       192.168.1.44
ns2     IN      A       192.168.1.54

; Specify subdomains if any using CNAME or alias.
www     IN      CNAME   ehowstuff.local.
ftp     IN      CNAME   ehowstuff.local.

; Mail exhanger and map it IP using A record.
ehowstuff.local.        IN      MX      10      mail.ehowstuff.local.

; SPF Record for MX.
ehowstuff.local.        IN      TXT     "v=spf1 a mx -all"

2. Restart named service :

[root@ns1 ~]# service named restart
Stopping named: .                                          [  OK  ]
Starting named:                                            [  OK  ]

3. You can manually check and test the Sender Policy Framework (SPF) record for a domain by using nslookup as follows:

  • On windows, Open Command prompt (Start -> Run -> cmd).
  • Type ‘nslookup’ and press enter.
  • Type ‘set type=txt’ and press enter (This will set the query type to TXT).
  • Type the domain that you would like to query (e.g. ehowstuff.local).
C:\>nslookup
*** Can't find server name for address 192.168.1.44: Non-existent domain
*** Default servers are not available
Default Server:  UnKnown
Address:  192.168.1.44

> set type=txt
> ehowstuff.local
Server:  UnKnown
Address:  192.168.1.44

ehowstuff.local text =

        "v=spf1 a mx -all"
ehowstuff.local nameserver = ns1.ehowstuff.local
ehowstuff.local nameserver = ns2.ehowstuff.local
ns1.ehowstuff.local     internet address = 192.168.1.44
ns2.ehowstuff.local     internet address = 192.168.1.54
>

On linux, run the following command :

[root@centos62 ~]# host -t txt ehowstuff.local
ehowstuff.local descriptive text "v=spf1 a mx -all"

How to Setup Private DNS With Bind9 Chroot on CentOS 6.2 VPS

dnsAssumed that you already buy two Virtual Private Server (VPS) but you dont want to point your nameservers on your hosting provider. To look more professional and stylish, you can run and have two private nameservers such as ns1.ehowstuff.local and ns2.ehowstuff.local. This post will show you the steps on how to setup and run your own Bind9 Chroot private nameservers on CentOS 6.2 VPS or dedicated server with atleast 2 IP addresses. To fit you requirement, please replace domain (ehowstuff.local) and ip addresses to your own domain and IPs.

ns1.ehowstuff.local : 192.168.1.44 (Master Private DNS server)
ns2.ehowstuff.local : 192.168.1.54 (Slave Private DNS server)

1. Install Bind Chroot DNS Server on both Primary and Slave server :

Master DNS Server

[root@ns1 ~]# yum install bind-chroot -y

Slave DNS server

[root@ns2 ~]# yum install bind-chroot -y


Master DNS Server



2. Login to Primary DNS server (ns1), and create a file /var/named/chroot/var/named/ehowstuff.local with the following configuration:

[root@ns1 ~]# vim /var/named/chroot/var/named/ehowstuff.local
;
;       Addresses and other host information.
;
$TTL 14400
ehowstuff.local.        IN      SOA     ns1.ehowstuff.local.    admin.ehowstuff.local. (
                                        2012060201      ; Serial
                                        86400      ; Refresh
                                        7200       ; Retry
                                        3600000    ; Expire
                                        86400 )  ; Minimum

;A record for domain mapping domain to IP
ehowstuff.local.        IN      A       192.168.1.44

;Define the atleast 2 private nameservers
ehowstuff.local.        IN      NS      ns1.ehowstuff.local.
ehowstuff.local.        IN      NS      ns2.ehowstuff.local.

; Map 2 private nameservers to IP addressess using A record
ns1     IN      A       192.168.1.44
ns2     IN      A       192.168.1.54

; Specify subdomains if any using CNAME or alias.
www     IN      CNAME   ehowstuff.local.
ftp     IN      CNAME   ehowstuff.local.

; Mail exhanger and map it IP using A record.
ehowstuff.local.        IN      MX      10      mail.ehowstuff.local.

3. Still on ns1, please generate an RNDC key :
The rndc tool is used to managed the named daemon. We need to generate a keyfile called /etc/rndc.key which is referenced both by /etc/rndc.conf and /etc/named.conf To do this we use the following command;

[root@ns1 ~]# rndc-confgen -a -c /etc/rndc.key
wrote key file "/etc/rndc.key"

View the content of the RNDC key :

[root@ns1 ~]# cat /etc/rndc.key
key "rndc-key" {
        algorithm hmac-md5;
        secret "T6tduqyMQ/YbIDXOmE0Fzg==";
};

4. on ns1, edit the /var/named/chroot/etc/named.conf file for ehowstuff.local

[root@ns1 ~]# vi /var/named/chroot/etc/named.conf
options {
       directory "/var/named";
       dump-file "/var/named/data/cache_dump.db";
       statistics-file "/var/named/data/named_stats.txt";
forwarders { 8.8.8.8; };
};
include "/etc/rndc.key";
// We are the master server for ehowstuff.local

zone "ehowstuff.local" {
        type master;
        file "/var/named/ehowstuff.local";
        allow-transfer {192.168.1.54;};
        allow-update {none;};
};

5. Start the DNS service using the following command :

[root@ns1 ~]# /etc/init.d/named start
Starting named:                                            [  OK  ]

6. Make named daemon auto start during boot :

[root@ns1 ~]# chkconfig named on


Slave DNS Server



7. Making slave DNS server can be so easy. Login to the other DNS server(ns2) and open the named.conf file. You need not create any file as the slave will automatically download the master zone information through zone transfer. After sometime, you can view the zone file. :

[root@ns2 ~]# vi /var/named/chroot/etc/named.conf
zone "ehowstuff.local" {
type slave;
file "/var/named/slaves/ehowstuff.local";
masters {192.168.1.44;};
};

Note: Bind will not allow you to run master and slave on same server, even-though you have 2 IP addresses

8. Start the DNS service using the following command :

[root@ns2 ~]# /etc/init.d/named start
Starting named:                                            [  OK  ]

9. Make named daemon auto start during boot :

[root@ns2 ~]# chkconfig named on

10. Before testing, make sure your pc or server using the Bind Chroot DNS Server that has been set up :

[root@ns1 ~]# cat /etc/resolv.conf
nameserver 192.168.1.44
nameserver 192.168.1.54
[root@ns2 ~]# cat /etc/resolv.conf
nameserver 192.168.1.44
nameserver 192.168.1.54

11. Test your DNS service :

Test from Master DNS server (ns1)

[root@ns1 ~]# dig ehowstuff.local

; <<>> DiG 9.7.3-P3-RedHat-9.7.3-8.P3.el6_2.2 <<>> ehowstuff.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25783
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;ehowstuff.local.               IN      A

;; ANSWER SECTION:
ehowstuff.local.        14400   IN      A       192.168.1.44

;; AUTHORITY SECTION:
ehowstuff.local.        14400   IN      NS      ns1.ehowstuff.local.
ehowstuff.local.        14400   IN      NS      ns2.ehowstuff.local.

;; ADDITIONAL SECTION:
ns1.ehowstuff.local.    14400   IN      A       192.168.1.44
ns2.ehowstuff.local.    14400   IN      A       192.168.1.54

;; Query time: 0 msec
;; SERVER: 192.168.1.44#53(192.168.1.44)
;; WHEN: Sat Jun  2 14:46:46 2012
;; MSG SIZE  rcvd: 117
[root@ns1 ~]# host -t mx ehowstuff.local
ehowstuff.local mail is handled by 10 mail.ehowstuff.local.
[root@ns1 ~]# host -t ns ehowstuff.local
ehowstuff.local name server ns2.ehowstuff.local.
ehowstuff.local name server ns1.ehowstuff.local.

Test from Slave DNS server (ns2)

[root@ns2 ~]# dig ehowstuff.local

; <<>> DiG 9.7.3-P3-RedHat-9.7.3-8.P3.el6_2.2 <<>> ehowstuff.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11526
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;ehowstuff.local.               IN      A

;; ANSWER SECTION:
ehowstuff.local.        14400   IN      A       192.168.1.44

;; AUTHORITY SECTION:
ehowstuff.local.        14400   IN      NS      ns2.ehowstuff.local.
ehowstuff.local.        14400   IN      NS      ns1.ehowstuff.local.

;; ADDITIONAL SECTION:
ns1.ehowstuff.local.    14400   IN      A       192.168.1.44
ns2.ehowstuff.local.    14400   IN      A       192.168.1.54

;; Query time: 3 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sat Jun  2 15:26:19 2012
;; MSG SIZE  rcvd: 117
[root@ns2 ~]# host -t mx ehowstuff.local
ehowstuff.local mail is handled by 10 mail.ehowstuff.local.
[root@ns2 ~]# host -t ns ehowstuff.local
ehowstuff.local name server ns2.ehowstuff.local.
ehowstuff.local name server ns1.ehowstuff.local.

How to Enable LDAP Authentication for Subversion on CentOS 6.2

This post will show the quick steps to enable LDAP authentication for existing subversion on linux CentOS 6.2. This guideline assumed that your existing subversion server has been configured properly and working with htpasswd user. This guideline also assumed that 389 LDAP has been installed but not yet configure in your subversion configuration file.

Prerequisites :
How to Install Httpd on CentOS 6.2
How to Install and Configure Subversion 1.6 on CentOS 6.2
How to Install 389 Directory Server on CentOS 6.2

Steps:

1. Append /etc/hosts for ldap server fqdn. If your ldap server has been registered on DNS server, you can skip this step.

[root@svn ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.44 svn.ehowstuff.local svn
192.168.1.48 ldap.ehowstuff.local ldap

2. Locate and open subversion.conf using vi editor

[root@svn ~]# vi /etc/httpd/conf.d/subversion.conf

3. Modify the existing subversion.conf to below :

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /svn/repos>
        DAV svn
        SVNParentPath /svn/repos
        AuthBasicProvider ldap
        AuthType Basic
        AuthzLDAPAuthoritative on
        AuthName "My Subversion server"
        AuthLDAPURL "ldap://ldap.ehowstuff.local:389/DC=ehowstuff,DC=local?uid?sub?(objectClass=*)" NONE
        AuthzSVNAccessFile /svn/permissions/svnaccess
        Require valid-user
</Location>

4. Restart httpd service :

[root@svn ~]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

How to Tuning, Install and Configure 389 Directory Server on CentOS 6.2

389

389 Directory Server

1.0 Tuning 389 Directory Server on CentOS 6.2

This post will share with you on how to perform system tuning analysis, install and configure 389 Directory Server on linux CentOS 6.2 server. 389 Directory Server is an enterprise-class open source LDAP server for Linux. It is based on Fedora Directory Server. This post assumed that your CentOS server has been completely setup EPEL repository.

Before start to configure the 389 Directory Server, it is better to adjust some performance and security settings. Follow the following steps to tuning the 389 Directory Server on CentOS 6.2.

1.1 Perform TCP Tuning on 389 Directory :

a) Decrease the time default value for tcp_keepalive_time connection. Edit the /etc/sysctl.conf file and add the following lines to the bottom of sysctl.conf.

[root@centos62 ~]# vi /etc/sysctl.conf
#Decrease the time default value for tcp_keepalive_time connection
net.ipv4.tcp_keepalive_time = 300

b) Increase number of local system ports available by editing this parameter in the /etc/sysctl.conf file :

[root@centos62 ~]# echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf

Show changes :

[root@centos62 ~]# cat /etc/sysctl.conf | grep net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 1024 65000

1.2 Perform File Tuning :

a) Increase the file descriptors by running these commands:

[root@centos62 ~]# echo "64000" > /proc/sys/fs/file-max

Show changes :

[root@centos62 ~]# cat /proc/sys/fs/file-max
64000

or
Simply run this command :

[root@centos62 ~]# echo "fs.file-max = 64000" >> /etc/sysctl.conf

Show changes :

[root@centos62 ~]# cat /etc/sysctl.conf | grep fs.file-max
fs.file-max = 64000

b) Edit /etc/profile as below :

[root@centos62 ~]# echo "ulimit -n 8192" >> /etc/profile

Show changes :

[root@centos62 ~]# cat /etc/profile | grep ulimit
ulimit -n 8192

c) Edit the file descriptors in /etc/security/limits.conf. Add two parameter at the bottom of the configuration file :

[root@centos62 ~]# vi /etc/security/limits.conf
# End of file
* soft nofile 524288
* hard nofile 524288

1.3 Directory Server Tuning :

a) Edit /etc/sysconfig/dirsrv and uncomment “ulimit -n 8192”

[root@centos62 ~]# cat /etc/sysconfig/dirsrv | grep ulimit
# hard limits are raised, then use ulimit - uncomment
# ulimit -n 8192

Edit as below :

[root@centos62 ~]# vi /etc/sysconfig/dirsrv
# In order to make more file descriptors available
# to the directory server, first make sure the system
# hard limits are raised, then use ulimit - uncomment
# out the following line and change the value to the
# desired value
ulimit -n 8192

1.4 Sufficient Memory Assigned :

Make sure you have assign or upgrade the physical memory to at least 1024MB.

2.0 Install 389 Directory Server on CentOS 6.2

This post will show you the quick steps to install 389 Directory Server on linux CentOS 6.2 server using EPEL repository. This post assumed that your CentOS server has been completely installed with minimum packages and the hostname and FQDN also has been configured correctly. Please make sure that you have configured EPEL repository on your CentOS 6.2 server.

Prerequisites :
How to Setup Local Yum Repository from CD-ROM/DVD-ROM image on CentOS 6.2
How to Install and Configure EPEL Repository on CentOS 6.2

2.1 Simply run this command to install 389 Directory Server on linux CentOS 6.2 server

[root@centos62 ~]# yum install 389-ds openldap-clients -y

Examples :

[root@centos62 ~]# yum install 389-ds openldap-clients -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.ipserverone.com
 * epel: ftp.cuhk.edu.hk
 * extras: centos.ipserverone.com
 * updates: centos.ipserverone.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package 389-ds.noarch 0:1.2.2-1.el6 will be installed
--> Processing Dependency: 389-ds-console for package: 389-ds-1.2.2-1.el6.noarch
--> Processing Dependency: 389-ds-console-doc for package: 389-ds-1.2.2-1.el6.noarch
--> Processing Dependency: 389-admin-console-doc for package: 389-ds-1.2.2-1.el6.noarch
--> Processing Dependency: 389-ds-base for package: 389-ds-1.2.2-1.el6.noarch
--> Processing Dependency: 389-admin-console for package: 389-ds-1.2.2-1.el6.noarch
--> Processing Dependency: 389-admin for package: 389-ds-1.2.2-1.el6.noarch
--> Processing Dependency: idm-console-framework for package: 389-ds-1.2.2-1.el6.noarch
--> Processing Dependency: 389-dsgw for package: 389-ds-1.2.2-1.el6.noarch
--> Processing Dependency: 389-console for package: 389-ds-1.2.2-1.el6.noarch
---> Package openldap-clients.i686 0:2.4.23-20.el6 will be installed
--> Running transaction check
---> Package 389-admin.i686 0:1.1.25-1.el6 will be installed
--> Processing Dependency: perl-Mozilla-LDAP for package: 389-admin-1.1.25-1.el6.i686
--> Processing Dependency: nss-tools for package: 389-admin-1.1.25-1.el6.i686
--> Processing Dependency: policycoreutils-python for package: 389-admin-1.1.25-1.el6.i686
--> Processing Dependency: libicudata.so.42 for package: 389-admin-1.1.25-1.el6.i686
--> Processing Dependency: perl(Mozilla::LDAP::API) for package: 389-admin-1.1.25-1.el6.i686
--> Processing Dependency: perl(CGI) for package: 389-admin-1.1.25-1.el6.i686
--> Processing Dependency: libadminutil.so.0 for package: 389-admin-1.1.25-1.el6.i686
--> Processing Dependency: libadmsslutil.so.0 for package: 389-admin-1.1.25-1.el6.i686
--> Processing Dependency: perl(Mozilla::LDAP::Conn) for package: 389-admin-1.1.25-1.el6.i686
--> Processing Dependency: perl(Mozilla::LDAP::Utils) for package: 389-admin-1.1.25-1.el6.i686
--> Processing Dependency: libicui18n.so.42 for package: 389-admin-1.1.25-1.el6.i686
--> Processing Dependency: mod_nss for package: 389-admin-1.1.25-1.el6.i686
--> Processing Dependency: libicuuc.so.42 for package: 389-admin-1.1.25-1.el6.i686
---> Package 389-admin-console.noarch 0:1.1.8-1.el6 will be installed
---> Package 389-admin-console-doc.noarch 0:1.1.8-1.el6 will be installed
---> Package 389-console.noarch 0:1.1.7-1.el6 will be installed
--> Processing Dependency: java >= 1:1.6.0 for package: 389-console-1.1.7-1.el6.noarch
--> Processing Dependency: jpackage-utils for package: 389-console-1.1.7-1.el6.noarch
---> Package 389-ds-base.i686 0:1.2.9.14-1.el6_2.2 will be installed
--> Processing Dependency: 389-ds-base-libs = 1.2.9.14-1.el6_2.2 for package: 389-ds-base-1.2.9.14-1.el6_2.2.i686
--> Processing Dependency: cyrus-sasl-md5 for package: 389-ds-base-1.2.9.14-1.el6_2.2.i686
--> Processing Dependency: libnetsnmpmibs.so.20 for package: 389-ds-base-1.2.9.14-1.el6_2.2.i686
--> Processing Dependency: cyrus-sasl-gssapi for package: 389-ds-base-1.2.9.14-1.el6_2.2.i686
--> Processing Dependency: libnetsnmphelpers.so.20 for package: 389-ds-base-1.2.9.14-1.el6_2.2.i686
--> Processing Dependency: libnetsnmpagent.so.20 for package: 389-ds-base-1.2.9.14-1.el6_2.2.i686
--> Processing Dependency: libnetsnmp.so.20 for package: 389-ds-base-1.2.9.14-1.el6_2.2.i686
--> Processing Dependency: libslapd.so.0 for package: 389-ds-base-1.2.9.14-1.el6_2.2.i686
--> Processing Dependency: libsvrcore.so.0 for package: 389-ds-base-1.2.9.14-1.el6_2.2.i686
---> Package 389-ds-console.noarch 0:1.2.6-1.el6 will be installed
---> Package 389-ds-console-doc.noarch 0:1.2.6-1.el6 will be installed
---> Package 389-dsgw.i686 0:1.1.7-2.el6 will be installed
---> Package idm-console-framework.noarch 0:1.1.7-2.el6 will be installed
--> Processing Dependency: jss >= 4.2 for package: idm-console-framework-1.1.7-2.el6.noarch
--> Processing Dependency: ldapjdk for package: idm-console-framework-1.1.7-2.el6.noarch
--> Running transaction check
---> Package 389-adminutil.i686 0:1.1.14-2.el6 will be installed
---> Package 389-ds-base-libs.i686 0:1.2.9.14-1.el6_2.2 will be installed
---> Package cyrus-sasl-gssapi.i686 0:2.1.23-13.el6 will be installed
---> Package cyrus-sasl-md5.i686 0:2.1.23-13.el6 will be installed
---> Package java-1.6.0-openjdk.i686 1:1.6.0.0-1.43.1.10.6.el6_2 will be installed
--> Processing Dependency: tzdata-java for package: 1:java-1.6.0-openjdk-1.6.0.0-1.43.1.10.6.el6_2.i686
--> Processing Dependency: rhino for package: 1:java-1.6.0-openjdk-1.6.0.0-1.43.1.10.6.el6_2.i686
--> Processing Dependency: libgif.so.4 for package: 1:java-1.6.0-openjdk-1.6.0.0-1.43.1.10.6.el6_2.i686
---> Package jpackage-utils.noarch 0:1.7.5-3.12.el6 will be installed
---> Package jss.i686 0:4.2.6-20.el6 will be installed
---> Package ldapjdk.i686 0:4.18-6.el6 will be installed
--> Processing Dependency: libgcj_bc.so.1 for package: ldapjdk-4.18-6.el6.i686
--> Processing Dependency: java-gcj-compat for package: ldapjdk-4.18-6.el6.i686
--> Processing Dependency: java-gcj-compat for package: ldapjdk-4.18-6.el6.i686
---> Package libicu.i686 0:4.2.1-9.1.el6_2 will be installed
---> Package mod_nss.i686 0:1.0.8-13.el6 will be installed
---> Package net-snmp-libs.i686 1:5.5-37.el6_2.1 will be installed
--> Processing Dependency: libsensors.so.4 for package: 1:net-snmp-libs-5.5-37.el6_2.1.i686
---> Package nss-tools.i686 0:3.13.1-7.el6_2 will be installed
--> Processing Dependency: nss = 3.13.1-7.el6_2 for package: nss-tools-3.13.1-7.el6_2.i686
--> Processing Dependency: libnssutil3.so(NSSUTIL_3.13) for package: nss-tools-3.13.1-7.el6_2.i686
--> Processing Dependency: libnss3.so(NSS_3.13) for package: nss-tools-3.13.1-7.el6_2.i686
---> Package perl-CGI.i686 0:3.51-119.el6_1.1 will be installed
---> Package perl-Mozilla-LDAP.i686 0:1.5.3-4.el6 will be installed
---> Package policycoreutils-python.i686 0:2.0.83-19.21.el6_2 will be installed
--> Processing Dependency: policycoreutils = 2.0.83-19.21.el6_2 for package: policycoreutils-python-2.0.83-19.21.el6_2.i686
--> Processing Dependency: audit-libs-python >= 1.4.2-1 for package: policycoreutils-python-2.0.83-19.21.el6_2.i686
--> Processing Dependency: libsemanage-python >= 2.0.43-4 for package: policycoreutils-python-2.0.83-19.21.el6_2.i686
--> Processing Dependency: setools-libs-python for package: policycoreutils-python-2.0.83-19.21.el6_2.i686
--> Processing Dependency: libcgroup for package: policycoreutils-python-2.0.83-19.21.el6_2.i686
---> Package svrcore.i686 0:4.0.4-5.1.el6 will be installed
--> Running transaction check
---> Package audit-libs-python.i686 0:2.1.3-3.el6 will be installed
---> Package giflib.i686 0:4.1.6-3.1.el6 will be installed
---> Package java-1.5.0-gcj.i686 0:1.5.0.0-29.1.el6 will be installed
--> Processing Dependency: sinjdoc for package: java-1.5.0-gcj-1.5.0.0-29.1.el6.i686
---> Package libcgroup.i686 0:0.37-3.el6 will be installed
---> Package libgcj.i686 0:4.4.6-3.el6 will be installed
--> Processing Dependency: zip >= 2.1 for package: libgcj-4.4.6-3.el6.i686
---> Package libsemanage-python.i686 0:2.0.43-4.1.el6 will be installed
---> Package lm_sensors-libs.i686 0:3.1.1-10.el6 will be installed
---> Package nss.i686 0:3.12.10-17.el6_2 will be updated
--> Processing Dependency: nss = 3.12.10-17.el6_2 for package: nss-sysinit-3.12.10-17.el6_2.i686
---> Package nss.i686 0:3.13.1-7.el6_2 will be an update
--> Processing Dependency: nspr >= 4.8.9 for package: nss-3.13.1-7.el6_2.i686
---> Package nss-util.i686 0:3.12.10-2.el6 will be updated
---> Package nss-util.i686 0:3.13.1-3.el6_2 will be an update
---> Package policycoreutils.i686 0:2.0.83-19.18.el6 will be updated
---> Package policycoreutils.i686 0:2.0.83-19.21.el6_2 will be an update
---> Package rhino.noarch 0:1.7-0.7.r2.2.el6 will be installed
--> Processing Dependency: jline for package: rhino-1.7-0.7.r2.2.el6.noarch
---> Package setools-libs-python.i686 0:3.3.7-4.el6 will be installed
--> Processing Dependency: setools-libs = 3.3.7-4.el6 for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libapol.so.4 for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libsefs.so.4 for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libpoldiff.so.1 for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libseaudit.so.4(VERS_4.2) for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libseaudit.so.4 for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libapol.so.4(VERS_4.0) for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libqpol.so.1(VERS_1.3) for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libqpol.so.1 for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libsefs.so.4(VERS_4.0) for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libpoldiff.so.1(VERS_1.3) for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libapol.so.4(VERS_4.1) for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libqpol.so.1(VERS_1.4) for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libseaudit.so.4(VERS_4.1) for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libpoldiff.so.1(VERS_1.2) for package: setools-libs-python-3.3.7-4.el6.i686
--> Processing Dependency: libqpol.so.1(VERS_1.2) for package: setools-libs-python-3.3.7-4.el6.i686
---> Package tzdata-java.noarch 0:2011n-2.el6 will be installed
--> Running transaction check
---> Package jline.noarch 0:0.9.94-0.8.el6 will be installed
---> Package nspr.i686 0:4.8.8-3.el6 will be updated
---> Package nspr.i686 0:4.8.9-3.el6_2 will be an update
---> Package nss-sysinit.i686 0:3.12.10-17.el6_2 will be updated
---> Package nss-sysinit.i686 0:3.13.1-7.el6_2 will be an update
---> Package setools-libs.i686 0:3.3.7-4.el6 will be installed
---> Package sinjdoc.i686 0:0.5-9.1.el6 will be installed
--> Processing Dependency: java_cup >= 0.10 for package: sinjdoc-0.5-9.1.el6.i686
---> Package zip.i686 0:3.0-1.el6 will be installed
--> Running transaction check
---> Package java_cup.i686 1:0.10k-5.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================
 Package                   Arch      Version                          Repository               Size
====================================================================================================
Installing:
 389-ds                    noarch    1.2.2-1.el6                      epel                    9.9 k
 openldap-clients          i686      2.4.23-20.el6                    CentOS6.2-Repository    155 k
Installing for dependencies:
 389-admin                 i686      1.1.25-1.el6                     epel                    341 k
 389-admin-console         noarch    1.1.8-1.el6                      epel                    202 k
 389-admin-console-doc     noarch    1.1.8-1.el6                      epel                     43 k
 389-adminutil             i686      1.1.14-2.el6                     epel                     64 k
 389-console               noarch    1.1.7-1.el6                      epel                     72 k
 389-ds-base               i686      1.2.9.14-1.el6_2.2               updates                 1.4 M
 389-ds-base-libs          i686      1.2.9.14-1.el6_2.2               updates                 369 k
 389-ds-console            noarch    1.2.6-1.el6                      epel                    1.4 M
 389-ds-console-doc        noarch    1.2.6-1.el6                      epel                     55 k
 389-dsgw                  i686      1.1.7-2.el6                      epel                    460 k
 audit-libs-python         i686      2.1.3-3.el6                      CentOS6.2-Repository     56 k
 cyrus-sasl-gssapi         i686      2.1.23-13.el6                    CentOS6.2-Repository     33 k
 cyrus-sasl-md5            i686      2.1.23-13.el6                    CentOS6.2-Repository     46 k
 giflib                    i686      4.1.6-3.1.el6                    CentOS6.2-Repository     37 k
 idm-console-framework     noarch    1.1.7-2.el6                      epel                    1.1 M
 java-1.5.0-gcj            i686      1.5.0.0-29.1.el6                 CentOS6.2-Repository    138 k
 java-1.6.0-openjdk        i686      1:1.6.0.0-1.43.1.10.6.el6_2      updates                  26 M
 java_cup                  i686      1:0.10k-5.el6                    CentOS6.2-Repository    178 k
 jline                     noarch    0.9.94-0.8.el6                   CentOS6.2-Repository     86 k
 jpackage-utils            noarch    1.7.5-3.12.el6                   CentOS6.2-Repository     59 k
 jss                       i686      4.2.6-20.el6                     CentOS6.2-Repository    745 k
 ldapjdk                   i686      4.18-6.el6                       CentOS6.2-Repository    749 k
 libcgroup                 i686      0.37-3.el6                       CentOS6.2-Repository    102 k
 libgcj                    i686      4.4.6-3.el6                      CentOS6.2-Repository     17 M
 libicu                    i686      4.2.1-9.1.el6_2                  updates                 5.0 M
 libsemanage-python        i686      2.0.43-4.1.el6                   CentOS6.2-Repository     80 k
 lm_sensors-libs           i686      3.1.1-10.el6                     CentOS6.2-Repository     36 k
 mod_nss                   i686      1.0.8-13.el6                     CentOS6.2-Repository     82 k
 net-snmp-libs             i686      1:5.5-37.el6_2.1                 updates                 1.5 M
 nss-tools                 i686      3.13.1-7.el6_2                   updates                 741 k
 perl-CGI                  i686      3.51-119.el6_1.1                 CentOS6.2-Repository    206 k
 perl-Mozilla-LDAP         i686      1.5.3-4.el6                      CentOS6.2-Repository    161 k
 policycoreutils-python    i686      2.0.83-19.21.el6_2               updates                 338 k
 rhino                     noarch    1.7-0.7.r2.2.el6                 CentOS6.2-Repository    778 k
 setools-libs              i686      3.3.7-4.el6                      CentOS6.2-Repository    400 k
 setools-libs-python       i686      3.3.7-4.el6                      CentOS6.2-Repository    210 k
 sinjdoc                   i686      0.5-9.1.el6                      CentOS6.2-Repository    646 k
 svrcore                   i686      4.0.4-5.1.el6                    CentOS6.2-Repository     15 k
 tzdata-java               noarch    2011n-2.el6                      updates                 153 k
 zip                       i686      3.0-1.el6                        CentOS6.2-Repository    252 k
Updating for dependencies:
 nspr                      i686      4.8.9-3.el6_2                    updates                 113 k
 nss                       i686      3.13.1-7.el6_2                   updates                 763 k
 nss-sysinit               i686      3.13.1-7.el6_2                   updates                  30 k
 nss-util                  i686      3.13.1-3.el6_2                   updates                  52 k
 policycoreutils           i686      2.0.83-19.21.el6_2               updates                 640 k

Transaction Summary
====================================================================================================
Install      42 Package(s)
Upgrade       5 Package(s)

Total download size: 63 M
Downloading Packages:
(1/47): 389-admin-1.1.25-1.el6.i686.rpm                                      | 341 kB     00:03
(2/47): 389-admin-console-1.1.8-1.el6.noarch.rpm                             | 202 kB     00:01
(3/47): 389-admin-console-doc-1.1.8-1.el6.noarch.rpm                         |  43 kB     00:00
(4/47): 389-adminutil-1.1.14-2.el6.i686.rpm                                  |  64 kB     00:00
(5/47): 389-console-1.1.7-1.el6.noarch.rpm                                   |  72 kB     00:00
(6/47): 389-ds-1.2.2-1.el6.noarch.rpm                                        | 9.9 kB     00:00
(7/47): 389-ds-base-1.2.9.14-1.el6_2.2.i686.rpm                              | 1.4 MB     00:11
(8/47): 389-ds-base-libs-1.2.9.14-1.el6_2.2.i686.rpm                         | 369 kB     00:03
(9/47): 389-ds-console-1.2.6-1.el6.noarch.rpm                                | 1.4 MB     00:13
(10/47): 389-ds-console-doc-1.2.6-1.el6.noarch.rpm                           |  55 kB     00:00
(11/47): 389-dsgw-1.1.7-2.el6.i686.rpm                                       | 460 kB     00:03
(12/47): idm-console-framework-1.1.7-2.el6.noarch.rpm                        | 1.1 MB     00:08
(13/47): java-1.6.0-openjdk-1.6.0.0-1.43.1.10.6.el6_2.i686.rpm               |  26 MB     03:56
(14/47): libicu-4.2.1-9.1.el6_2.i686.rpm                                     | 5.0 MB     00:44
(15/47): net-snmp-libs-5.5-37.el6_2.1.i686.rpm                               | 1.5 MB     00:13
(16/47): nspr-4.8.9-3.el6_2.i686.rpm                                         | 113 kB     00:00
(17/47): nss-3.13.1-7.el6_2.i686.rpm                                         | 763 kB     00:06
(18/47): nss-sysinit-3.13.1-7.el6_2.i686.rpm                                 |  30 kB     00:00
(19/47): nss-tools-3.13.1-7.el6_2.i686.rpm                                   | 741 kB     00:06
(20/47): nss-util-3.13.1-3.el6_2.i686.rpm                                    |  52 kB     00:00
(21/47): policycoreutils-2.0.83-19.21.el6_2.i686.rpm                         | 640 kB     00:05
(22/47): policycoreutils-python-2.0.83-19.21.el6_2.i686.rpm                  | 338 kB     00:03
(23/47): tzdata-java-2011n-2.el6.noarch.rpm                                  | 153 kB     00:01
----------------------------------------------------------------------------------------------------
Total                                                               174 kB/s |  63 MB     06:11
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : jpackage-utils-1.7.5-3.12.el6.noarch                                            1/52
  Installing : perl-CGI-3.51-119.el6_1.1.i686                                                  2/52
  Installing : jline-0.9.94-0.8.el6.noarch                                                     3/52
  Installing : rhino-1.7-0.7.r2.2.el6.noarch                                                   4/52
  Installing : tzdata-java-2011n-2.el6.noarch                                                  5/52
  Updating   : nspr-4.8.9-3.el6_2.i686                                                         6/52
  Updating   : nss-util-3.13.1-3.el6_2.i686                                                    7/52
  Updating   : nss-sysinit-3.13.1-7.el6_2.i686                                                 8/52
  Updating   : nss-3.13.1-7.el6_2.i686                                                         9/52
  Installing : libicu-4.2.1-9.1.el6_2.i686                                                    10/52
  Installing : perl-Mozilla-LDAP-1.5.3-4.el6.i686                                             11/52
  Installing : nss-tools-3.13.1-7.el6_2.i686                                                  12/52
  Installing : 389-adminutil-1.1.14-2.el6.i686                                                13/52
  Installing : svrcore-4.0.4-5.1.el6.i686                                                     14/52
  Updating   : policycoreutils-2.0.83-19.21.el6_2.i686                                        15/52
  Installing : 389-ds-base-libs-1.2.9.14-1.el6_2.2.i686                                       16/52
  Installing : mod_nss-1.0.8-13.el6.i686                                                      17/52
  Installing : openldap-clients-2.4.23-20.el6.i686                                            18/52
  Installing : lm_sensors-libs-3.1.1-10.el6.i686                                              19/52
  Installing : 1:net-snmp-libs-5.5-37.el6_2.1.i686                                            20/52
  Installing : giflib-4.1.6-3.1.el6.i686                                                      21/52
  Installing : zip-3.0-1.el6.i686                                                             22/52
  Installing : libgcj-4.4.6-3.el6.i686                                                        23/52
  Installing : 1:java-1.6.0-openjdk-1.6.0.0-1.43.1.10.6.el6_2.i686                            24/52
  Installing : java-1.5.0-gcj-1.5.0.0-29.1.el6.i686                                           25/52
  Installing : 1:java_cup-0.10k-5.el6.i686                                                    26/52
  Installing : sinjdoc-0.5-9.1.el6.i686                                                       27/52
  Installing : jss-4.2.6-20.el6.i686                                                          28/52
  Installing : ldapjdk-4.18-6.el6.i686                                                        29/52
  Installing : idm-console-framework-1.1.7-2.el6.noarch                                       30/52
  Installing : 389-console-1.1.7-1.el6.noarch                                                 31/52
  Installing : cyrus-sasl-gssapi-2.1.23-13.el6.i686                                           32/52
  Installing : setools-libs-3.3.7-4.el6.i686                                                  33/52
  Installing : setools-libs-python-3.3.7-4.el6.i686                                           34/52
  Installing : cyrus-sasl-md5-2.1.23-13.el6.i686                                              35/52
  Installing : libcgroup-0.37-3.el6.i686                                                      36/52
  Installing : audit-libs-python-2.1.3-3.el6.i686                                             37/52
  Installing : libsemanage-python-2.0.43-4.1.el6.i686                                         38/52
  Installing : policycoreutils-python-2.0.83-19.21.el6_2.i686                                 39/52
  Installing : 389-ds-base-1.2.9.14-1.el6_2.2.i686                                            40/52
  Installing : 389-admin-1.1.25-1.el6.i686                                                    41/52
  Installing : 389-admin-console-1.1.8-1.el6.noarch                                           42/52
  Installing : 389-ds-console-1.2.6-1.el6.noarch                                              43/52
  Installing : 389-ds-console-doc-1.2.6-1.el6.noarch                                          44/52
  Installing : 389-admin-console-doc-1.1.8-1.el6.noarch                                       45/52
  Installing : 389-dsgw-1.1.7-2.el6.i686                                                      46/52
  Installing : 389-ds-1.2.2-1.el6.noarch                                                      47/52
  Cleanup    : nss-sysinit-3.12.10-17.el6_2.i686                                              48/52
  Cleanup    : nss-3.12.10-17.el6_2.i686                                                      49/52
  Cleanup    : nss-util-3.12.10-2.el6.i686                                                    50/52
  Cleanup    : nspr-4.8.8-3.el6.i686                                                          51/52
  Cleanup    : policycoreutils-2.0.83-19.18.el6.i686                                          52/52

Installed:
  389-ds.noarch 0:1.2.2-1.el6                 openldap-clients.i686 0:2.4.23-20.el6

Dependency Installed:
  389-admin.i686 0:1.1.25-1.el6                          389-admin-console.noarch 0:1.1.8-1.el6
  389-admin-console-doc.noarch 0:1.1.8-1.el6             389-adminutil.i686 0:1.1.14-2.el6
  389-console.noarch 0:1.1.7-1.el6                       389-ds-base.i686 0:1.2.9.14-1.el6_2.2
  389-ds-base-libs.i686 0:1.2.9.14-1.el6_2.2             389-ds-console.noarch 0:1.2.6-1.el6
  389-ds-console-doc.noarch 0:1.2.6-1.el6                389-dsgw.i686 0:1.1.7-2.el6
  audit-libs-python.i686 0:2.1.3-3.el6                   cyrus-sasl-gssapi.i686 0:2.1.23-13.el6
  cyrus-sasl-md5.i686 0:2.1.23-13.el6                    giflib.i686 0:4.1.6-3.1.el6
  idm-console-framework.noarch 0:1.1.7-2.el6             java-1.5.0-gcj.i686 0:1.5.0.0-29.1.el6
  java-1.6.0-openjdk.i686 1:1.6.0.0-1.43.1.10.6.el6_2    java_cup.i686 1:0.10k-5.el6
  jline.noarch 0:0.9.94-0.8.el6                          jpackage-utils.noarch 0:1.7.5-3.12.el6
  jss.i686 0:4.2.6-20.el6                                ldapjdk.i686 0:4.18-6.el6
  libcgroup.i686 0:0.37-3.el6                            libgcj.i686 0:4.4.6-3.el6
  libicu.i686 0:4.2.1-9.1.el6_2                          libsemanage-python.i686 0:2.0.43-4.1.el6
  lm_sensors-libs.i686 0:3.1.1-10.el6                    mod_nss.i686 0:1.0.8-13.el6
  net-snmp-libs.i686 1:5.5-37.el6_2.1                    nss-tools.i686 0:3.13.1-7.el6_2
  perl-CGI.i686 0:3.51-119.el6_1.1                       perl-Mozilla-LDAP.i686 0:1.5.3-4.el6
  policycoreutils-python.i686 0:2.0.83-19.21.el6_2       rhino.noarch 0:1.7-0.7.r2.2.el6
  setools-libs.i686 0:3.3.7-4.el6                        setools-libs-python.i686 0:3.3.7-4.el6
  sinjdoc.i686 0:0.5-9.1.el6                             svrcore.i686 0:4.0.4-5.1.el6
  tzdata-java.noarch 0:2011n-2.el6                       zip.i686 0:3.0-1.el6

Dependency Updated:
  nspr.i686 0:4.8.9-3.el6_2                              nss.i686 0:3.13.1-7.el6_2
  nss-sysinit.i686 0:3.13.1-7.el6_2                      nss-util.i686 0:3.13.1-3.el6_2
  policycoreutils.i686 0:2.0.83-19.21.el6_2

Complete!

3.0 Setup and Configure 389 Directory Server on CentOS 6.2

On previous post, i already shows you on how to tuning and install 389 Directory Server on linux CentOS 6.2 server using EPEL repository. Again, before proceed to setup and configure 389 Directory Server on linux CentOS 6.2 server, please make sure that the hostname and FQDN also has been configured correctly.

3.1 Run the configuration script:

[root@centos62 ~]# setup-ds-admin.pl

Examples complete setup and 389 directory configuration :

[root@centos62 ~]# setup-ds-admin.pl

==============================================================================
This program will set up the 389 Directory and Administration Servers.

It is recommended that you have "root" privilege to set up the software.
Tips for using this program:
  - Press "Enter" to choose the default and go to the next screen
  - Type "Control-B" then "Enter" to go back to the previous screen
  - Type "Control-C" to cancel the setup program

Would you like to continue with set up? [yes]: yes

==============================================================================
Your system has been scanned for potential problems, missing patches,
etc.  The following output is a report of the items found that need to
be addressed before running this software in a production
environment.

389 Directory Server system tuning analysis version 10-AUGUST-2007.

NOTICE : System is i686-unknown-linux2.6.32-220.4.1.el6.i686 (1 processor).

Would you like to continue? [no]: yes

==============================================================================
Choose a setup type:

   1. Express
       Allows you to quickly set up the servers using the most
       common options and pre-defined defaults. Useful for quick
       evaluation of the products.

   2. Typical
       Allows you to specify common defaults and options.

   3. Custom
       Allows you to specify more advanced options. This is
       recommended for experienced server administrators only.

To accept the default shown in brackets, press the Enter key.

Choose a setup type [2]:

==============================================================================
Enter the fully qualified domain name of the computer
on which you're setting up server software. Using the form
.
Example: eros.example.com.

To accept the default shown in brackets, press the Enter key.

Warning: This step may take a few minutes if your DNS servers
can not be reached or if DNS is not configured correctly.  If
you would rather not wait, hit Ctrl-C and run this program again
with the following command line option to specify the hostname:

    General.FullMachineName=your.hostname.domain.name

Computer name [centos62.ehowstuff.local]:

==============================================================================
The servers must run as a specific user in a specific group.
It is strongly recommended that this user should have no privileges
on the computer (i.e. a non-root user).  The setup procedure
will give this user/group some permissions in specific paths/files
to perform server-specific operations.

If you have not yet created a user and group for the servers,
create this user and group using your native operating
system utilities.

System User [nobody]:
System Group [nobody]:

==============================================================================
Server information is stored in the configuration directory server.
This information is used by the console and administration server to
configure and manage your servers.  If you have already set up a
configuration directory server, you should register any servers you
set up or create with the configuration server.  To do so, the
following information about the configuration server is required: the
fully qualified host name of the form
.(e.g. hostname.example.com), the port number
(default 389), the suffix, the DN and password of a user having
permission to write the configuration information, usually the
configuration directory administrator, and if you are using security
(TLS/SSL).  If you are using TLS/SSL, specify the TLS/SSL (LDAPS) port
number (default 636) instead of the regular LDAP port number, and
provide the CA certificate (in PEM/ASCII format).

If you do not yet have a configuration directory server, enter 'No' to
be prompted to set up one.

Do you want to register this software with an existing
configuration directory server? [no]:

==============================================================================
Please enter the administrator ID for the configuration directory
server.  This is the ID typically used to log in to the console.  You
will also be prompted for the password.

Configuration directory server
administrator ID [admin]:
Password:
Password (confirm):

==============================================================================
The information stored in the configuration directory server can be
separated into different Administration Domains.  If you are managing
multiple software releases at the same time, or managing information
about multiple domains, you may use the Administration Domain to keep
them separate.

If you are not using administrative domains, press Enter to select the
default.  Otherwise, enter some descriptive, unique name for the
administration domain, such as the name of the organization
responsible for managing the domain.

Administration Domain [ehowstuff.local]:

==============================================================================
The standard directory server network port number is 389.  However, if
you are not logged as the superuser, or port 389 is in use, the
default value will be a random unused port number greater than 1024.
If you want to use port 389, make sure that you are logged in as the
superuser, that port 389 is not in use.

Directory server network port [389]:

==============================================================================
Each instance of a directory server requires a unique identifier.
This identifier is used to name the various
instance specific files and directories in the file system,
as well as for other uses as a server instance identifier.

Directory server identifier [centos62]:

==============================================================================
The suffix is the root of your directory tree.  The suffix must be a valid DN.
It is recommended that you use the dc=domaincomponent suffix convention.
For example, if your domain is example.com,
you should use dc=example,dc=com for your suffix.
Setup will create this initial suffix for you,
but you may have more than one suffix.
Use the directory server utilities to create additional suffixes.

Suffix [dc=ehowstuff, dc=local]:

==============================================================================
Certain directory server operations require an administrative user.
This user is referred to as the Directory Manager and typically has a
bind Distinguished Name (DN) of cn=Directory Manager.
You will also be prompted for the password for this user.  The password must
be at least 8 characters long, and contain no spaces.
Press Control-B or type the word "back", then Enter to back up and start over.

Directory Manager DN [cn=Directory Manager]:
Password:
Password (confirm):

==============================================================================
The Administration Server is separate from any of your web or application
servers since it listens to a different port and access to it is
restricted.

Pick a port number between 1024 and 65535 to run your Administration
Server on. You should NOT use a port number which you plan to
run a web or application server on, rather, select a number which you
will remember and which will not be used for anything else.

Administration port [9830]:

==============================================================================
The interactive phase is complete.  The script will now set up your
servers.  Enter No or go Back if you want to change something.

Are you ready to set up your servers? [yes]:
Creating directory server . . .
Your new DS instance 'centos62' was successfully created.
Creating the configuration directory server . . .
Beginning Admin Server creation . . .
Creating Admin Server files and directories . . .
Updating adm.conf . . .
Updating admpw . . .
Registering admin server with the configuration directory server . . .
Updating adm.conf with information from configuration directory server . . .
Updating the configuration for the httpd engine . . .
Starting admin server . . .
output: Starting dirsrv-admin:
output:                                                    [  OK  ]
The admin server was successfully started.
Admin server was successfully created, configured, and started.
Exiting . . .
Log file is '/tmp/setup1EmS4N.log'

4.0 Start, Stop and Restart 389 Directory Server on CentOS 6.2

This post will guide you on how to start, stop, restart and check dirsrv status for 389 Directory Server on linux CentOS 6.2 server. This post assumed that you have already installed and properly configured the 389 Directory Server on CentOS 6.2.

4.1 Some of the dirsrv usage for 389 Directory Server :

Usage: /etc/init.d/dirsrv {start|stop|status|restart|condrestart} [instance-name]

4.2 How to start 389 Directory Server :

[root@centos62 ~]# /etc/init.d/dirsrv start
Starting dirsrv:
    centos62...                                            [  OK  ]

4.3 How to stop 389 Directory Server :

[root@centos62 ~]# /etc/init.d/dirsrv stop
Shutting down dirsrv:
    centos62...                                            [  OK  ]

4.4 How to restart 389 Directory Server :

[root@centos62 ~]# /etc/init.d/dirsrv restart
Shutting down dirsrv:
    centos62...                                            [  OK  ]

4.5 How to check the status 389 Directory Server :

[root@centos62 ~]# /etc/init.d/dirsrv status
dirsrv centos62 (pid 1296) is running...

5.0 Configure Iptables Firewall for 389 Directory Server on CentOS 6.2

I will show the ports that need to be by passed in iptables firewall in order to make 389 Directory server accessible and working perfectly. Before the Windows Console (installed 389 Console.msi) from client’ PC connecting to 389 administration server, there are 3 important ports has to opened from iptables firewall. This will allow linux administrator or LDAP administrator to perform LDAP server search query or linux administration’s task. There are three(3) ports that are normally should be opened on 389 Directory Server.

a) Port 389 (ldap)
b) Port 636 (ldaps – only if using TLS/SSL)
c) Admin server port (9830 by default)

5.1 Run netstat command to see opened port :

[root@centos62 ~]# netstat -plunt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1105/sshd
tcp        0      0 127.0.0.1:5432              0.0.0.0:*                   LISTEN      1140/postmaster
tcp        0      0 0.0.0.0:9830                0.0.0.0:*                   LISTEN      1415/httpd.worker
tcp        0      0 :::22                       :::*                        LISTEN      1105/sshd
tcp        0      0 ::1:5432                    :::*                        LISTEN      1140/postmaster
tcp        0      0 :::389                      :::*                        LISTEN      1792/ns-slapd

5.2 Open the iptables firewall configuration file then enable port 389, 636 and 9830 go through iptables firewall :

[root@centos62 ~]# vi /etc/sysconfig/iptables

5.3 Add these three(3) lines:

 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 389 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 636 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9830 -j ACCEPT

5.4 Then restart the iptables firewall :

[root@centos62 ~]# service iptables restart

Hope this complete steps may help you to prepare, tuning, install and configure 389 directory on your linux server.

How to Setup Local Yum Repository from CD-ROM/DVD-ROM image on CentOS 5.8

In this post, i will share on how to setup local yum repository from CD-ROM/DVD-ROM image on CentOS 5.8. This quick setup will very useful for those who do not have internet connection and does not have yum repository server on their organization. Using local yum repository, you will able to perform yum installation using the available packages on your CD-ROM/DVD-ROM. This steps may be also working on other version of CentOS server.

1. Insert DVD/ISO into DVD-Drive.
2. Mount the ISO from the DVD-ROM into /mnt directory :

[root@centos58 ~]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only

3. Create centos58.repo text file in /etc/yum.repos.d/ with the following content. Please create something as follow:

[root@centos58 ~]# vi /etc/yum.repos.d/centos58.repo
[CentOS5.8-Repository]
name=DVD-CentOS5.8 repository
baseurl=file:///mnt
enabled=1
gpgcheck=0

4. Finish. You can start install, remove and update using yum command :
Example :

[root@centos58 ~]# yum install httpd -y

How to Check Routing Tables on Fedora 16

In Linux operating system, routing table is used by the computer networks or servers to stores the routes of the destinations that responsible for forwarding. Routing tables contain a list of IP addresses and each of IP addresses identifies a network gateway. In this post, i will show you three ways to check and display the linux Routing Table on Fedora 16 server.

By using Route Command :
Route manipulates the kernel’s IP routing tables. Its primary use is to set up static routes to specific hosts or networks via an interface after it has been configured.

By using netstat command :
Netstat prints information about the Linux networking subsystem such as network connections, routing tables and interface statistics.

1. Display routing table using “route -n” :

[root@fedora16 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 p3p1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 p3p1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 p3p1

2. Display routing table using “netstat -rn” :

[root@fedora16 ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 p3p1
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 p3p1
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 p3p1

3. Display routing table using “ip route show” :

[root@fedora16 ~]# ip route show
default via 192.168.1.1 dev p3p1
169.254.0.0/16 dev p3p1  scope link  metric 1002
192.168.1.0/24 dev p3p1  proto kernel  scope link  src 192.168.1.47