Well, after HOURS of continuous work, I am proud to say that OnTheFive is now running on its new 250GB RAID1 setup. It’s a spanking-new installation of SuSE 10.2, and the essentials were not installed from RPM. I installed mysql from binary download from their site, and Apache and PHP from source. I think every option I would want in PHP is compiled in, and I’m really pleased with how it worked out. There were quite a few little quirks along the way, which I will try to outline.
MySQL Import
I had a difficult time with the MySQL databases during this upgrade. First, I was unable to keep TalkFostoria.com running during the upgrade. This was because my server from home, Gemini, was running SuSE 9.1 and had a much older version of MySQL. The dump from Raptor was incompatible.
After the upgrade, I then had to import all of the databases back into the new installation. Both the old and the new were running MySQL 5.0.x. In order to complete the transfer, I went into the BIOS and set the 40GB drive as first in the boot order, and actually booted into the old installation. Then I used to phpMyAdmin to dump all the databases, which was wrong. I should have dumped all of them except for information_schema. Then, after actually deleting the ‘mysql’ database, I imported the dump: ‘mysql -p < dump.sql' The key was in omitting the non-importable 'information_schema' db, and in first deleting the 'mysql' db.
Apache installation
I definitely messed up installing apache. I wanted it installed in /usr/local/apache2/ but accidentally ran ./configure with –prefix=/usr/local for some reason thinking it would go into ./apache2 . Instead, it installed to /usr/local and I had to sort through all the files in /usr/local to see what should have been in there and what needed to be deleted. I compared my system to another SuSE 10 box to help decide.
PHP options (gd, mbstring, etc)
Compiling PHP exactly the way I wanted it was a little tricky. I really wanted to have gd installed ( –with-gd ) and also with jpeg and png support. It turns out that ./configure was looking for the .so extensions without any version numbers, so installing the -devel packages in YaST for libjpeg and libpng took care of creating the necessary symlinks for ./configre to complete sucessfully. I used ./config.nice a lot to help me get this installed. Here is my final ./configure command. Note the path for MySQLi is to the mysql_config command, and mbstring is –enable-mbstring.
‘./configure’ ‘–with-apxs2=/usr/local/apache2/bin/apxs’ ‘–prefix=/usr/local/php’ ‘–with-mysql=/usr/local/mysql’ ‘–with-mysqli=/usr/local/mysql/bin/mysql_config’ ‘–with-config-file-path=/usr/local/php’ ‘–enable-exif’ ‘–with-gd’ ‘–with-jpeg’ ‘–with-jpeg-dir=/usr/lib’ ‘–with-png-dir=/usr/lib’ ‘–with-zlib-dir=/usr/lib’ ‘–with-curl’ ‘–enable-mbstring’
Old vs. New Startup Scripts and Config Files
In the old system, most everything was configured for me already. All config files were located in /etc and the startup scripts are in /etc/init.d. In order to copy over the /etc/init.d scripts, I had to edit some of them to have the right binary locations. Many of the previous binaries were located in /usr/sbin. My httpd config files are now in /usr/local/apache2/config. I edited my httpd.conf to include my old vhosts.conf which I copied from the old 40gb installation to my /usr/local/apache2/conf.
Port timing out
There is still a 2 minute delay in startup because libata insists on softrestarting while trying to scan ports that have no drives attached to them. Much more information can be seen on my post at SuSE Linux Support Forums.
Overall it was a pretty smooth experience. The relatively cheap SATA card installed without a hitch, and SuSE 10.2 took care of everything.