User:Djgreen/Cronserver:Setup

From WolfTech
Jump to navigation Jump to search

PHP

Packages to add:

  • libpng-devel
  • libjpeg-devel

(fixed libjpeg error)

  • freetype-devel

(fixed freetype2 error)

  • libxml2
  • libxml2-devel

(fixed libxml / xml installation issues)

  • aspell-devel

(fixed pspell issue)

  • net-snmp
  • net-snmp-devel
  • php-snmp

(fixed snmp.h error)

Mkdir /opt/php5

Install PHP 5.1.2 locally:

chronos% ./configure --enable-cli --disable-cgi --prefix=/opt/php5/ --exec-prefix=/opt/php5/ --with-bz2 --with-kerberos=/usr/kerberos --with-zlib --enable-bcmath --enable-calendar --with-curl --enable-ftp --with-gd --with-ldap --with-snmp --enable-mbstring --with-gmp --with-ncurses --enable-exif --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-tiff --enable-shmop --enable-yp --with-gettext --with-ttf --with-pear --enable-memory-limit --with-pic --with-ldap-sasl --with-pcntl --with-openssl --with-mysql=/usr/bin --with-mysqli=/usr/bin/mysql_config --enable-shared --with-sybase-ct=/opt/sybase-12.5/OCS-12_5

chronos% make
chronos% make install

[root@chronos php-5.1.2]# make install
Installing PHP CLI binary:        /opt/php5/bin/
Installing PHP CLI man page:      /opt/php5/man/man1/
Installing build environment:     /opt/php5/lib/php/build/
Installing header files:          /opt/php5/include/php/
Installing helper programs:       /opt/php5/bin/
  program: phpize
  program: php-config
Installing man pages:             /opt/php5/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /opt/php5/lib/php/
[PEAR] Archive_Tar    - installed: 1.3.1
[PEAR] Console_Getopt - installed: 1.2
pear/PEAR can optionally use package "pear/XML_RPC" (version >= 1.4.0)
[PEAR] PEAR           - installed: 1.4.6
Wrote PEAR system config file at: /opt/php5/etc/pear.conf
You may want to add: /opt/php5/lib/php to your php.ini include_path
Installing PDO headers:          /opt/php5/include/php/ext/pdo/
[root@chronos php-5.1.2]# 
./configure --enable-cli --disable-cgi --prefix=/opt/php5 --exec-prefix=/opt/php5 --with-bz2 --with-kerberos=/usr/kerberos --with-zlib --enable-bcmath --enable-calendar --with-curl --enable-ftp --with-gd --with-ldap=shared --with-snmp=shared --enable-mbstring --with-gmp --with-ncurses --enable-exif --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-tiff --enable-shmop --enable-yp --with-gettext --with-ttf --with-pear --enable-memory-limit --with-pic --with-pcntl --with-openssl --with-mysql=/usr/bin --with-mysqli=/usr/bin/mysql_config --enable-shared --with-sybase-ct=/opt/sybase-12.5/OCS-12_5 --with-pspell


[root@chronos php-5.1.2]# make install
Installing PHP CLI binary:        /opt/php5/bin/
Installing PHP CLI man page:      /opt/php5/man/man1/
Installing shared extensions:     /opt/php5/lib/php/extensions/no-debug-non-zts-20050922/
Installing build environment:     /opt/php5/lib/php/build/
Installing header files:          /opt/php5/include/php/
Installing helper programs:       /opt/php5/bin/
  program: phpize
  program: php-config
Installing man pages:             /opt/php5/man/man1/
  page: phpize.1
  page: php-config.1
Installing PEAR environment:      /opt/php5/lib/php/
[PEAR] Archive_Tar    - already installed: 1.3.1
[PEAR] Console_Getopt - already installed: 1.2
[PEAR] PEAR           - already installed: 1.4.6
Wrote PEAR system config file at: /opt/php5/etc/pear.conf
You may want to add: /opt/php5/lib/php to your php.ini include_path
Installing PDO headers:          /opt/php5/include/php/ext/pdo/
[root@chronos php-5.1.2]#

Not sure how important the /var/net-snmp/snmpapp.conf is... but when once running the build as root, it was installed anyway. Pretty sure its SNMP trapping, which isn't that necessary (we just want the snmp querying ability).

LDAP

Find the file /etc/openldap/ldap.conf

Add this line:

TLS_REQCERT never

Without this, AD LDAP will fail.

MYSQL DRIVERS

Since PHP installs no longer bundle MySQL clients, I've had to locally install MySQL clients on CHRONOS. Anyone wishing to use MYSQL support with the PHP CLI, will need to have the MySQL client locally installed on the cron server running the PHP scripts.

You'll need to download the Mysql5 client RPMs from www.mysql.com -- RHEL doesn't have that version at the moment.

 rpm -Uvh MySQL-client-standard-5.0.20-0.rhel4.i386.rpm
 rpm -Uvh MySQL-devel-standard-5.0.20-0.rhel4.i386.rpm
 rpm -Uvh MySQL-shared-standard-5.0.20-0.rhel4.i386.rpm

Not entirely sure the latter two are needed.

SYBASE DRIVERS

You'll need to install these drivers in /opt/sybase-12.5/ Replace the default interfaces with the one at /afs/bp/dist/sybase125/

Package provided by ITD - drivers (sybase125.lnx.tar) were in /afs/bp.ncsu.edu/dist/sybase125/src/ when I last looked. Once unpacked, move into the OCS folder, and run OCS.sh to configure the env variables. OK, so running that didn't seem to work... however, setting the following manually did (use only one of these, depending on the shell you're using):

export SYBASE=/opt/sybase-12.5; export SYBASE_OCS=OCS-12_5; export PATH=${SYBASE}/${SYBASE_OCS}/bin:$PATH; export LD_LIBRARY_PATH=${SYBASE}/${SYBASE_OCS}/lib:${LD_LIBRARY_PATH} setenv SYBASE /opt/sybase-12.5; setenv SYBASE_OCS OCS-12_5; setenv PATH ${SYBASE}/${SYBASE_OCS}/bin:$PATH; setenv LD_LIBRARY_PATH ${SYBASE}/${SYBASE_OCS}/lib:${LD_LIBRARY_PATH}

    • Micah has written a wrapper script to run in front of the php cmd so you can skip setting these variables. Be sure to move a copy of it local to the machine.

Also, add the following line to locales.dat (in the /opt/sybase-12.5/locales/ directory) under the linux/english section:

locale = en_US.UTF-8, us_english, utf8

Running

  export LANG en_US

would probably also work.

SQSH

Download from www.sqsh.com. Install locally in /opt/sqsh/. Using the Linux binaries, run the ./install.sh script to install. Easy. When in doubt, go with the default.

Before running: setenv LANG en_US (or 'export LANG=en_US')

CRONTAB

All cron files are located in /afs/eos/engrservers/cron/ece_cronjobs/

Be sure to run the CRONTAB BACKUP script (/afs/eos/engrservers/cron/ece_cronjobs/crontab/chronsave.php) so you always can restore the most recent version of the crontab.