×
Create a new article
Write your page title here:
We currently have 3,189 articles on s23. Type your article name above or create one of the articles listed here!



    s23
    3,189Articles

    Nagios/build/Solaris: Difference between revisions

    Content added Content deleted
    imported>DrOwl
    imported>DrOwl
     
    (6 intermediate revisions by the same user not shown)
    Line 1: Line 1:

    ==Building Nagios On Solaris Sparc==
    ==Building Nagios On Solaris Sparc==


    Line 19: Line 18:


    # export CC ; CC=gcc
    # export CC ; CC=gcc
    # export LD_LIBRARY_PATH; LD_LIBRARY_PATH=/usr/sfw/lib:/usr/local/ssl/lib
    # export LD_LIBRARY_PATH; LD_LIBRARY_PATH=/usr/sfw/lib:/usr/local/ssl/lib
    # export PATH ; PATH=/usr/local/bin:/usr/sfw/bin:/usr/sbin:/usr/bin:/usr/ccs/bin
    # export PATH ; PATH=/usr/local/bin:/usr/sfw/bin:/usr/sbin:/usr/bin:/usr/ccs/bin


    Line 31: Line 28:
    # gunzip libiconv-1.11-sol10-sparc-local.gz
    # gunzip libiconv-1.11-sol10-sparc-local.gz
    # pkgadd -d libiconv-1.11-sol10-sparc-local
    # pkgadd -d libiconv-1.11-sol10-sparc-local




    ====Install Lib gd====
    ====Install Lib gd====
    Line 64: Line 59:
    Refer to the Read Only Webaccount Patch below
    Refer to the Read Only Webaccount Patch below


    # ./configure --prefix=/opt/nagios-3.0.6 --with-nagios-user=nagios --with-nagios-group=nagios --with-gd-lib=/opt/libgd/lib --with-gd-inc=/opt/libgd/include
    # ./configure --prefix=/opt/nagios-3.0.6 --with-nagios-user=nagios --with-nagios-group=nagios --with-gd-lib=/opt/libgd/lib --with-gd-inc=/opt/libgd/include
    # gmake pkgclean
    # gmake pkgclean
    # gmake all
    # gmake all
    # gmake pkgset
    # gmake pkgset


    ===checkinstall.in===
    ===Read Only Web account patch===


    #!/bin/sh
    #
    expected_platform="!SUN_PLATFORM!"
    #
    platform=`uname -p`
    #
    if [ ${platform} != ${expected_platform} ]; then
    echo "\n\n\n\tThis package must be installed on a ${expected_platform} architecture\n"
    echo "\tAborting installation.\n\n\n"
    exit 1
    fi
    exit 0

    ===Makefile.in.diff===
    --- Makefile.in.orig 2010-11-02 09:20:51.257339000 +0000
    +++ Makefile.in 2010-11-02 10:00:49.290644000 +0000
    @@ -303,6 +303,8 @@
    # Solaris pkgmk
    PACKDIR=@PACKDIR@
    VERSION=@VERSION@
    +SUN_OS_RELEASE=$(shell uname -r | cut -f2 -d. )
    +SUN_PLATFORM=$(shell uname -p)
    Prototype:
    if [ ! -d $(PACKDIR) ] ; then mkdir $(PACKDIR); fi
    @@ -314,12 +316,17 @@
    $(INSTALL) -m 644 sample-config/nagios.cfg $(PACKDIR)$(CFGDIR)/nagios.cfg.$(VERSION)
    $(INSTALL) -m 644 sample-config/cgi.cfg $(PACKDIR)$(CFGDIR)/cgi.cfg.$(VERSION)
    $(INSTALL) -m 640 sample-config/resource.cfg $(PACKDIR)$(CFGDIR)/resource.cfg.$(VERSION)
    - $(INSTALL) -m 664 sample-config/template-object/bigger.cfg $(PACKDIR)$(CFGDIR)/bigger.cfg.$(VERSION)
    - $(INSTALL) -m 664 sample-config/template-object/minimal.cfg $(PACKDIR)$(CFGDIR)/minimal.cfg.$(VERSION)
    - $(INSTALL) -m 664 sample-config/template-object/checkcommands.cfg $(PACKDIR)$(CFGDIR)/checkcommands.cfg.$(VERSION)
    - $(INSTALL) -m 664 sample-config/template-object/misccommands.cfg $(PACKDIR)$(CFGDIR)/misccommands.cfg.$(VERSION)
    + $(INSTALL) -m 664 sample-config/template-object/commands.cfg $(PACKDIR)$(CFGDIR)/commands.cfg.$(VERSION)
    + $(INSTALL) -m 664 sample-config/template-object/contacts.cfg $(PACKDIR)$(CFGDIR)/contacts.cfg.$(VERSION)
    + $(INSTALL) -m 664 sample-config/template-object/localhost.cfg $(PACKDIR)$(CFGDIR)/localhost.cfg.$(VERSION)
    + $(INSTALL) -m 664 sample-config/template-object/printer.cfg $(PACKDIR)$(CFGDIR)/printer.cfg.$(VERSION)
    + $(INSTALL) -m 664 sample-config/template-object/switch.cfg $(PACKDIR)$(CFGDIR)/switch.cfg.$(VERSION)
    + $(INSTALL) -m 664 sample-config/template-object/templates.cfg $(PACKDIR)$(CFGDIR)/templates.cfg.$(VERSION)
    + $(INSTALL) -m 664 sample-config/template-object/timeperiods.cfg $(PACKDIR)$(CFGDIR)/timeperiods.cfg.$(VERSION)
    + $(INSTALL) -m 664 sample-config/template-object/windows.cfg $(PACKDIR)$(CFGDIR)/windows.cfg.$(VERSION)
    cd contrib; $(MAKE) all; $(MAKE) DESTDIR=$(PACKDIR) INIT_OPTS='' INSTALL_OPTS='' COMMAND_OPTS='' nagios_grp='' nagios_usr='' install
    echo i pkginfo> Prototype
    + if [ -f checkinstall.in ] ; then cat checkinstall.in | sed 's/!SUN_PLATFORM!/$(SUN_PLATFORM)/g' >checkinstall; fi
    if [ -f checkinstall ] ; then echo i checkinstall>> Prototype; fi
    if [ -f preinstall ] ; then echo i preinstall>> Prototype; fi
    if [ -f postinstall ] ; then echo i postinstall>> Prototype; fi
    @@ -329,10 +336,15 @@
    mkdir $(PACKDIR)/nagios
    pkgmk -o -r / -f Prototype -d $(PACKDIR) nagios
    -nagios.SPARC.pkg.tar.gz: pkg/nagios/pkgmap
    - cd $(PACKDIR) && tar -cf - nagios | gzip -9 -c > ../nagios.SPARC.pkg.tar.gz
    +nagios.sun.pkg.tar.gz: pkg/nagios/pkgmap
    + cd $(PACKDIR) && tar -cf - nagios | gzip -9 -c > ../nagios-$(VERSION)-Sol$(SUN_OS_RELEASE)-$(SUN_PLATFORM).pkg.tar.gz
    -pkgset: nagios.SPARC.pkg.tar.gz
    +nagios.sun.pkg: pkg/nagios/pkgmap
    + pkgtrans -s $(PACKDIR) ../nagios-$(VERSION)-Sol$(SUN_OS_RELEASE)-$(SUN_PLATFORM).pkg nagios
    +
    +pkgsettar: nagios.sun.pkg.tar.gz
    +
    +pkgset: nagios.sun.pkg
    pkgclean:
    - rm -rf pkg Prototype nagios.SPARC.pkg.tar.gz
    + rm -rf pkg Prototype nagios-$(VERSION)-$(SUN_PLATFORM).pkg.tar.gz

    ===Read Only Web account patch===


    get the patch from http://www.nagios3book.com/
    get the patch from http://www.nagios3book.com/

    Latest revision as of 15:04, 12 November 2010

    Building Nagios On Solaris Sparc[edit]

    Prepare[edit]

    Install gcc[edit]

    get the gcc package form sunfreeware

    # wget ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/gcc-3.4.6-sol10-sparc-local.gz
    
    # gunzip gcc-3.4.6-sol10-sparc-local.gz
    
    # pkgadd -d gcc-3.4.6-sol10-sparc-local
    

    you then need to set up the environment (you can add this to /etc/profile or some enlivenment =)

    # export CC ; CC=gcc
    # export LD_LIBRARY_PATH;  LD_LIBRARY_PATH=/usr/sfw/lib:/usr/local/ssl/lib
    # export PATH ; PATH=/usr/local/bin:/usr/sfw/bin:/usr/sbin:/usr/bin:/usr/ccs/bin
    
    install ligiconv[edit]

    gcc needs libiconv

    wget ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/libiconv-1.11-sol10-sparc-local.gz

    # gunzip libiconv-1.11-sol10-sparc-local.gz
    # pkgadd -d libiconv-1.11-sol10-sparc-local
    

    Install Lib gd[edit]

    Get the source form www.libgd.org

    # wget http://www.libgd.org/releases/gd-2.0.35.tar.gz
    
    # gunzip -dc gd-2.0.35.tar.gz | tar -xf -
    
    # cd gd-2.0.35
    
    # ./configure --prefix=/opt/libgd
    ...
    # make
    ...
    # make install
    ...
    
    

    Build Nagios server[edit]

    get the nagios source from www.nagios.org

    # gunzip -dc nagios-3.0.6.tar.gz | tar -xf -
    
    # cd nagios-3.0.6
    
    # groupadd -g 510 nagios
    # useradd -u 510 -g nagios nagios
    

    Refer to the Read Only Webaccount Patch below

    # ./configure --prefix=/opt/nagios-3.0.6 --with-nagios-user=nagios --with-nagios-group=nagios --with-gd-lib=/opt/libgd/lib   --with-gd-inc=/opt/libgd/include
    # gmake pkgclean
    # gmake all
    # gmake pkgset
    

    checkinstall.in[edit]

    #!/bin/sh
    #
    expected_platform="!SUN_PLATFORM!"
    #
    platform=`uname -p`
    #
    if [ ${platform} != ${expected_platform} ]; then
        echo "\n\n\n\tThis package must be installed on a ${expected_platform} architecture\n"
        echo "\tAborting installation.\n\n\n"
        exit 1
    fi
    exit 0
    

    Makefile.in.diff[edit]

    --- Makefile.in.orig	2010-11-02 09:20:51.257339000 +0000
    +++ Makefile.in	2010-11-02 10:00:49.290644000 +0000
    @@ -303,6 +303,8 @@
     # Solaris pkgmk
     PACKDIR=@PACKDIR@
     VERSION=@VERSION@
    +SUN_OS_RELEASE=$(shell uname -r | cut -f2 -d. )
    +SUN_PLATFORM=$(shell uname -p)
     
     Prototype:
     	if [ ! -d $(PACKDIR) ] ; then mkdir $(PACKDIR); fi
    @@ -314,12 +316,17 @@
     	$(INSTALL) -m 644 sample-config/nagios.cfg $(PACKDIR)$(CFGDIR)/nagios.cfg.$(VERSION)
     	$(INSTALL) -m 644 sample-config/cgi.cfg $(PACKDIR)$(CFGDIR)/cgi.cfg.$(VERSION)
     	$(INSTALL) -m 640 sample-config/resource.cfg $(PACKDIR)$(CFGDIR)/resource.cfg.$(VERSION)
    -	$(INSTALL) -m 664 sample-config/template-object/bigger.cfg $(PACKDIR)$(CFGDIR)/bigger.cfg.$(VERSION)
    -	$(INSTALL) -m 664 sample-config/template-object/minimal.cfg $(PACKDIR)$(CFGDIR)/minimal.cfg.$(VERSION)
    -	$(INSTALL) -m 664 sample-config/template-object/checkcommands.cfg $(PACKDIR)$(CFGDIR)/checkcommands.cfg.$(VERSION)
    -	$(INSTALL) -m 664 sample-config/template-object/misccommands.cfg $(PACKDIR)$(CFGDIR)/misccommands.cfg.$(VERSION)
    +	$(INSTALL) -m 664 sample-config/template-object/commands.cfg $(PACKDIR)$(CFGDIR)/commands.cfg.$(VERSION)
    +	$(INSTALL) -m 664 sample-config/template-object/contacts.cfg $(PACKDIR)$(CFGDIR)/contacts.cfg.$(VERSION)
    +	$(INSTALL) -m 664 sample-config/template-object/localhost.cfg $(PACKDIR)$(CFGDIR)/localhost.cfg.$(VERSION)
    +	$(INSTALL) -m 664 sample-config/template-object/printer.cfg $(PACKDIR)$(CFGDIR)/printer.cfg.$(VERSION)
    +	$(INSTALL) -m 664 sample-config/template-object/switch.cfg $(PACKDIR)$(CFGDIR)/switch.cfg.$(VERSION)
    +	$(INSTALL) -m 664 sample-config/template-object/templates.cfg $(PACKDIR)$(CFGDIR)/templates.cfg.$(VERSION)
    +	$(INSTALL) -m 664 sample-config/template-object/timeperiods.cfg $(PACKDIR)$(CFGDIR)/timeperiods.cfg.$(VERSION)
    +	$(INSTALL) -m 664 sample-config/template-object/windows.cfg $(PACKDIR)$(CFGDIR)/windows.cfg.$(VERSION)
     	cd contrib; $(MAKE) all; $(MAKE) DESTDIR=$(PACKDIR) INIT_OPTS= INSTALL_OPTS= COMMAND_OPTS= nagios_grp= nagios_usr= install
     	echo i pkginfo> Prototype
    +	if [ -f checkinstall.in ] ; then cat checkinstall.in | sed 's/!SUN_PLATFORM!/$(SUN_PLATFORM)/g' >checkinstall; fi
     	if [ -f checkinstall ] ; then echo i checkinstall>> Prototype; fi
     	if [ -f preinstall ] ; then echo i preinstall>> Prototype; fi
     	if [ -f postinstall ] ; then echo i postinstall>> Prototype; fi
    @@ -329,10 +336,15 @@
     	mkdir $(PACKDIR)/nagios
     	pkgmk -o -r / -f Prototype -d $(PACKDIR) nagios
     
    -nagios.SPARC.pkg.tar.gz: pkg/nagios/pkgmap
    -	cd $(PACKDIR) && tar -cf - nagios | gzip -9 -c > ../nagios.SPARC.pkg.tar.gz
    +nagios.sun.pkg.tar.gz: pkg/nagios/pkgmap
    +	cd $(PACKDIR) && tar -cf - nagios | gzip -9 -c > ../nagios-$(VERSION)-Sol$(SUN_OS_RELEASE)-$(SUN_PLATFORM).pkg.tar.gz
     
    -pkgset: nagios.SPARC.pkg.tar.gz
    +nagios.sun.pkg: pkg/nagios/pkgmap
    +	pkgtrans -s $(PACKDIR) ../nagios-$(VERSION)-Sol$(SUN_OS_RELEASE)-$(SUN_PLATFORM).pkg nagios
    +
    +pkgsettar: nagios.sun.pkg.tar.gz
    +
    +pkgset: nagios.sun.pkg
     
     pkgclean:
    -	rm -rf pkg Prototype nagios.SPARC.pkg.tar.gz
    +	rm -rf pkg Prototype nagios-$(VERSION)-$(SUN_PLATFORM).pkg.tar.gz
    

    Read Only Web account patch[edit]

    get the patch from http://www.nagios3book.com/

    in the directory you have extracted the nagios source code:

    # wget http://www.nagios3book.com/nagios-3-enm/patches/readonly.tar
    
    # tar xvf readonly.tar
    
    
    

    in the cgi/ dir

    # patch -r cgiauth.c < cgiauth.diff
    # patch -r extinfo.c < extinfo.diff
    

    and in the include/ dir

    # patch -r cgiauth.h < cgiauth.h.diff
    





    Building Nagios On Solaris x86[edit]

    Prepare[edit]

    Install gcc[edit]

    get the gcc package form sunfreeware

    # wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/gcc-3.4.6-sol10-x86-local.gz
    
    # gunzip gcc-3.4.6-sol10-x86-local.gz
    
    # pkgadd -d gcc-3.4.6-sol10-x86-local
    

    you then need to set up the enviroment (you can add this to /etc/profile or some eqilivent =)

    # export CC ; CC=gcc
    
    # export LD_LIBRARY_PATH;  LD_LIBRARY_PATH=/usr/sfw/lib:/usr/local/ssl/lib
    
    # export PATH ; PATH=/usr/local/bin:/usr/sfw/bin:/usr/sbin:/usr/bin:/usr/ccs/bin
    
    install ligiconv[edit]

    gcc need libiconv

    wget ftp://ftp.sunfreeware.com/pub/freeware/intel/10/libiconv-1.11-sol10-x86-local.gz

    # gunzip libiconv-1.11-sol10-x86-local.gz 
    # pkgadd -d libiconv-1.11-sol10-x86-local 
    


    Install Lib gd[edit]

    Get the source form www.libgd.org

    # wget http://www.libgd.org/releases/gd-2.0.35.tar.gz
    
    # gunzip -dc gd-2.0.35.tar.gz | tar -xf -
    
    # cd gd-2.0.35
    
    # ./configure --prefix=/opt/libgd
    ...
    # make
    ...
    # make install
    ...
    
    

    Build Nagios server[edit]

    get the nagios source from www.nagios.org

    # gunzip -dc nagios-3.0.3.tar.gz | tar -xf -
    
    # cd nagios-3.0.3
    
    # groupadd -g 510 nagios
    # useradd -u 510 -g nagios nagios
    

    Referee to the Read Only Webaccount Patch below

    # ./configure --prefix=/opt/nagios-3.0.3 --with-nagios-user=nagios --with-nagios-group=nagios --with-gd-lib=/opt/libgd/lib   --with-gd-inc=/opt/libgd/include
    
    # gmake 
    





    Read Only Web account patch[edit]

    get the patch from http://www.nagios3book.com/

    in the directory you have extracted the nagios source code:

    # wget http://www.nagios3book.com/nagios-3-enm/patches/readonly.tar
    
    # tar xvf readonly.tar
    
    
    

    in the cgi/ dir

    # patch -r cgiauth.c < cgiauth.diff
    # patch -r extinfo.c < extinfo.diff
    

    and in the include/ dir

    # patch -r cgiauth.h < cgiauth.h.diff
    
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.
    Cookies help us deliver our services. By using our services, you agree to our use of cookies.