Difference between revisions of "User:Djgreen/Cronserver:Setup"

From WolfTech
Jump to navigation Jump to search
m
m
Line 1: Line 1:
 
==Redirect Root Emails==
 
==Redirect Root Emails==
 
change /etc/aliases, last line.  change root: WHATEVER to read root: wolftech-root@ncsu.edu
 
change /etc/aliases, last line.  change root: WHATEVER to read root: wolftech-root@ncsu.edu
==LYNX==
+
 
Some of our scripts still require 'lynx'.
 
  yum update lynx
 
will fix it.
 
 
==Packages==
 
==Packages==
 
Packages to add:
 
Packages to add:
Line 10: Line 7:
 
yum update 'packagename'
 
yum update 'packagename'
  
 +
*lynx (required by some of our crons)
 
*libpng-devel
 
*libpng-devel
 
*libjpeg-devel (fixed libjpeg error)
 
*libjpeg-devel (fixed libjpeg error)
Line 21: Line 19:
 
*openldap-devel
 
*openldap-devel
 
*openldap-clients
 
*openldap-clients
 +
 +
*gcc
  
 
The linux kickstart should have these already installed/updated... but best to check.
 
The linux kickstart should have these already installed/updated... but best to check.
Line 26: Line 26:
  
 
You will need to install php-snmp (fixed snmp.h error). Make sure its the current version (RHEL might not see).
 
You will need to install php-snmp (fixed snmp.h error). Make sure its the current version (RHEL might not see).
 +
 +
 +
==LDAP Config==
 +
Find the file /etc/openldap/ldap.conf
 +
 +
Add this line:
 +
<pre>
 +
TLS_REQCERT never
 +
</pre>
 +
Without this, AD LDAP will fail.
 +
 +
==MS-SQL DRIVERS==
 +
* To use the MSSQL extension on Unix/Linux, you first need to build and install the FreeTDS library. Source code and installation instructions are available at the FreeTDS home page: http://www.freetds.org/
 +
Get the stable, not current version.
 +
<pre>
 +
mkdir /opt/freetds-0.82
 +
ln -s /opt/freetds-0.82 /opt/freetds
 +
./configure --prefix=/opt/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld
 +
make
 +
make install
 +
</pre>
 +
 +
===References===
 +
* http://us3.php.net/mssql
 +
* http://www.freetds.org/userguide/install.htm
 +
* http://www.linuxjournal.com/article/6636
 +
* http://www.phpfreaks.com/forums/index.php/board,35.0.html
 +
 +
 +
==QIP==
 +
Login to chronos, su/sudo to root
 +
cp -a /afs/bp/dist/qip62 /root
 +
cd /root
 +
cd qip62
 +
cd .dist
 +
rm -rf .sun4x_58
 +
rm -rf .sun4x_510
 +
cd ../
 +
rm {classes,errors,help,_jvm,report,tmp,etc,jre,qip.pcy,sybase,usr}
 +
