Novell is now a part of Micro Focus

Exploring MySQL 4.1 and PHP 5 on SUSE Linux

Novell Cool Solutions: Feature
By Kevin Millecam

Digg This - Slashdot This

Posted: 28 Mar 2005

Shortly after I got PHP and MySQL running on my SUSE box, I started hearing about the new and improved features available in the newer versions of these products. It seemed that every script I downloaded came with a disclaimer that read, "If you're STILL running OLDER versions of MySQL and/or PHP you won't be able to take advantage of the advanced features of this product".

So, I (naively) thought to myself, no big deal... I'll just download the upgrade, give it a double-click and be in feature nirvana. I had briefly forgotten that I was now in the "L" world. Upgrading an application was still a part of the universe I had yet to explore. I immediately did a quick search on Google for "mysql 4.1 upgrade SUSE" and uncovered about 20 documents (most of which started with words like "can't start", compile, make, build, and the ever present "Help!!").

The Linux heads are probably laughing hilariously by now, but hey, this is not my grandmother's upgrade.

To cut a long story short, I did spend the better part of a weekend trying (with my limited tool set) different upgrade approaches on my development box. Nothing totally worked. I did, at one point, have MySQL 4.1 running but nothing else (like Apache or PHP) would work with it. I was told later that all I had to do was recompile Apache and PHP and all would have been well. To that I say, "recompile?"


The Linux gods must have recognized that my dues were paid because they tipped me off to a wonderful project named XAMPP. This project, started by a group called Apache Friends, provides a package of applications[1] that can be downloaded to a directory on your server, run without changing any of the already installed packages, and easily deleted. Sounds just like what the Dr. ordered.

The XAMPP instructions are clear and easy to follow. They also include a few configuration options (like how to start Apache without MySQL and how to switch back and forth between PHP 4 and 5) that I won't cover here. I will touch on a bump or two that I encountered but aren't mentioned in the docs.

quick install

  1. Download the file from
  2. Go to a Linux shell and log in as the system administrator root:
  3. Extract the downloaded archive file to /opt:
    tar xvfz xampp-linux-1.4.12.tar.gz -C /opt
  4. To start XAMPP simply call this command:
    /opt/lampp/lampp start
  5. Test the installation by opening a browser and launching http://localhost
  6. To stop XAMPP simply call this command:
    /opt/lampp/lampp stop
  7. To delete the packages, simply remove the /opt/lampp directory by issuing this command:
    rm -rf /opt/lampp

install for guys like me

  1. Download the file from (I downloaded to the /opt directory so I wouldn't have to move the files later.)

  2. I used KDE to help me extract the files (Right-click on archive -> Actions -> Extract Here). By the way, the files extract into a directory named "/lampp/" which, according to the Apache Friends site, used to be the project name. It was changed to avoid confusion with other similarly-named projects.

  3. I did go to the command line, er, shell, to type in the start command:

  4. This message reminded me that I was already running Apache and MySQL. I would need to stop those processes before I could play with the newer ones.

  5. To (temporarily) stop my production copy of Apache I, a) launched YAST, b) clicked the system icon in the left pane, c) clicked the Runlevel Editor icon in the right pane, d) in the window that opened, clicked the "Expert Mode" radio button, e) highlighted "apache2" in the scrolling list, f) selected "Disable the service" from the "Set/Reset" dropdown in the lower right corner, g) Selected "Stop now ..." from the "Start/Stop/Refresh" dropdown in the lower left.

  6. I followed similar steps to (temporarily) shut down my production copy of MySQL with the exception of choosing "mysql" in step "e".

  7. This time, when I went to the shell and typed the start command, XAMPP started up as advertised.

  8. When you open a browser and go to http://localhost, you are redirected to the XAMPP main page. A good place to start exploring the features of what you've just installed is to click a language and then click the tool links in the left pane of the target page.

  9. To stop XAMPP simply call this command:
    /opt/lampp/lampp stop
  10. To delete the packages, log in as root, browse to /opt, right-click on the "lampp" directory and select delete from the dropdown.
  11. Don't forget to go back into the Runlevel editor and start up your legacy copies of Apache and MySQL when you're finished.

As you can tell, I'm still pretty new at this. But I'm learning ... and having a lot of fun. If you have suggestions about what I've done or what I should have done, drop me a line.

applications currently included with xampp

  • Apache 2.0.53
  • MySQL 4.1.10
  • PHP 5.0.3 & 4.3.10 & PEAR + SQLite 2.8.9/2.8.14 + multibyte (mbstring) support
  • Perl 5.8.6
  • ProFTPD 1.2.10
  • phpMyAdmin 2.6.1
  • OpenSSL 0.9.7d
  • GD 2.0.1
  • Freetype2 2.1.7
  • libjpeg 6b
  • libpng 1.2.7
  • gdbm 1.8.0
  • zlib 1.1.4
  • expat 1.2
  • Sablotron 1.0
  • libxml 2.4.26
  • Ming 0.2a
  • Webalizer 2.01
  • pdf class 009e
  • ncurses 5.8
  • mod_perl 2.0.0-RC4
  • FreeTDS 0.62.4
  • gettext 0.11.5
  • IMAP C-Client 2002b
  • OpenLDAP (client) 2.2.13
  • mcrypt 2.5.7
  • mhash 0.8.18
  • eAccelerator 0.9.2a
  • cURL 7.10.7
  • libxslt 1.1.8
  • phpSQLiteAdmin 0.2
  • libapreq 2.04-dev

Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions.

© Copyright Micro Focus or one of its affiliates