<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8936532190993265029</id><updated>2011-07-07T18:04:04.694-07:00</updated><title type='text'>The Briar Patch</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-5481076816550701394</id><published>2007-11-09T09:42:00.000-08:00</published><updated>2007-11-09T09:45:05.984-08:00</updated><title type='text'>w32 time finally fixed</title><content type='html'>for years, our computer clocks have been off. everytime i sat down for a 20 minute shot to try and get it working, it always failed. finally found a site that walked through the process and it finally works!&lt;br /&gt;&lt;br /&gt;http://www.anotherurl.com/library/network_time.htm&lt;br /&gt;&lt;br /&gt;snip:&lt;br /&gt;Setting the time automatically is just so simple™. Run this ruin:&lt;br /&gt;net time /setsntp:"ntp2a.mcc.ac.uk ntp2b.mcc.ac.uk"&lt;br /&gt;&lt;br /&gt;Port 123 must be open&lt;br /&gt;So how DO you know it's all working?&lt;br /&gt;&lt;br /&gt;turn off the time service&lt;br /&gt;net stop w32time&lt;br /&gt;&lt;br /&gt;set the time out by 10 minutes&lt;br /&gt;C:\&gt;time&lt;br /&gt;The current time is: 15:54:45.17&lt;br /&gt;Enter the new time: 16:04&lt;br /&gt;&lt;br /&gt;check it&lt;br /&gt;C:\&gt;time&lt;br /&gt;The current time is: 16:04:43.35&lt;br /&gt;Enter the new time:&lt;br /&gt;&lt;br /&gt;type:&lt;br /&gt;&lt;br /&gt;C:\&gt;w32tm -once&lt;br /&gt;&lt;br /&gt;.....&lt;br /&gt;&lt;br /&gt;W32Time: *****SetSystemTime()*****&lt;br /&gt;W32Time: END Line 1258&lt;br /&gt;W32Time: Time was 06min 08.201s&lt;br /&gt;W32Time: Time is 57min 08.431s&lt;br /&gt;W32Time: Error 539770ms&lt;br /&gt;W32Time: BEGIN:CheckLeapFlag&lt;br /&gt;W32Time: END:Line 584&lt;br /&gt;W32Time: BEGIN:ComputePostTimeData&lt;br /&gt;W32Time: BEGIN:ComputeInterval&lt;br /&gt;W32Time: END Line 2452&lt;br /&gt;W32Time: BEGIN:ComputeSleepStuff&lt;br /&gt;W32Time: Computed stagger is 0ms, bias is 0ms&lt;br /&gt;W32Time: Time until next sync - 2699.960s&lt;br /&gt;W32Time: END:Line 794&lt;br /&gt;W32Time: END:Line 220&lt;br /&gt;W32Time: END:Line 195&lt;br /&gt;W32Time: BEGIN:TermTime&lt;br /&gt;W32Time: TimeMMCleanup()&lt;br /&gt;W32Time: BEGIN:FinishCleanup&lt;br /&gt;W32Time: BEGIN:TsUpTheThread&lt;br /&gt;W32Time: END Line 1385&lt;br /&gt;W32Time: Time service stopped.&lt;br /&gt;W32Time: END:Line 407&lt;br /&gt;&lt;br /&gt;now check the time, and restart the service&lt;br /&gt;&lt;br /&gt;C:\&gt;time&lt;br /&gt;The current time is: 15:58:39.37&lt;br /&gt;Enter the new time:&lt;br /&gt;&lt;br /&gt;C:\&gt;net start w32time&lt;br /&gt;&lt;br /&gt;The Windows Time service was started successfully.&lt;br /&gt;&lt;br /&gt;Finally make sure the time service starts automatically.&lt;br /&gt;&lt;br /&gt;From the client machines on the domain type w32tm /resync&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-5481076816550701394?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/5481076816550701394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=5481076816550701394' title='41 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/5481076816550701394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/5481076816550701394'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/11/w32-time-finally-fixed.html' title='w32 time finally fixed'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>41</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-6492432786603841152</id><published>2007-11-09T07:29:00.000-08:00</published><updated>2007-11-09T08:02:12.601-08:00</updated><title type='text'>xp machine not able to access w2k domain</title><content type='html'>this is a sporadic problem on our w2k domain. &lt;br /&gt;&lt;br /&gt;i have a new xp laptop that can join the domain, login to the machine on the domain with access privileges, and ping the domain name. it cannot however access or ping any of the hosts no the network - even the domain controller. &lt;br /&gt;&lt;br /&gt;following the script here:&lt;br /&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;314861&lt;br /&gt;&lt;br /&gt;trying:&lt;br /&gt;nltest /dsgetdc:domain &lt;br /&gt;works fine&lt;br /&gt;&lt;br /&gt;trying:&lt;br /&gt;nslookup server_name.child_of_root_domain.root_domain.com &lt;br /&gt;fails&lt;br /&gt;*** can't find server name for address 192...[dc ip]: non-existent domain&lt;br /&gt;*** default servers are not available.&lt;br /&gt;http://support.microsoft.com/kb/200525&lt;br /&gt;This error occurs when there is no PTR record for the name server's IP address. When Nslookup.exe starts, it does a reverse lookup to get the name of the default server. If no PTR data exists, this error message is returned. To correct make sure that a reverse lookup zone exists and contains PTR records for the name servers.&lt;br /&gt;&lt;br /&gt;For additional information, see the following article or articles in the Microsoft Knowledge Base:&lt;br /&gt;172953 (http://support.microsoft.com/kb/172953/EN-US/) How to Install and Configure Microsoft DNS Server &lt;br /&gt;did this but still get the nslookup issue and still unable to ping anybody&lt;br /&gt;&lt;br /&gt;trying:&lt;br /&gt;ipconfig /registerdns&lt;br /&gt;that worked finally!!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-6492432786603841152?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/6492432786603841152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=6492432786603841152' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/6492432786603841152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/6492432786603841152'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/11/xp-machine-not-able-to-access-w2k.html' title='xp machine not able to access w2k domain'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-3537835375456498454</id><published>2007-09-08T14:18:00.000-07:00</published><updated>2007-09-08T17:00:57.493-07:00</updated><title type='text'>Drupal cron job setups on SiteGround</title><content type='html'>The purpose of this post is to save failed attempts at getting this working.&lt;br /&gt;&lt;br /&gt;ATTEMPT 1a/1b&lt;br /&gt;/usr/local/bin/php /home/username/public_html/cron.php&lt;br /&gt;/usr/bin/php /home/username/public_html/cron.php&lt;br /&gt;&lt;br /&gt;both result in this error:&lt;br /&gt;Warning: main(./includes/bootstrap.inc): failed to open stream: No such file or directory in /home/username/public_html/cron.php on line 9&lt;br /&gt;&lt;br /&gt;Warning: main(): Failed opening './includes/bootstrap.inc' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/username/public_html/cron.php on line 9&lt;br /&gt;&lt;br /&gt;Fatal error: Call to undefined function drupal_bootstrap() in /home/username/public_html/cron.php on line 10&lt;br /&gt;&lt;br /&gt;This post indicates you can't get to it via command line php and says to go wget route:&lt;br /&gt;http://drupal.org/node/153247&lt;br /&gt;&lt;br /&gt;ATTEMPT 2 - WGET&lt;br /&gt;wget -O - -q http://www.mydomain.net/cron.php&lt;br /&gt;/usr/bin/wget -O - -q http://www.&lt;domain&gt;.com/cron.php -U "Mozilla/4.0"&lt;br /&gt;&lt;br /&gt;neither appeared to run - they did not send a notification either&lt;br /&gt;&lt;br /&gt;this one works for me:&lt;br /&gt;wget -O - http://www.mydomain.net/cron.php&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-3537835375456498454?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/3537835375456498454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=3537835375456498454' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/3537835375456498454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/3537835375456498454'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/09/drupal-cron-job-setups-on-siteground.html' title='Drupal cron job setups on SiteGround'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-3936867599561140305</id><published>2007-08-08T18:04:00.000-07:00</published><updated>2007-08-08T18:06:09.817-07:00</updated><title type='text'>OpenID for Drupal and .NET</title><content type='html'>&lt;p&gt; Having serious doubts about the LDAP direction. Doing some research/play with openid found this guy who built a drupal module support for it:&lt;br /&gt;&lt;/p&gt; http://www.jirwin.net/&lt;br /&gt;&lt;a href="http://jirwin.net/openid-5-2.tar.gz" title="http://jirwin.net/openid-5-2.tar.gz" rel="nofollow"&gt;http://jirwin.net/openid-5-2.tar.gz&lt;/a&gt; - it is not yet ready for drupal 5.&lt;br /&gt;&lt;br /&gt;&lt;p&gt;duh - i finally found it. its not listed among the modules for some reason:&lt;/p&gt; &lt;p&gt;http://drupal.org/project/openid&lt;br /&gt;&lt;/p&gt;the old version was crashing drupal, so i needed to disable it by hand in phpmyadmin &lt;p&gt;&lt;code&gt;UPDATE system set status = 0 WHERE name = [module name];&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/p&gt; &lt;p&gt;   .net&lt;br /&gt;&lt;/p&gt;  http://www.openidenabled.com/openid/libraries/csharp&lt;br /&gt;&lt;p&gt; http://cs.nerdbank.net/blogs/jmpinline/archive/2007/01/09/Getting-OpenID-user-profile-information-using-JanRain_2700_s-.NET-assembly.aspx &lt;/p&gt; http://lists.openidenabled.com/mailman/listinfo/dev&lt;br /&gt;&lt;br /&gt;&lt;p&gt; What i like about openid (if i can actually get it working). is that it separates and solves a single very important problem and answers a primary question - who is this user? knowing that and not having to maintain separate user accounts and passwords and password retrievers, reseters, etc. etc. is a big deal. getting a unique id from every user is a big deal. its also a big deal to force someone to go create a secondary openid, which they won't likely do, but they would create a second id on our system.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;  &lt;br /&gt;&lt;/p&gt; &lt;p&gt; What openID will not do for us is groups. we will need some process/mechanism to tell each drupal site or .net service what group someone is in, and therefore what access rights they have.&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;   Also, openid seems like a good thing to put in exchange contacts web address field - urn:schemas:contacts:businesshomepage in order to CRU contact information in a self-service manner using webdav for exchange&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-3936867599561140305?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/3936867599561140305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=3936867599561140305' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/3936867599561140305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/3936867599561140305'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/08/openid-for-drupal-and-net.html' title='OpenID for Drupal and .NET'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-1108567106602117283</id><published>2007-07-25T16:50:00.000-07:00</published><updated>2007-07-25T16:51:44.823-07:00</updated><title type='text'>Scratch - Shell Script Part 1</title><content type='html'>#!/bin/sh&lt;br /&gt;set -e&lt;br /&gt;&lt;br /&gt;# Version 0.6c, 2007-06-21&lt;br /&gt;# - Updated 2007-06-21 by Eric Lannert (eric.lannert@gmail.com)&lt;br /&gt;#   - added openldap, openssl, and bdb&lt;br /&gt;#   - changed flow to package by package - I found the need to run in pieces and wanted&lt;br /&gt;#     to make it easier for future add-on's&lt;br /&gt;#   - added switch to choose whether to delete source directory as this prevents incremental installs&lt;br /&gt;#     and recovering from errors&lt;br /&gt;#   - NOTE - I do not know where oracle's ftp is for the bdb, so the script assumes you&lt;br /&gt;#     have downloaded via http and uploaded by hand&lt;br /&gt;#   - abstracted wget_source to a reusable function&lt;br /&gt;#   - added LD_LIBRARY_PATH, CPPFLAGS, and LDFLAGS to chk_prepare&lt;br /&gt;# - Updated 2007-06-08 by Chris Shymanik (chris@chipsncheese.com)&lt;br /&gt;#   - Will backup and re-install any old php.ini's found (see notes in wiki about this).&lt;br /&gt;#   - Source file detection.&lt;br /&gt;#   - Allows cgi-bin to be installed in a sub-directory (EXTDIR)&lt;br /&gt;#   - Created steps as functions, for easier troubleshooting/modification.&lt;br /&gt;#   - Updated various packages and did some additional code cleanup.&lt;br /&gt;#   - OSSP mm (Shared Memory Allocation) and bzip2 packages added.&lt;br /&gt;#   - Changed which binary to use, based on the new location in PHP 5.2.3.&lt;br /&gt;# - Updated 2007-01-15 by Charles Wiltgen (charles@wiltgen.net)&lt;br /&gt;#   - Make "nicer" to help keep it from getting killed by DreamHost&lt;br /&gt;#   - Make less verbose to keep signal-to-noise level high&lt;br /&gt;# - Updated 2006-12-25 by Carl McDade (hiveminds.co.uk)&lt;br /&gt;#   - Allow memory limit and freetype&lt;br /&gt;&lt;br /&gt;#### User Configuration Options&lt;br /&gt;## Domain &amp; Directory Configuration&lt;br /&gt;# Domain to install to&lt;br /&gt;export DOMAIN="events.icstars.org"&lt;br /&gt;# Temporary source directory&lt;br /&gt;SRCDIR=${HOME}/source&lt;br /&gt;# Download temporary DIST files to which directory?&lt;br /&gt;DISTDIR=${HOME}/dist&lt;br /&gt;# Delete contents of DISTDIR after installation? (Default: No)&lt;br /&gt;DISTDEL="No"&lt;br /&gt;# Delete contents of SRCDIR after installation? (Default: No)&lt;br /&gt;SRCDEL="No"&lt;br /&gt;# Backup your previous php.ini files to which directory (if any)?&lt;br /&gt;# Please Note: You'll need to remove this directory manually if it's used.&lt;br /&gt;# (!!You MUST use a trailing slash when specifying this directive!!)&lt;br /&gt;BACKUPDIR=${HOME}/php5tmp/&lt;br /&gt;# Install PHP5 to which directory?&lt;br /&gt;INSTALLDIR=${HOME}/php5&lt;br /&gt;# Install PHP5's cgi-bin files to a directory besides home?&lt;br /&gt;#    ie.: /home/username/mywebsite.com/sub/level/directory&lt;br /&gt;EXTYESNO="No"&lt;br /&gt;# Directory under home in which the cgi-bin files will be installed to&lt;br /&gt;#    ie.: /sub/level/directory&lt;br /&gt;EXTDIR=main&lt;br /&gt;# Nice Level for Processes. (Deprecated)&lt;br /&gt;# Higher is nicer, lower is less nice and could get your install process killed!&lt;br /&gt;NICE=19&lt;br /&gt;# Wget options&lt;br /&gt;WGETOPT="-t1 -T10 -w5 -q -c"&lt;br /&gt;&lt;br /&gt;####Setup environment&lt;br /&gt;chk_prepare&lt;br /&gt;chkproc_paths&lt;br /&gt;&lt;br /&gt;####Download and install each package&lt;br /&gt;#LIBICONV&lt;br /&gt;FOLDER="libiconv-1.11"&lt;br /&gt;FILENAME=${FOLDER}.tar.gz&lt;br /&gt;MIRROR1="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/distfiles/${FILENAME}"&lt;br /&gt;MIRROR2="http://mirrors.usc.edu/pub/gnu/libiconv/${FILENAME}"&lt;br /&gt;CONFIGURESWITCHES="--enable-extra-encodings --prefix=${INSTALLDIR}"&lt;br /&gt;wget_source&lt;br /&gt;cd ${SRCDIR}&lt;br /&gt;echo "Extracting ${FILENAME}..."&lt;br /&gt;tar xzf ${DISTDIR}/${FILENAME} &gt; /dev/null&lt;br /&gt;cd ${SRCDIR}/${FOLDER}&lt;br /&gt;echo "Configuring ${FOLDER}..."&lt;br /&gt;./configure ${CONFIGURESWITCHES}&lt;br /&gt;echo "Making ${FOLDER}..."&lt;br /&gt;nice -n ${NICE} make&lt;br /&gt;echo "Installing ${FOLDER}..."&lt;br /&gt;nice -n ${NICE} make install&lt;br /&gt;echo "Done with ${FOLDER}!"&lt;br /&gt;&lt;br /&gt;#LIBMCRYPT&lt;br /&gt;FOLDER="libmcrypt-2.5.8"&lt;br /&gt;FILENAME=${FOLDER}.tar.gz&lt;br /&gt;MIRROR1="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/distfiles/${FILENAME}"&lt;br /&gt;MIRROR2="http://umn.dl.sourceforge.net/sourceforge/mcrypt/${FILENAME}"&lt;br /&gt;CONFIGURESWITCHES="--enable-extra-encodings --prefix=${INSTALLDIR}"&lt;br /&gt;wget_source&lt;br /&gt;cd ${SRCDIR}&lt;br /&gt;echo "Extracting ${FILENAME}..."&lt;br /&gt;tar xzf ${DISTDIR}/${FILENAME} &gt; /dev/null&lt;br /&gt;cd ${SRCDIR}/${FOLDER}&lt;br /&gt;echo "Configuring ${FOLDER}..."&lt;br /&gt;./configure ${CONFIGURESWITCHES}&lt;br /&gt;echo "Making ${FOLDER}..."&lt;br /&gt;nice -n ${NICE} make&lt;br /&gt;echo "Installing ${FOLDER}..."&lt;br /&gt;nice -n ${NICE} make install&lt;br /&gt;echo "Done with ${FOLDER}!"&lt;br /&gt;&lt;br /&gt;#LIBXML2&lt;br /&gt;FOLDER="libxml2-2.6.28"&lt;br /&gt;FILENAME=${FOLDER}.tar.gz&lt;br /&gt;MIRROR1="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/distfiles/${FILENAME}"&lt;br /&gt;MIRROR2="ftp://xmlsoft.org/libxml2/${FILENAME}"&lt;br /&gt;CONFIGURESWITCHES="--enable-extra-encodings --prefix=${INSTALLDIR}"&lt;br /&gt;wget_source&lt;br /&gt;cd ${SRCDIR}&lt;br /&gt;echo "Extracting ${FILENAME}..."&lt;br /&gt;tar xzf ${DISTDIR}/${FILENAME} &gt; /dev/null&lt;br /&gt;cd ${SRCDIR}/${FOLDER}&lt;br /&gt;echo "Configuring ${FOLDER}..."&lt;br /&gt;./configure ${CONFIGURESWITCHES}&lt;br /&gt;echo "Making ${FOLDER}..."&lt;br /&gt;nice -n ${NICE} make&lt;br /&gt;echo "Installing ${FOLDER}..."&lt;br /&gt;nice -n ${NICE} make install&lt;br /&gt;echo "Done with ${FOLDER}!"&lt;br /&gt;&lt;br /&gt;#LIBXSLT&lt;br /&gt;FOLDER="libxslt-1.1.20"&lt;br /&gt;FILENAME=${FOLDER}.tar.gz&lt;br /&gt;MIRROR1="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/distfiles/${FILENAME}"&lt;br /&gt;MIRROR2="ftp://xmlsoft.org/libxml2/${FILENAME}"&lt;br /&gt;CONFIGURESWITCHES=" \&lt;br /&gt; --prefix=${INSTALLDIR} \&lt;br /&gt; --with-libxml-prefix=${INSTALLDIR} \&lt;br /&gt; --with-libxml-include-prefix=${INSTALLDIR}/include/ \&lt;br /&gt; --with-libxml-libs-prefix=${INSTALLDIR}/lib/"&lt;br /&gt;wget_source&lt;br /&gt;cd ${SRCDIR}&lt;br /&gt;echo "Extracting ${FILENAME}..."&lt;br /&gt;tar xzf ${DISTDIR}/${FILENAME} &gt; /dev/null&lt;br /&gt;cd ${SRCDIR}/${FOLDER}&lt;br /&gt;echo "Configuring ${FOLDER}..."&lt;br /&gt;./configure ${CONFIGURESWITCHES}&lt;br /&gt;echo "Making ${FOLDER}..."&lt;br /&gt;nice -n ${NICE} make&lt;br /&gt;echo "Installing ${FOLDER}..."&lt;br /&gt;nice -n ${NICE} make install&lt;br /&gt;echo "Done with ${FOLDER}!"&lt;br /&gt;&lt;br /&gt;#MHASH&lt;br /&gt;FOLDER="mhash-0.9.9"&lt;br /&gt;FILENAME=${FOLDER}.tar.gz&lt;br /&gt;MIRROR1="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/distfiles/${FILENAME}"&lt;br /&gt;MIRROR2="http://umn.dl.sourceforge.net/sourceforge/mhash/${FILENAME}"&lt;br /&gt;CONFIGURESWITCHES="\&lt;br /&gt;--prefix=${INSTALLDIR}"&lt;br /&gt;wget_source&lt;br /&gt;cd ${SRCDIR}&lt;br /&gt;echo "Extracting ${FILENAME}..."&lt;br /&gt;tar xzf ${DISTDIR}/${FILENAME} &gt; /dev/null&lt;br /&gt;cd ${SRCDIR}/${FOLDER}&lt;br /&gt;echo "Configuring ${FOLDER}..."&lt;br /&gt;./configure ${CONFIGURESWITCHES}&lt;br /&gt;echo "Making ${FOLDER}..."&lt;br /&gt;nice -n ${NICE} make&lt;br /&gt;echo "Installing ${FOLDER}..."&lt;br /&gt;nice -n ${NICE} make install&lt;br /&gt;echo "Done with ${FOLDER}!"&lt;br /&gt;&lt;br /&gt;#ZLIB&lt;br /&gt;FOLDER="zlib-1.2.3"&lt;br /&gt;FILENAME=${FOLDER}.tar.bz2&lt;br /&gt;MIRROR1="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/distfiles/${FILENAME}"&lt;br /&gt;MIRROR2="http://www.zlib.net/${FILENAME}"&lt;br /&gt;CONFIGURESWITCHES="\&lt;br /&gt;--shared --prefix=${INSTALLDIR}"&lt;br /&gt;wget_source&lt;br /&gt;cd ${SRCDIR}&lt;br /&gt;echo "Extracting ${FILENAME}..."&lt;br /&gt;tar xzf ${DISTDIR}/${FILENAME} &gt; /dev/null&lt;br /&gt;cd ${SRCDIR}/${FOLDER}&lt;br /&gt;echo "Configuring ${FOLDER}..."&lt;br /&gt;./configure ${CONFIGURESWITCHES}&lt;br /&gt;echo "Making ${FOLDER}..."&lt;br /&gt;nice -n ${NICE} make&lt;br /&gt;echo "Installing ${FOLDER}..."&lt;br /&gt;nice -n ${NICE} make install&lt;br /&gt;echo "Done with ${FOLDER}!"&lt;br /&gt;&lt;br /&gt;###########################################&lt;br /&gt;# SUPPORT FUNCTIONS&lt;br /&gt;&lt;br /&gt;###########################################&lt;br /&gt;## Function to check for an existing install and kill if exists.&lt;br /&gt;function check_prepare()&lt;br /&gt;{&lt;br /&gt;# Push the install dir's bin directory into the path&lt;br /&gt;export PATH=${INSTALLDIR}/bin:$PATH&lt;br /&gt;&lt;br /&gt;# set the install dir's lib and include directories for LD_LIBRARY_PATH, CPPFLAGS and LDFLAGS&lt;br /&gt;export LD_LIBRARY_PATH=${INSTALLDIR}/lib&lt;br /&gt;export CPPFLAGS=-I${INSTALLDIR}/include&lt;br /&gt;export LDFLAGS=-L${INSTALLDIR}/lib&lt;br /&gt;&lt;br /&gt;# Indicate the time at which the install started.&lt;br /&gt;echo "Installation commencing..." `date +%r`&lt;br /&gt;echo ""&lt;br /&gt;&lt;br /&gt;# Backup previous php.ini file(s) if exist.&lt;br /&gt;if [ -d ${INSTALLDIR}/etc/php5 ]; then&lt;br /&gt;          echo "--- Backing up php.ini file..."&lt;br /&gt;          mkdir -p ${BACKUPDIR}&lt;br /&gt;          cp -R ${INSTALLDIR}/etc/php5/* ${BACKUPDIR}/&lt;br /&gt;          echo "Done."&lt;br /&gt;else&lt;br /&gt;          echo "No php.ini will be backed-up during this update!"&lt;br /&gt;fi&lt;br /&gt;# Check for existing php5 install, kill any running processes from it, and remove.&lt;br /&gt;#    Note: This is only for fast-cgi processes. This should probably be modified&lt;br /&gt;#        to detect other custom php5 processes for a fully functional script.&lt;br /&gt;if [ -d ${INSTALLDIR} ]&lt;br /&gt;          then&lt;br /&gt;          # Check for a running process&lt;br /&gt;          #    Note: This is only a very basic detect &amp; kill system.&lt;br /&gt;          if [ "$(ps aux | grep -q php5.fcgi)" == "php5.fcgi" ]&lt;br /&gt;          then&lt;br /&gt;              while [ "$(ps aux | grep -q php5.fcgi)" == "php5.fcgi" ]&lt;br /&gt;              do&lt;br /&gt;                     kill -9 php5.fcgi&lt;br /&gt;                     sleep 5s&lt;br /&gt;              done&lt;br /&gt;          fi&lt;br /&gt;          echo "Install directory exists! Killing active processes and clearing it..."&lt;br /&gt;          rm -rf ${INSTALLDIR}&lt;br /&gt;else&lt;br /&gt;          echo "Install directory check complete."&lt;br /&gt;fi&lt;br /&gt;# Remove the existing cgi-bin directory.&lt;br /&gt;if [ -d ${HOME}/${DOMAIN}/cgi-bin ]; then&lt;br /&gt;          echo "cgi-bin directory exists! Clearing contents..."&lt;br /&gt;          rm -rf ${HOME}/${DOMAIN}/cgi-bin&lt;br /&gt;else&lt;br /&gt;          echo "cgi-bin directory check complete."&lt;br /&gt;fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;###########################################&lt;br /&gt;## Function to check for and setup the appropriate paths.&lt;br /&gt;function chkproc_paths()&lt;br /&gt;{&lt;br /&gt;# Detect how many processors the system has (for more optimal compliation).&lt;br /&gt;cores=2   # the number of cores/procs to use when building&lt;br /&gt;if [ $cores -a $cores -gt 1 ]; then&lt;br /&gt;          j="-j$cores "&lt;br /&gt;fi&lt;br /&gt;          OS=`uname -s`&lt;br /&gt;if [ "Darwin" = $OS ]; then&lt;br /&gt;          sed=gnused&lt;br /&gt;          makefile=makefile.macosx&lt;br /&gt;else&lt;br /&gt;          makefile=makefile.linux_x86_ppc_alpha&lt;br /&gt;          sed=sed&lt;br /&gt;fi&lt;br /&gt;for i in $sed wget; do&lt;br /&gt;          $i --version &gt;/dev/null 2&gt;&amp;1&lt;br /&gt;done&lt;br /&gt;&lt;br /&gt;# Clear and/or create the source directory.&lt;br /&gt;if [ -d ${SRCDIR} ]; then&lt;br /&gt;    echo ""; echo "Source directory already exists!"; echo "Clean it?"&lt;br /&gt;    if [ ${SRCDEL} == "Yes" ]&lt;br /&gt;    then&lt;br /&gt;          echo ""; echo "Yes!"; echo "Cleaning now..."; echo ""&lt;br /&gt;          rm -rf $SRCDIR/*&lt;br /&gt;    else&lt;br /&gt;        echo ""; echo "No!"; echo "Leaving the source directory intact."; echo ""&lt;br /&gt;    fi&lt;br /&gt;else&lt;br /&gt;          echo "Creating source directory..."&lt;br /&gt;          mkdir -p ${SRCDIR}&lt;br /&gt;fi&lt;br /&gt;# Create the dist files directory if it doesn't exist&lt;br /&gt;# optionally cleaning it if it does exist already.&lt;br /&gt;if [ -d ${DISTDIR} ]; then&lt;br /&gt;    echo ""; echo "Distribution directory already exists!"; echo "Clean it?"&lt;br /&gt;    if [ ${DISTDEL} == "Yes" ]&lt;br /&gt;    then&lt;br /&gt;        echo ""; echo "Yes!"; echo "Cleaning now..."; echo ""&lt;br /&gt;        rm -rf $DISTDIR/*&lt;br /&gt;    else&lt;br /&gt;        echo ""; echo "No!"; echo "Leaving the distribution directory intact."; echo ""&lt;br /&gt;    fi&lt;br /&gt;else&lt;br /&gt;          echo "Creating distribution directory..."&lt;br /&gt;          mkdir -p ${DISTDIR}&lt;br /&gt;fi&lt;br /&gt;}&lt;br /&gt;###########################################&lt;br /&gt;## Function to wget the current package&lt;br /&gt;function wget_source()&lt;br /&gt;{&lt;br /&gt;echo "*************************"&lt;br /&gt;if [ -a ${DISTDIR}/${FILENAME} ]; then&lt;br /&gt;          echo "Skipping wget of ${FILENAME}"&lt;br /&gt;else&lt;br /&gt;          echo "Getting MIRROR1: ${MIRROR1}"&lt;br /&gt;          wget $WGETOPT $MIRROR1&lt;br /&gt;          # If primary mirror fails, use the alternative mirror.&lt;br /&gt;          if [ -a ${DISTDIR}/${FILENAME}]; then&lt;br /&gt;            echo "Got ${FILENAME}"&lt;br /&gt;          else&lt;br /&gt;              echo "Failed: Getting from MIRROR2: ${MIRROR2}"&lt;br /&gt;            wget $WGETOPT $MIRROR2&lt;br /&gt;            # Check to make sure the alternative mirror worked.&lt;br /&gt;                if [ -a ${DISTDIR}/${FILENAME} ]; then&lt;br /&gt;                    echo "Got ${FILENAME}"&lt;br /&gt;                else&lt;br /&gt;                    echo "Failed to get ${FILENAME}. Aborting install!"&lt;br /&gt;                    exit 0&lt;br /&gt;                fi&lt;br /&gt;          fi&lt;br /&gt;fi&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-1108567106602117283?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/1108567106602117283/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=1108567106602117283' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/1108567106602117283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/1108567106602117283'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/07/scratch-shell-script-part-1.html' title='Scratch - Shell Script Part 1'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-7482590764805611050</id><published>2007-07-16T16:08:00.000-07:00</published><updated>2007-07-16T17:02:06.523-07:00</updated><title type='text'>Active Directory User Account Provisioning</title><content type='html'>Since the Drupal ldap auth module does not support new account creation in Active Directory, I will need other options.&lt;br /&gt;&lt;br /&gt;Microsoft Identity Lifecycle Manager 2007 formerly Microsoft Identity Integration Server 2003&lt;br /&gt;http://www.microsoft.com/technet/technetmag/issues/2007/05/Workflow/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-7482590764805611050?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/7482590764805611050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=7482590764805611050' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/7482590764805611050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/7482590764805611050'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/07/active-directory-user-account.html' title='Active Directory User Account Provisioning'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-469160234266319696</id><published>2007-07-16T13:56:00.000-07:00</published><updated>2007-07-16T15:45:22.387-07:00</updated><title type='text'>Drupal LDAP Integration - Extracting groups from W2K Domain Controller Active Directory</title><content type='html'>The current setup is not extracting group information for users.&lt;br /&gt;&lt;br /&gt;Tried this, but it did not work. Also seems counterintuitive to put values in boxes where the checkbox was left unchecked.&lt;br /&gt;http://drupal.org/node/80020&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;http://drupal.org/node/147824 lead me to this:&lt;br /&gt;&lt;code&gt;msg_r($groups);&lt;br /&gt;Which shows my groups are coming back from AD, but not propagating into drupal groups.&lt;br /&gt;&lt;br /&gt;http://drupal.org/node/136303&lt;br /&gt;Explains that the function in ldapgroups.conf.php needed to be commented out. Otherwise, the only groups that would get propagated were hard-coded ones it found.&lt;br /&gt;&lt;br /&gt;That worked!!!&lt;br /&gt;&lt;br /&gt;Ok, in the ldap groups screen, i only needed to do three things. everything else is blank:&lt;br /&gt;&lt;br /&gt;&lt;/code&gt; Groups are specified by LDAP attributes - Checked - yes&lt;br /&gt;Attribute names (one per line): memberOf&lt;br /&gt;&lt;br /&gt;Attribute holding group members: memberUid&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-469160234266319696?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/469160234266319696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=469160234266319696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/469160234266319696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/469160234266319696'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/07/drupal-ldap-integration-extracting.html' title='Drupal LDAP Integration - Extracting groups from W2K Domain Controller Active Directory'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-6905782155158513862</id><published>2007-07-16T12:58:00.001-07:00</published><updated>2007-07-16T18:58:15.908-07:00</updated><title type='text'>Unable to connect to Active Directory via LDP on port 636</title><content type='html'>I am able to connect with ldp via port 389. I have run netstat/netdiag/and dcdiag with no issues.&lt;br /&gt;&lt;br /&gt;However, when I try to connect using LDP via 636 and using an IP address as the server, I receive the following error:&lt;br /&gt;ld = ldap_open("M.Y.I.P", 636);&lt;br /&gt;Error &lt;0x51&gt;: Fail to connect to M.Y.I.P.&lt;br /&gt;&lt;br /&gt;This says that is by design&lt;br /&gt;http://support.microsoft.com/kb/814662&lt;br /&gt;&lt;br /&gt;This indicates the problem is likely name resolution:&lt;br /&gt;http://forum.java.sun.com/thread.jspa?threadID=645000&amp;amp;messageID=3824603&lt;br /&gt;&lt;br /&gt;That works from the server using windowsdomain.domain.org. Still cannot connect via remote client.&lt;br /&gt;&lt;br /&gt;This link:&lt;br /&gt;http://www.pgina.org/?page_id=6&lt;br /&gt;indicates that if you can connect via 389 but not 636 then you have a certificate problem.&lt;br /&gt;&lt;br /&gt;The server event logs showed:&lt;br /&gt;&lt;span class="680190501-17072007"&gt;&lt;span style=";font-family:Verdana;font-size:85%;"  &gt;Event  Type: Error&lt;br /&gt;Event Source: Schannel&lt;br /&gt;Event Category: None&lt;br /&gt;Event  ID: 36869&lt;br /&gt;Date:  7/16/2007&lt;br /&gt;Time:  7:31:05  PM&lt;br /&gt;User:  N/A&lt;br /&gt;Computer: SERVER&lt;br /&gt;Description:&lt;br /&gt;The SSL client  credential's certificate does not have a private key information property  attached to it. This most often occurs when a certificate is backed up  incorrectly and then later restored. This message can also indicate a  certificate enrollment failure.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;I reinstalled the certificate from server/certsrv and still have the same unable to connect, but now i no longer get any event log messages.&lt;br /&gt;&lt;br /&gt;THis post&lt;br /&gt;http://www.eggheadcafe.com/aspnet_answers/windowsserveractive_directory/May2006/post26947443.asp&lt;br /&gt;&lt;br /&gt;Suggests looking in the client machine event log, duh...&lt;br /&gt;Event Type:    Error&lt;br /&gt;Event Source:    Schannel&lt;br /&gt;Event Category:    None&lt;br /&gt;Event ID:    36884&lt;br /&gt;Date:        7/16/2007&lt;br /&gt;Time:        8:03:44 PM&lt;br /&gt;User:        N/A&lt;br /&gt;Computer:    ME&lt;br /&gt;Description:&lt;br /&gt;The certificate received from the remote server does not contain the expected name. It is therefore not possible to determine whether we are connecting to the  correct server. The server name we were expecting is windowsdomain.domain.org. The SSL connection request has  failed. The attached data contains the server certificate.&lt;br /&gt;&lt;br /&gt;This tells you how to enable events in schannel:&lt;br /&gt;&lt;a href="http://support.microsoft.com/?id=260729" class="keywordroll" target="_blank"&gt;http://support.microsoft.com/?id=260729&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;However, none of this explains how to fix the actual problem. How do you verify/change the name on the certificate that the server issues? it seems that ldp wants it to be the same fqdn that you use to address the server. however, that cannot be how mine is named, as i get the same error message when i tell the remote ldp client to use windowsdomain.domain.org.&lt;br /&gt;&lt;br /&gt;Got it - from a remote machine, you have to use servername.windowsdomain.domain.org aka fqdn - dimwit.&lt;br /&gt;&lt;br /&gt;This is ugly, as that is not a dns A record i want floating around out there. How to change the msft certificate services to issue a friendlier name, e.g. ldap.domain.org....?&lt;br /&gt;&lt;br /&gt;This says you cannot change the name:&lt;br /&gt;http://articles.techrepublic.com.com/5100-6345_11-5643908.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-6905782155158513862?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/6905782155158513862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=6905782155158513862' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/6905782155158513862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/6905782155158513862'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/07/unable-to-connect-to-active-directory.html' title='Unable to connect to Active Directory via LDP on port 636'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-6190805529234050427</id><published>2007-07-16T10:50:00.000-07:00</published><updated>2007-07-16T10:51:02.373-07:00</updated><title type='text'>Web Huddle</title><content type='html'>wow.&lt;br /&gt;&lt;br /&gt;http://groups.drupal.org/files/webhuddle_0.pdf&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-6190805529234050427?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/6190805529234050427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=6190805529234050427' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/6190805529234050427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/6190805529234050427'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/07/web-huddle.html' title='Web Huddle'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-7007325845554404882</id><published>2007-07-16T07:46:00.000-07:00</published><updated>2007-07-16T18:08:13.964-07:00</updated><title type='text'>How to install SSL cert on Dreamhost for use in Drupal ldapauth against Active Directory</title><content type='html'>THIS POST IS A DEAD END - It contains links and attempts at getting Drupal's ldap integration module to work against a W2K domain controller for active directory. It appears W2K does not support TLS and therefore, I need to create a separate post for how to get the drupal module to use ldaps instead of StartTLS.&lt;br /&gt;&lt;br /&gt;Following up on the prior sequence of posts, this will document the learning/attempt path to get my cert installed on my dreamhost account that will enable drupal ldapauth to use secure communication with our Active Directory server.&lt;br /&gt;&lt;br /&gt;This shows how to use openSSL to generate a self-signed certficate. Not what I need right now, but if I end up having to abandon using the MSFT self-signed, I'll come back to this.&lt;br /&gt;&lt;span class="post"&gt;http://www.neilstuff.com/apache/apache2-ssl-windows.htm&lt;br /&gt;&lt;br /&gt;This looks promising... googled "ldapauth client SSL certificate active directory"&lt;br /&gt;http://www.muquit.com/muquit/software/mod_auth_ldap/ssl_tls.html:&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Ok, that got me through exporting the cer file from Microsofts Certificate Authority. FTP's the file up to  my dreamhost account, and ran the steps to create a .pem file. On to getting ldapauth to see and use that file...&lt;br /&gt;&lt;br /&gt;Not sure where to set the path for the pem file in the ldapauth module setup. Within ldapinterface.php there is a secretKey = null attribute that goes along with tls setting on the next line. However, it may not go here at all and maybe part of the openldap or openssl configuration.&lt;br /&gt;&lt;br /&gt;Here's the current error message when I check "Start TLS" in the ldap integration settings in drupal administration:&lt;br /&gt;warning: ldap_start_tls() [&lt;a href="http://events.icstars.org/function.ldap-start-tls"&gt;function.ldap-start-tls&lt;/a&gt;]: Unable to start TLS: Decoding error in /home/snip/modules/ldap_integration/ldap_integration/LDAPInterface.php on line 128.&lt;br /&gt;&lt;br /&gt;My php install directory is php5, which contains an etc folder which contains an openldap folder which contains an ldap.conf file which is where I believe the cert reference needs to exist. Err, maybe not. The script above indicates i need to create an ldaprc  file and reference the pem file there.&lt;br /&gt;http://edoceo.com/liber/network-openldap.php&lt;br /&gt;The docs are not consistent on what the ldaprc file switch contains.&lt;br /&gt;muquit says:&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;code&gt;  TLS_CACERT /usr/local/certs/cacert.pem&lt;br /&gt;TLS_REQCERT allow&lt;br /&gt;&lt;br /&gt;Which I changed to:&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;code&gt;  TLS_CACERT $HOME/.ssl/[domain].pem&lt;br /&gt;TLS_REQCERT allow&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Apache needs to know where to find the ldaprc... snipped from muquit:&lt;br /&gt;Before starting apache set a env variable (probably in apachectl) like:                            &lt;span style="color: rgb(0, 0, 153);"&gt;             &lt;code&gt; LDAPCONF=/path_of/ldaprc&lt;br /&gt;export LDAPCONF&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;How does that work on Dreamhost??&lt;br /&gt;Do i put this in .htaccess?&lt;br /&gt;&lt;br /&gt;The very last post in this thread indicates that TLS is NOT supported by Windows 2000 domain controllers!!!! If that's the case, where do i go from here? How do I get ldapauth module to use ssl instead of tls?&lt;br /&gt;http://forums.gentoo.org/viewtopic-t-295330-highlight-modauthldap+ssl.html&lt;br /&gt;http://forum.java.sun.com/thread.jspa?threadID=592611&amp;amp;tstart=240&lt;br /&gt;And the final word??&lt;br /&gt;http://support.microsoft.com/kb/321051&lt;br /&gt;"Windows 2000 does not support the Start TLS extended-request     functionality"&lt;br /&gt;&lt;br /&gt;So do I need to hack the ldapauth module in drupal to use ldaps? will this automatically use ssl and the local cert instead of startTLS?&lt;br /&gt;http://drupal.org/node/75645&lt;br /&gt;&lt;br /&gt;Additional References&lt;br /&gt;http://www.openldap.org/lists/openldap-software/200403/msg00034.html&lt;br /&gt;http://www.thetipspool.com/freenode/ldap/27Apr2007/3&lt;br /&gt;&lt;br /&gt;This one has a good thread about getting apache to see the ldap cert file.&lt;br /&gt;http://forums.gentoo.org/viewtopic-t-295330-highlight-modauthldap+ssl.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-7007325845554404882?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/7007325845554404882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=7007325845554404882' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/7007325845554404882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/7007325845554404882'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/07/how-to-install-ssl-cert-on-dreamhost.html' title='How to install SSL cert on Dreamhost for use in Drupal ldapauth against Active Directory'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-6182279223783039296</id><published>2007-06-27T15:00:00.000-07:00</published><updated>2007-06-27T15:06:49.952-07:00</updated><title type='text'>Access is denied for all accounts after migrating Drupal website</title><content type='html'>We recently migrated the site from internal hosting to external. All users, including the first user with super admin rights get access is denied on all administrative actions.&lt;br /&gt;&lt;br /&gt;It looks like its a php version problem, where the new host was running 5 and the drupal site version was 4.6.1....&lt;br /&gt;&lt;br /&gt;Yep, that was it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-6182279223783039296?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/6182279223783039296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=6182279223783039296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/6182279223783039296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/6182279223783039296'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/06/access-is-denied-for-all-accounts-after.html' title='Access is denied for all accounts after migrating Drupal website'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-8716530860665193784</id><published>2007-06-23T13:56:00.000-07:00</published><updated>2007-06-23T14:00:31.428-07:00</updated><title type='text'>Dreamhost Drupal Sub-directory with clean urls</title><content type='html'>Trying to consolidate hosts and need to have multiple drupal installations under an existing drupal installation. Clean urls were not working by default - they threw 404 errors on the parent drupal site. The sites themselves worked fine, just not clean urls.&lt;br /&gt;&lt;br /&gt;Also interesting was that .htaccess file did not exist in the root of the subdir site - i'm not sure why - maybe it gets created when cleanurls are turned on in drupal 5.&lt;br /&gt;&lt;br /&gt;So, i edited the parent .htaccess file to uncomment RewriteBase /[subdir desired], ftp'd it up to the subdir root installation and wala, clean urls now work in Dreamhost subdir installed drupal 5 apps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-8716530860665193784?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/8716530860665193784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=8716530860665193784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/8716530860665193784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/8716530860665193784'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/06/dreamhost-drupal-sub-directory-with.html' title='Dreamhost Drupal Sub-directory with clean urls'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-8146192333063768884</id><published>2007-06-23T10:23:00.000-07:00</published><updated>2007-06-25T10:34:10.080-07:00</updated><title type='text'>Securing Active Directory for Drupal LDAP access</title><content type='html'>I don't yet have the ldap authentication working on SSL or TLS, as i need to learn how to install the certificate root and certificate on the drupal server. but that will be a different post.&lt;br /&gt;&lt;br /&gt;First, I need to tighten down security on the AD. I want the binddn reader and updater accounts to have no rights beyond that specific purpose. You would think that would be a very easy thing to specify... ehem.&lt;br /&gt;&lt;br /&gt;Looking here (don't you love msft's refusal to adopt clean urls?):&lt;br /&gt;Assign user rights to new security groups so you can specifically define a user's administrative role in the domain.&lt;br /&gt;http://technet2.microsoft.com/WindowsServer/en/library/95107162-47eb-4891-832f-0c0b15b7c8581033.mspx&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Enforce account lockouts on user accounts and decrease the possibility of an attacker compromising your domain through repeated logon attempts.&lt;br /&gt;http://technet2.microsoft.com/WindowsServer/en/library/91a98c38-38c5-49dc-83bf-e69d8e1dbbfa1033.mspx&lt;br /&gt;&lt;br /&gt;Promote a secure operating environment by running your computer without administrative credentials except when required.&lt;br /&gt;http://technet2.microsoft.com/WindowsServer/en/library/8782f8ab-9538-4111-8a68-7bfd130c21c01033.mspx&lt;br /&gt;&lt;br /&gt;this is crap - user rights assignment on AD is useless for my purpose. there are far too few rights defined, and they seem way to blunt.&lt;br /&gt;&lt;br /&gt;found a new way-&lt;br /&gt;&lt;br /&gt;by default, any authenticated account can scan the directory. attempting to use a plain user account as the reader account with no additional rights.... it seems to work&lt;br /&gt;&lt;br /&gt;updater account settings:&lt;br /&gt;create a new security group and put the updater account in it&lt;br /&gt;right click domain in ad users and computers&lt;br /&gt;choose delegate control&lt;br /&gt;add the group that contains the updater account&lt;br /&gt;create a custom task to delegate&lt;br /&gt;only the following objects in the folder/User objects&lt;br /&gt;Read all properties/Write E-Mail Address (Others)/Change Password/Reset Password&lt;br /&gt;how do you edit/update those delegated rights? i've been just rerunning the wizard, hoping its smart enough to delete the prior policy.&lt;br /&gt;&lt;br /&gt;Testing...&lt;br /&gt;&lt;br /&gt;Unfortunately, the following error is generated when an attempt is made to modify the password. I'm assuming this is because we're not yet running TLS:&lt;br /&gt;warning: ldap_modify() [&lt;a href="http://events.icstars.org/function.ldap-modify"&gt;function.ldap-modify&lt;/a&gt;]: Modify: No such attribute in /home/.martin/icsadmin/events.icstars.org/modules/ldap_integration/ldap_integration/LDAPInterface.php on line 226.&lt;br /&gt;&lt;br /&gt;Need to define some policies about locking out accounts after a number of password attempts are made.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-8146192333063768884?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/8146192333063768884/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=8146192333063768884' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/8146192333063768884'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/8146192333063768884'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/06/securing-active-directory.html' title='Securing Active Directory for Drupal LDAP access'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-8730104637530781641</id><published>2007-06-18T08:16:00.001-07:00</published><updated>2007-06-18T08:17:20.783-07:00</updated><title type='text'>phpSupport</title><content type='html'>Found this today and plan to incorporate into our environment thanks to:&lt;br /&gt;http://aplawrence.com/Reviews/bghelpdesk.html&lt;br /&gt;&lt;br /&gt;http://phpsupport.jynx.net/?a=inuse&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-8730104637530781641?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/8730104637530781641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=8730104637530781641' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/8730104637530781641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/8730104637530781641'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/06/phpsupport.html' title='phpSupport'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-7989766720268702635</id><published>2007-06-18T07:45:00.000-07:00</published><updated>2007-07-25T18:22:47.807-07:00</updated><title type='text'>Dreamhost Drupal with LDAP</title><content type='html'>&lt;p class="content"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;a title="http://drupal.org/node/62217" href="http://drupal.org/node/62217"&gt;http://drupal.org/node/62217&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="content"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;When we tried to connect we got an error message:&lt;br /&gt;Fatal error: Call to undefined function ldap_connect() in D:\Program Files\wamp\www\drupal\modules\ldap_integration\ldap_integration\LDAPInterface.php&lt;/span&gt;&lt;/p&gt;&lt;p class="content"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;We needed to modify our php.ini to uncomment&lt;br /&gt;extension=php_ldap.dll&lt;/span&gt;&lt;/p&gt;&lt;p class="content"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;In order to customize the php.ini we had to do some hacking:&lt;br /&gt;&lt;a title="http://wiki.dreamhost.com/index.php/PHP.ini" href="http://wiki.dreamhost.com/index.php/PHP.ini"&gt;http://wiki.dreamhost.com/index.php/PHP.ini&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="content"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;The php.ini file is working, but the dll list in it is for windows machines, not linux. need to find out how to configure php to load modules on linux. of course, you don't - you recompile php with the modules you need - which means this direction will orphan our php installation from future updates from dh.&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;div class="content"  style="font-family:arial;"&gt;&lt;br /&gt;Background/not followed: This gives details on how to do this from scratch:&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;p class="content"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;a title="http://us2.php.net/manual/en/ref.ldap.php" href="http://us2.php.net/manual/en/ref.ldap.php"&gt;http://us2.php.net/manual/en/ref.ldap.php&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="content"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;&lt;a title="http://us2.php.net/manual/en/ref.ldap.php" href="http://us2.php.net/manual/en/ref.ldap.php"&gt;http://www.rpmfind.net/linux/rpm2html/search.php?query=php-ldap&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="content"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;This provides pre-compiled versions for use on a select group of linux distro's&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="content"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;To test the configuration you attempt to login as an account found in the ldap directory, but not in the drupal system.&lt;/span&gt;&lt;/p&gt;&lt;p class="content"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;--&lt;/span&gt;&lt;/p&gt;&lt;p class="content"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Note from php.net (http://us2.php.net/manual/en/ref.ldap.php):&lt;/span&gt;&lt;/p&gt;&lt;p class="content"  style="font-family:arial;"&gt;&lt;span style="font-size:100%;"&gt;Chasing referrals in Active Directory (ie: searching across domains), can be slow. You can look up the object instead in the GC (Global Catalog) as follows:&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;code&gt;&lt;span class="html"&gt;&lt;div class="content"  style="font-family:arial;"&gt;&lt;br /&gt;Remove any reference to ldap:// when you use ldap_connect, ie: use "serv1.mydom.com" NOT "ldap://serv1.mydom.com"&lt;br /&gt;&lt;br /&gt;Connect to port 3268 (not 389, the default)&lt;br /&gt;&lt;br /&gt;Set the Base DN for the search to null ie: "" (empty quotes).&lt;br /&gt;&lt;br /&gt;AD will then run the search against the GC which holds a copy of all objects in the Forest. You can also retrieve a subset of attributes (including group membership, except local groups).&lt;br /&gt;&lt;br /&gt;You will still need to follow referals for a full set of attributes.&lt;br /&gt;&lt;br /&gt;another:&lt;br /&gt;http://greg.cathell.net/php_ldap_ssl.html&lt;br /&gt;&lt;br /&gt;following the script from dh: http://wiki.dreamhost.com/PHP5_installscript&lt;br /&gt;&lt;br /&gt;DOWNLOAD AND EXTRACT PACKAGES&lt;br /&gt;used openldap source code and did a test run on the prep script with only ldap to ensure it worked properly. to do this i simply added:&lt;br /&gt;LDAP="openldap-stable" to the version information list. this is a symbolic link maintained by openldap to get you the most recent stable version&lt;br /&gt;&lt;br /&gt;then in the get section i added (don't be alarmed that the suffix is different from the other packages):&lt;br /&gt;wget -c ftp://ftp.openldap.org/pub/OpenLDAP/${LDAP}.tgz&lt;br /&gt;&lt;br /&gt;then to extract it i added this at the end (again needing to focus on the suffix to match openldap convention):&lt;br /&gt;echo Extracting ${LDAP}...&lt;br /&gt;tar xzf ${DISTDIR}/${LDAP}.tgz &gt; /dev/null&lt;br /&gt;echo Done.&lt;br /&gt;&lt;br /&gt;INSTALL&lt;br /&gt;I looked in the source directory via my ftp client and found that openldap had given me v2.3.32.&lt;br /&gt;I used this as my LDAP variable in the install sh file:&lt;br /&gt;LDAP="openldap-2.3.32"&lt;br /&gt;&lt;br /&gt;I modified the PHPFEATURES list to include:&lt;br /&gt;--with-ldap&lt;br /&gt;note that you need to add a \ to the line above, and move the closing quote to after with-ldap&lt;br /&gt;&lt;br /&gt;The openldap doc/install/configure file said generic installs run ok with just ./configure.&lt;br /&gt;&lt;br /&gt;This approach bombed out on the script prior to getting to ldap - failed on cclient.&lt;br /&gt;&lt;br /&gt;Started process over with the script at&lt;br /&gt;&lt;span style="font-size:100%;"&gt;http://wiki.dreamhost.com/PHP5_installscript/dev&lt;br /&gt;&lt;br /&gt;This script ran ok on its own. When i modified to include ldap, it said:&lt;br /&gt;&lt;br /&gt;checking Berkeley DB version for BDB/HDB backends... no&lt;br /&gt;configure: error: BDB/HDB: BerkeleyDB version incompatible&lt;br /&gt;&lt;br /&gt;This link explains more:&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;http://www.openldap.org/faq/data/cache/44.html&lt;br /&gt;&lt;br /&gt;Same error message during ldap ./configure...&lt;br /&gt;The berkeleydb and openssl installed without any error messages.&lt;br /&gt;Many people posting this question to the openldap forum with rtfm responses...&lt;br /&gt;Trying with env CPPFLAGS=-I${INSTALLDIR}/include LDFLAGS=-L${INSTALLDIR}/lib ./configure --prefix=${INSTALLDIR}&lt;br /&gt;&lt;br /&gt;The flags are supposed to tell the openldap configure where to look... same result.&lt;br /&gt;&lt;br /&gt;At this point, I'm wondering if the berkeleydb install didn't put things where i intended...&lt;br /&gt;The first attempt at making the db i forgot the prefix, then ran the process again, i received an odd message about not replacing a .h file, which made me wonder how the file could be in two places from two runs. The berkeley docs state if you want to change anything, you need to run make realclean first - which removes everything...&lt;br /&gt;Nope, now berkeley configures but crashes on make install, attempting to re-create the install subdirectory and getting a permission denied. ??&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Trying again with the same env flags used above on openldap configure....ok, i got an install.&lt;br /&gt;&lt;br /&gt;This is insane.&lt;br /&gt;&lt;br /&gt;The openldap configure can see db.h, and it knows the version, why does it still say there is a version mismatch? Ehem. nosing up the tree, it looks like dh has db.h installed in the usr directory, indeed, the lib folder contains all the way up to 4.3. Given the openldap is telling me it has version 4.5, i imagine that means it does know about my version. Do i need to exclude all the prior versions in my configure statement? Argh! And why won't it run with the versions already installed? maybe the same reason - since so many are installed, maybe this step is lazy and stops with the first one it finds?&lt;br /&gt;&lt;br /&gt;Analyzing the configuration.log - the conftest file has a strict test for DB_VERSION_MAJOR among others down to the patch level, but its not clear where these get defined. Also, the configuration.log shows an actual error message that does not make sense - this file exists in my lib folder:&lt;br /&gt;./conftest: error while loading shared libraries: libdb-4.5.so: cannot open shared object file: No such file or directory&lt;br /&gt;&lt;br /&gt;grep DB_VERSION_STRING db.h from within usr/local/include returns 3.2.9.&lt;br /&gt;&lt;br /&gt;At a complete loss - need to find out what file contains the DB_VERSION_MAJOR check and put a print line to see what version it thinks it found. This code does not exist in the openldap directory!!! &lt;span style="font-family:Georgia,serif;"&gt;Somehow, when i searched all the files in the source directory, i could not find the source code file that contained the version check - i wanted to echo what version it found in order to understand who its finding and whether its stopping at the lowest or highest or what. unreal?&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Georgia,serif;"&gt;This http://www.openldap.org/lists/openldap-software/200308/msg00553.html makes it sound like i can hack the configure script in openldap to remove the hardcoded usr/lib searches...&lt;br /&gt;&lt;br /&gt;Found this interesting discussion about the intricacies of library paths:&lt;br /&gt;http://www.webservertalk.com/archive100-2005-3-945657.html&lt;br /&gt;&lt;br /&gt;Colleague suggested using LD_CONFIG which will tell gcc where to get libraries from. Is this the same as LDFLAGS? Do we need to compile bdb with this flag or openldap?...&lt;br /&gt;&lt;br /&gt;OMG I found it:&lt;br /&gt;http://forums.devshed.com/ldap-programming-76/configure-error-berkeley-db-version-mismatch-181705.html&lt;br /&gt;&lt;/span&gt;&lt;span id="intelliTxt" name="intelliTxt"&gt;the flag you need is: export LD_LIBRARY_PATH="&lt;berkelydb&gt;/build_unix/.libs"&lt;/berkelydb&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;Onward to make...&lt;br /&gt;&lt;br /&gt;Got clean install of openldap...&lt;br /&gt;&lt;br /&gt;php5 configure got:&lt;br /&gt;configure: error: Cannot find ldap.h&lt;br /&gt;needed to modify the following to include =path&lt;br /&gt;--with-ldap=${INSTALLDIR}"&lt;br /&gt;&lt;br /&gt;got clean install of php...&lt;br /&gt;&lt;br /&gt;now on to the drupal integration challenges&lt;br /&gt;warning: ldap_start_tls() [function.ldap-start-tls]: Unable to start TLS: Can't contact LDAP server ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;later on will need this regarding sasl:&lt;br /&gt;supportedSASLMechanisms: GSSAPI; GSS-SPNEGO;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="content"  style="font-family:arial;"&gt;&lt;span style="font-family:Georgia,serif;"&gt;ok, when all security is turned off, and the ad accounts for reading and writing are domain admins, everything works!! and we wonder why systems are so vulnerable - the first thing to work is the least secure, shouldn't it be the other way around?&lt;/span&gt;&lt;/div&gt;&lt;div class="content" face="arial"&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;/span&gt; &lt;/div&gt;&lt;div class="content" style="font-family: arial;"&gt;&lt;span style="font-family:Georgia,serif;"&gt;Current issues:&lt;/span&gt;&lt;/div&gt;&lt;div class="content" style="font-family: arial;"&gt;&lt;span style="font-family:Georgia,serif;"&gt;- retrieve password does not find the user&lt;/span&gt;&lt;/div&gt;&lt;div class="content" face="arial"&gt;&lt;span style="font-family:Georgia,serif;"&gt;- new users do not appear in LDAP&lt;/span&gt;&lt;/div&gt;&lt;div class="content" face="arial"&gt;&lt;br /&gt;to run the sh script:&lt;br /&gt;&lt;pre&gt;chmod +x filename.sh&lt;br /&gt;./filename.sh&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/code&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-7989766720268702635?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/7989766720268702635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=7989766720268702635' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/7989766720268702635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/7989766720268702635'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/06/dreamhost-drupal-with-ldap.html' title='Dreamhost Drupal with LDAP'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-3840877719347454750</id><published>2007-04-18T08:33:00.000-07:00</published><updated>2007-04-18T15:16:38.769-07:00</updated><title type='text'>Dreaded VS.NET Unable to start debugging</title><content type='html'>&lt;p&gt;Error while trying to run project: Unable to start debugging on the web server. You do not have permissions to debug. Verify that you are a member of the 'Debugger Users' group on the sever.&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/aa290100(VS.71).aspx"&gt;http://msdn2.microsoft.com/en-us/library/aa290100(VS.71).aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Disable/Modify Loopback check:&lt;br /&gt;&lt;a href="http://support.microsoft.com/?kbid=896861" target="_new"&gt;http://support.microsoft.com/?kbid=896861&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Other things to check:&lt;/p&gt;&lt;p&gt;IE - &lt;a href="http://localhost"&gt;http://localhost&lt;/a&gt; is trusted&lt;br /&gt;IIS - virtualdir/configuration/debugging/ enable asp server-side script debugging&lt;br /&gt;NTFS - physicaldir/security/ - make sure your user account has full permissions&lt;br /&gt;IE7 - internet options/security settings/local intranet/custom level - bottom make sure "automatic logon with current user name and password" is checked also add &lt;a href="http://localhost"&gt;http://localhost&lt;/a&gt; to the sites list&lt;br /&gt;NTFS - inetpub\wwwroot\ - give your account full control&lt;br /&gt;Local Users and Groups - make sure you are indeed a member of debugger users; also add aspnet account to debugger users group&lt;br /&gt;Web.config - &lt;compilation debug="true"&gt;&lt;br /&gt;C:\WINDOWS\Microsoft.NET\Framework\&lt;version&gt;\ - ensure ASPNET Machine Account has full rights&lt;br /&gt;CMD - C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i &lt;/p&gt;&lt;p&gt;&lt;a href="http://ryanfarley.com/blog/archive/2005/08/23/8540.aspx"&gt;http://ryanfarley.com/blog/archive/2005/08/23/8540.aspx&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-3840877719347454750?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/3840877719347454750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=3840877719347454750' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/3840877719347454750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/3840877719347454750'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/04/dreaded-vsnet-unable-to-start-debugging.html' title='Dreaded VS.NET Unable to start debugging'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-3576199443658616090</id><published>2007-04-03T08:24:00.000-07:00</published><updated>2007-04-03T08:37:03.261-07:00</updated><title type='text'>Ubuntu Recovery</title><content type='html'>Got locked out of Ubutu login screens. To recover, hit escape at the beginning of the boot cycle to get a menu of boot options. Boot to recovery mode. In recovery mode, add a user by adduser [username]. then follow this post:&lt;br /&gt;&lt;br /&gt;#addgroup –system admin&lt;br /&gt;#visudo The sudoers file should then be edited to include:&lt;br /&gt;%admin ALL=(ALL) ALL&lt;br /&gt;#adduser username admin&lt;br /&gt;&lt;br /&gt;in my case, the admin group already existed.  so i skipped ahead to adduser [user] admin&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-3576199443658616090?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/3576199443658616090/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=3576199443658616090' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/3576199443658616090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/3576199443658616090'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/04/ubuntu-recovery.html' title='Ubuntu Recovery'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8936532190993265029.post-3269163038287418338</id><published>2007-03-13T21:33:00.000-07:00</published><updated>2007-08-10T14:31:18.607-07:00</updated><title type='text'>Getting pear modules installed on dreamhost</title><content type='html'>Scratch notes here. Go &lt;a href="#works"&gt;here&lt;/a&gt; for workable sequence.&lt;br /&gt;&lt;br /&gt;Step 1:&lt;br /&gt;/usr/local/php5/bin/pear config-create $HOME .pearrc ==&gt;&lt;br /&gt;Could not create ".pearrc"&lt;br /&gt;&lt;br /&gt;running pear config-show has User configuration file set to /home/[myaccount]/.pearrc which is what i would expect the first step to accomplish, assuming this step has already been accomplished for me.&lt;br /&gt;&lt;br /&gt;Running /usr.../pear install Net_URL ==&gt;&lt;br /&gt;Cannot install, php_dir for channel "pear.php.net" is not writeable by the current user&lt;br /&gt;&lt;br /&gt;The .pearrc file did not actually exist there, it was set to live there by the pear config-show, but since the file doesn't exist, it makes sense that i need to create it. i attempted to upload an empty file, but got the message ERROR: The default config file is not a valid config file or is corrupted.&lt;br /&gt;&lt;br /&gt;Found this resource:&lt;br /&gt;&lt;a href="http://www.appelsiini.net/%7Etuupola/doc/peardoc/installation.shared.html"&gt;http://www.appelsiini.net/~tuupola/doc/peardoc/installation.shared.html&lt;/a&gt; not much help&lt;br /&gt;&lt;br /&gt;attempted:&lt;br /&gt;/usr/local/php5/bin/pear config-create /home/[myaccount]/pear/ .pearrc&lt;br /&gt;this resulted in a run, but the file does not appear to have created any file. however it did reset the user configuration file path to /home/.martin/[myaccount]/.pearcc which is interesting because i told it to use the /pear subdir.&lt;br /&gt;&lt;br /&gt;attempted:&lt;br /&gt;/usr/local/php5/bin/pear config-create $HOME/pear .pearrc&lt;br /&gt;same result, with the same user config file path&lt;br /&gt;&lt;br /&gt;moving on...&lt;br /&gt;&lt;br /&gt;executing /usr/local/php5/bin/pear install -o PEAR&lt;br /&gt;this ran now, but there are still no new files anywhere&lt;br /&gt;&lt;br /&gt;moving on...&lt;br /&gt;&lt;br /&gt;executing /usr/local/php5/bin/pear install HTTP_Request&lt;br /&gt;this ran as well.&lt;br /&gt;&lt;br /&gt;moving on...&lt;br /&gt;other dh.wiki readers seem to have the same problem identifying where to include the set include path code in the next step&lt;br /&gt;&lt;br /&gt;attempting to put it in the code of the page itself....&lt;br /&gt;&lt;br /&gt;actually, putting it in drupal settings.php file&lt;br /&gt;&lt;pre class="php"&gt;ini_set(&lt;br /&gt;'include_path',&lt;br /&gt;ini_get( 'include_path' ) . PATH_SEPARATOR . "/home/.martin/[myuser]/pear/php"&lt;br /&gt;); &lt;/pre&gt;&lt;br /&gt;since the files didn't actually get installed to the home/user/pear folder, i cannot see how the ini_set command could possibly work.  nevermind. the files are there now, ftp was not refreshing and showing the files.&lt;br /&gt;&lt;br /&gt;somehow, someway this worked. i have no idea how!&lt;br /&gt;&lt;br /&gt;&lt;a name="works"&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Workable sequence to get pear and http_request working on dreamhost installation:&lt;/span&gt;&lt;br /&gt;/usr/local/php5/bin/pear config-create $HOME .pearrc&lt;br /&gt;/usr/local/php5/bin/pear install -o PEAR&lt;br /&gt;/usr/local/php5/bin/pear install HTTP_Request&lt;br /&gt;ini_set( 'include_path', ini_get( 'include_path' ) . PATH_SEPARATOR . "/home/.martin/[username]/pear/php");&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8936532190993265029-3269163038287418338?l=jeffsbriarpatch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jeffsbriarpatch.blogspot.com/feeds/3269163038287418338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8936532190993265029&amp;postID=3269163038287418338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/3269163038287418338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8936532190993265029/posts/default/3269163038287418338'/><link rel='alternate' type='text/html' href='http://jeffsbriarpatch.blogspot.com/2007/03/getting-pear-modules-installed-on.html' title='Getting pear modules installed on dreamhost'/><author><name>Jeff Briar-Hill</name><uri>http://www.blogger.com/profile/09285939696416338751</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