mv .dist/ia32_rhel3/* /root/qip62
 +
rm -rf .dist
 +
 +
Point scripts at /root/qip62/BLAH, and be sure to set environment variables as needed in the script, similar to the way their done in the test-qip-micah script, currently in the cron locker.
  
 
==Install PHP / MySQL Client==
 
==Install PHP / MySQL Client==
Line 92: Line 135:
 
</pre>
 
</pre>
  
==LDAP==
 
Find the file /etc/openldap/ldap.conf
 
  
Add this line:
 
<pre>
 
TLS_REQCERT never
 
</pre>
 
Without this, AD LDAP will fail.
 
  
==QIP==
 
Login to chronos, su/sudo to root
 
cp -a /afs/bp/dist/qip62 /root
 
cd /root
 
cd qip62
 
cd .dist
 
rm -rf .sun4x_58
 
cd ../
 
rm {classes,errors,help,_jvm,report,tmp,etc,jre,qip.pcy,sybase,usr}
 
mv .dist/ia32_rhel4/* /root/qip62
 
rm -rf .dist
 
  
Point scripts at /root/qip62/BLAH, and be sure to set environment variables as needed in the script, similar to the way their done in the test-qip-micah script, currently in the cron locker.
 
  
  
Line 128: Line 152:
  
 
You'll need to install these drivers in /opt/sybase-12.5/
 
You'll need to install these drivers in /opt/sybase-12.5/
Replace the default interfaces with the one at /afs/bp/dist/sybase125/
+
*Create folder /opt/sybase-12.5
 
+
*Unpack tar in here. Package provided by ITD - drivers (sybase125.lnx.tar) were in /afs/bp.ncsu.edu/dist/sybase125/src/ when I last looked.
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):
+
*Replace the default interfaces with the one at /afs/bp/dist/sybase125/
<pre>
 
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}
 
set SYBASE /opt/sybase-12.5
 
set SYBASE_OCS OCS-12_5
 
set PATH ${SYBASE}/${SYBASE_OCS}/bin:$PATH
 
set LD_LIBRARY_PATH ${SYBASE}/${SYBASE_OCS}/lib:${LD_LIBRARY_PATH}
 
</pre>
 
 
 
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:  
 
Also, add the following line to locales.dat (in the /opt/sybase-12.5/locales/ directory) under the linux/english section:  
Line 156: Line 168:
 
chmod 755 /opt/sybase-12.5/interfaces </pre>
 
chmod 755 /opt/sybase-12.5/interfaces </pre>
  
==MS-SQL DRIVERS==
+
====Notes====
* To use the MSSQL extension on Unix/Linux, you first need to build and install the FreeTDS library. Source code and installation instructions are available at the FreeTDS home page: http://www.freetds.org/
+
Micah has written a wrapper script (env_wrapper) 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.  
 +
 
 +
Just in case heres the variables:
 +
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):
 
<pre>
 
<pre>
mkdir /opt/freetds-0.64
+
export SYBASE=/opt/sybase-12.5
ln -s /opt/freetds-0.64 /opt/freetds
+
export SYBASE_OCS=OCS-12_5
./configure --prefix=/opt/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld
+
export PATH=${SYBASE}/${SYBASE_OCS}/bin:$PATH
make
+
export LD_LIBRARY_PATH=${SYBASE}/${SYBASE_OCS}/lib:${LD_LIBRARY_PATH}
make install
+
set SYBASE /opt/sybase-12.5
 +
set SYBASE_OCS OCS-12_5
 +
set PATH ${SYBASE}/${SYBASE_OCS}/bin:$PATH
 +
set LD_LIBRARY_PATH ${SYBASE}/${SYBASE_OCS}/lib:${LD_LIBRARY_PATH}
 
</pre>
 
</pre>
  
===References===
 
* http://us3.php.net/mssql
 
* http://www.freetds.org/userguide/install.htm
 
* http://www.linuxjournal.com/article/6636
 
* http://www.phpfreaks.com/forums/index.php/board,35.0.html
 
  
 
==SQSH==
 
==SQSH==
Line 195: Line 208:
  
 
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.
 
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.
 
==ht://check==
 
Installed '''ht://check''' from http://htcheck.sourceforge.net/
 
(check here for version 2.0 now: http://sourceforge.net/projects/htcheck/files/)
 
 
*Unpack the tarball.
 
*Created wrt (chronos only) + rd users + 'htcheck' db in Mysql server.
 
*Moved the PHP files in to w3.wolftech/admin/htcheck, and edited global.inc.php.
 
 
<pre>
 
mkdir /opt/htcheck-1.2.4-rc1
 
ln -s /opt/htcheck-1.2.4-rc1 /opt/htcheck
 
./configure --prefix=/opt/htcheck --with-mysql
 
make
 
make install
 
</pre>
 
*Edited /opt/htcheck/conf/htcheck.conf
 
**unhashed '''mysql_conf_file_prefix: htcheck'''
 
**added urls to the start_url line
 
*Created ~/.htcheck.cnf (in root)
 
<pre>
 
[client]
 
hostname=mysql5.ece.ncsu.edu
 
user=htcheck-wrt
 
password=XXXX
 
</pre>
 
*Setup cron to run /opt/htcheck/bin/htcheck -i once a day.
 

Revision as of 14:28, 4 January 2011

Redirect Root Emails

change /etc/aliases, last line. change root: WHATEVER to read root: wolftech-root@ncsu.edu

Packages

Packages to add:

yum update 'packagename'

  • lynx (required by some of our crons)
  • 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
  • openldap
  • openldap-devel
  • openldap-clients
  • gcc

The linux kickstart should have these already installed/updated... but best to check.


You will need to install php-snmp (fixed snmp.h error). Make sure its the current version (RHEL might not see).


LDAP Config

Find the file /etc/openldap/ldap.conf

Add this line:

TLS_REQCERT never

Without this, AD LDAP will fail.

MS-SQL DRIVERS

  • To use the MSSQL extension on Unix/Linux, you first need to build and install the FreeTDS library. Source code and installation instructions are available at the FreeTDS home page: http://www.freetds.org/

Get the stable, not current version.

mkdir /opt/freetds-0.82
ln -s /opt/freetds-0.82 /opt/freetds
./configure --prefix=/opt/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld
make
make install

References


QIP

Login to chronos, su/sudo to root

cp -a /afs/bp/dist/qip62 /root
cd /root
cd qip62
cd .dist
rm -rf .sun4x_58
rm -rf .sun4x_510
cd ../
rm {classes,errors,help,_jvm,report,tmp,etc,jre,qip.pcy,sybase,usr}
mv .dist/ia32_rhel3/* /root/qip62
rm -rf .dist

Point scripts at /root/qip62/BLAH, and be sure to set environment variables as needed in the script, similar to the way their done in the test-qip-micah script, currently in the cron locker.

Install PHP / MySQL Client

Add in IUR Repo for PHP: http://wiki.iuscommunity.org/Doc/ClientUsageGuide

wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5.5/i386/ius-release-1.0-6.ius.el5.noarch.rpm wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5.5/i386/epel-release-1-1.ius.el5.noarch.rpm (you'll need to update these to point at the current release: http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/i386/)



Install PHP 5.1.2 locally:

chronos% mkdir /opt/php-ver
chronos% ln -s /opt/php-ver /opt/php5

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 --with-mssql=/opt/freetds

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]# 

Now you need to create a php.ini file in the /opt/php5/lib folder with the following two lines:

[PHP]
memory_limit = 100M

This will allow for scripts with a much higher memory requirement than the standard 8M. Don't enter anything else as the rest of the defaults (as compiled) are fine.

Notes

  • Received the following error when I tried to make install php 5.1.4. Can also reproduce by running, ./sapi/cli/php. Error caused by --with-mysql=/usr/bin --with-mysqli=/usr/bin/mysql_config.
Installing PEAR environment:      /opt/php5/lib/php/
make[1]: *** [install-pear-installer] Segmentation fault
make: *** [install-pear] Error 2




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

SYBASE DRIVERS

You'll need to install these drivers in /opt/sybase-12.5/

  • Create folder /opt/sybase-12.5
  • Unpack tar in here. Package provided by ITD - drivers (sybase125.lnx.tar) were in /afs/bp.ncsu.edu/dist/sybase125/src/ when I last looked.
  • Replace the default interfaces with the one at /afs/bp/dist/sybase125/

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.

Don't forget to replace the 'interfaces' file with the one in AFS. Otherwise SYBASE won't know where the NCSU servers are.

cp /afs/bp/dist/sybase125/interfaces /opt/sybase-12.5/interfaces
chmod 755 /opt/sybase-12.5/interfaces 

Notes

Micah has written a wrapper script (env_wrapper) 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.

Just in case heres the variables:

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}
set SYBASE /opt/sybase-12.5
set SYBASE_OCS OCS-12_5
set PATH ${SYBASE}/${SYBASE_OCS}/bin:$PATH
set LD_LIBRARY_PATH ${SYBASE}/${SYBASE_OCS}/lib:${LD_LIBRARY_PATH}


SQSH

  1. Download from www.sqsh.com.
  2. Install locally in /opt/sqsh/.
mkdir /opt/sqsh-2.1.4
ln -s /opt/sqsh-2.1.4 /opt/sqsh
./configure --prefix=/opt/sqsh
make
make install
  1. Using the Linux binaries, run the ./install.sh script to install.
  2. 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.