Missing libmysqlclient.so.14 Error

This is a common error when dealing with command line software that uses MySQL:

error while loading shared libraries: libmysqlclient.so.14: cannot open shared object file: No such file or directory

Usually this simple command will correct the problem:

cp /usr/lib/mysql/libmysqlclient.so.14 /usr/lib

Quick PEAR Usage Tutorial

To find out what packages are installed, you can run a list:

pear list-all

To update the PEAR repositories:

pear channel-update pear.php.net

To install a package, for instance, XML_RPC:

pear download XML_RPC
pear install XML_RPC

Note on installations: you don’t always have to download the module first, but, on dedicated server environments where /tmp is mounted noexec, you may need to download the module first and then move the archive into another directory and install it manually.

If you don’t know the specific name of a PEAR module you want to install, you can search for it:

pear search <name>

To show your PEAR configuration variables:

pear config-show

To change variables:

pear config-set variable_name <value>

Install Ruby on Rails with cPanel

Packaged in with cPanel 11 is a new Ruby installer that will seamlessly install and integrate Ruby in your system and cPanel.  To install, simple run this command:

/scripts/installruby

Once this is installed, you can test that it is functional by running:

ruby -v

If you’re more old-fashioned or are running a version of cPanel that does not have the installer, you can  find a manual installation tutorial here.

Installing Ruby on cPanel

Here’s how to install Ruby on Rails on a cPanel system:

Update: These instructions were modified for Ruby 1.8.6, since 1.8.5 is no longer available!

First install Ruby:

wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.6.tar.gz
tar -xvzf ruby-1.8.6.tar.gz
cd ruby-1.8.6
./configure
make
make install

Now, install the Gems and Rails:

wget http://rubyforge.org/frs/download.php/11289/rubygems-0.9.0.tgz
tar -xvzf rubygems-0.9.0.tgz
cd rubygems-0.9.0
ruby setup.rb
gem install rails

Install Fast CGI

wget fastcgi.com/dist/fcgi-2.4.0.tar.gz
tar -xvzf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure
make
make install

wget fastcgi.com/dist/mod_fastcgi-2.4.2.tar.gz
tar -xvzf mod_fastcgi-2.4.2.tar.gz
cd mod_fastcgi-2.4.2
/usr/local/apache/bin/apxs -o mod_fastcgi.so -c *.c
/usr/local/apache/bin/apxs -i -a -n fastcgi mod_fastcgi.so
gem install fcgi

Edit the Apache config file and add the fcgi module:

pico /usr/local/apache/conf/httpd.conf

LoadModule fastcgi_module libexec/mod_fastcgi.so
FastCgiIpcDir /tmp/fcgi_ipc/
AddHandler fastcgi-script .fcgi
< /IfModule>

Then restart Apache

Install RMagick and GetText:

wget http://umn.dl.sourceforge.net/sourceforge/graphicsmagick/GraphicsMagick-1.1.7.tar.gz
tar -xvzf GraphicsMagick-1.1.7.tar.gz
cd GraphicsMagick-1.1.7
./configure
make
make install

Install MySQL for Ruby:

gem install mysql

Now make the test Installation. To do this, log in as your user (not root)

su user
cd ~
rails test
cd public_html
ln -s ../test/public/ rails
cd ../test/
chmod -Rf 777 tmp/
cd public
chmod 755 dispatch.fcgi
pico .htaccess

Now, find the line in the .htaccess that looks something like this:

RewriteRule ^(.*)$ dispatch.cgi [QSA,L]

And change “dispatch.cgi” to “dispatch.fcgi”

To see if you’ve installed everything properly, just browse to the Rails folder:

http://yourdomain.com/rails/

cPanel PEAR Installer Errors

A new feature in cPanel 11/x3 is the PEAR module installer that allows users to install their own PEAR modules locally in their account.  I’ve heard that a lot of servers with existing PHP installations have had problems getting this to work, and instead are prompted with this error:

X-Powered-By: PHP/5.2.3
Content-type: text/html

Parse error: syntax error, unexpected T_STRING in /usr/local/cpanel/base/frontend/x3/module_installers/live_install.html on line 8

/usr/bin:/bin:/sbin:/usr/sbin:/usr/bin:/bin:/usr/local/bin

As far as I know there are two causes for this problem:

1.  /usr/bin/php is missing or is not compiled with PEAR or CLI.  Some servers have a CGI and CLI binary installed, so you’ll need to symlink /usr/local/bin/php to /usr/bin/php:

ln -s /usr/local/bin/php /usr/bin/php

2.  Your PHP installation is compiled without CLI support (–disable-cli), which is common when compiling PHP as a CGI binary or for suPHP.  If you have an installation with CLI enabled you will need to link that binary to /usr/bin/php, otherwise compile a second copy with the command line interface enabled.

Disable Stats Programs for a User

There are some cases where you may want to disable stats programs from running for certain users. To do so, open up their user file in /var/cpanel/users and add these lines:

STATGENS=WEBALIZER,AWSTATS,ANALOG
skipanalog=0
skipawstats=1
skipwebalizer=0

Of course, 1=yes and 0=no, and if the stats program is not enabled in the server it won’t run at all, regardless of whether it is enabled for a specific user.

Remove All Spam and Trash from Server

A buildup of spam and trash in user accounts can occupy several gigs worth of space. To easily remove spam and trash from your users’ accounts, you can use the following commands:

Maildir/Courier-IMAP:

rm -rf /home/*/mail/*/*/.spam/*
rm -rf /home/*/mail/.spam/*
rm -rf /home/*/mail/*/*/.Trash/cur/*
rm -rf /home/*/mail/*/*/.Trash/new/*

CPPOP:

rm -rf /home/*/mail/*/*/spam
rm -rf /home/*/mail/spam
rm -rf /home/*/mail/INBOX.Trash
rm -rf /home/*/mail/*/*/INBOX.Trash

To delete the cPanel trash folders:

rm -rf /home/*/.trash/*

Upgrading ClamAV – cPanel

Sometimes cPanel can be late with pushing out critical updates for third-party software. At the time of this writing, cPanel’s latest release of ClamAV is 0.91 which was determined to have a major security exploit, so all users are encouraged to update to 0.92. This upgrade guide assumes that you used cPanel’s plugin installer to successfully run ClamAV on your system.

cd /usr/local/cpanel/modules-install/clamavconnector-Linux-i686
wget http://freshmeat.net/redir/clamav/29355/url_tgz/clamav-0.92.tar.gz
wget http://downloads.sourceforge.net/clamav/clamav-0.92.tar.gz.sig
tar -xvzf clamav-0.92.tar.gz
wget http://missysadmin.com/files/clamav/install2
chmod 755 install2

You’ll need to check the 2nd and 3rd line in the install2 script to make sure they match the old and new versions of ClamAV.  To find the old version, run clamd –version.

AVV=0.92
AVVOLD=0.91.2

From here, just run ./install2 and let the installation run. You can confirm the upgrade by calling the binary with the version switch:

root@server [~]# clamd –version
ClamAV 0.91.2/5186/Wed Dec 19 22:38:25 2007

At this point it’s also a good idea to uncheck the ‘install and keep updated’ box for ClamAV in WHM.