Jump to content
xisto Community
Sign in to follow this  

Setting Up Fedora Core For Web Hosting Not as easy as you might think

Recommended Posts

On several occasions, I have attempted to install Linux on my computer in a dual boot format to learn how to use Linux and more importantly, learn how to set up a web server.

In the past, I have installed a couple of versions of Red Hat, Unbuntu, Gentoox, GoblinX, and now a couple of versions of Fedora Core. The only thing all of these have in common is that installation is problematic at best.


While most distributions of Linux include all the required software to set up a server, I have never been able to realy get it done. Finding where Apache's configuration file is is difficult so you'll be pretty irritated before you manage to make any changes to it. Next, where do your web documents go? Where and how do you use MySQL and forget about FTP for now!


In the past I have been able to setup a test server on my computer in Windows which is not an easy task and recently I wasn't able to duplicate the process with the newest versions of PHP, Apache, and MySQL. Additionally, the windows version is not nearly the same as the Linux version. I have an old computer just sitting around so I decided to try it again!


This time I did some research and found a guide that was almost exactly the procedure I wanted to follow!

How to install Fedora Core 4 Server with the latest Apache, MySQL and PHP support (including --with-mysql in PHP 5)

Fedora Core 6 was the newest version I could find on CD ISO's. The DVD drive in that computer is dead. :rolleyes: Since I want to test my scripts using mysqli and mysql functions, I really wanted to recompile PHP as explained in the tutorial mentioned.


The guide is very thorough but differences between the versions of Fedora Core are not compatible with the procedures...

For example, when the installer asks what type of setup you want to install, you'll select "Web Server" instead of "Server". (Step 3) Also on that page, you want to be sure to select the option to install additional packages NOW! Otherwise, you can't select "Gnome, Graphical Internet, Graphic, FTP, MySQL, and Development Tools" as directed. (Steps 5 & 6)


If you will be dual booting, you really need to review and modify your disk formating and settings since this is where you set up your GRUB boot loader.


Your last chance to make changes to the installation setting is when the installer tells you which disks will be needed for the job. This may be different if installing from a DVD instead!

Go ahead and do the installation. (Step 7)


After the installation, you'll have to create a default user as described in the guide. (Step 8)

*** The rest of the procedures will be performed as this user! Do not use ROOT ***

Your first task as described by the guide is to update the server related software.

Note, the terminal shortcut may be Applications>Accessories>Terminal (Step 9)

Here is where you are likely to encounter your first error message... (Step 11)

yum update apache mysql php
You'll probably get the following:

Existing lock /var/run/yum.pid: another copy is running. Aborting.
You may or may not have noticed when you logged in that the Software Updater has a number of updates waiting. That program is using yum so you'll have wait until it is done and go ahead and install those updates with the Software Updater. Once done, you should be able to proceed with the update task as described in the tutorial. Of course, since you just updated a bunch of software, the server related software may have already been updated for you. Follow the guide to be sure!


Your next pitfall is the PHP configure section of the guide. I'm afraid I don't have any easy way to show you how to do this. B) When you attempt to configure PHP, it will stop as soon as it identifies a single error in the process. So if you have 5 errors in your configuration procedure, then you'll need to repeat the process 5 times at least! For example, you have an error and the process stops. You fix the error and start over then a new error is found. etc...

It would be nice if there was a way to have the configuration program continue to the end of the procedure and report all of the errors at once but I don't know of any.


Since this process is so frustrating without needing to find the resolution to every error, I'll try to show you how to resolve most of the problems without searching the internet.

You run the following as described in the guide: (Step 20)

./configure '--build=i386-redhat-linux' '--host=i386-redhat-linux' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--without-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-pear=/usr/share/pear' '--with-kerberos' '--enable-ucd-snmp-hack' '--without-unixODBC' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/etc/httpd/conf/magic' '--without-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-apxs2=/usr/sbin/apxs' '--with-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba'

And you get the following:

configure: error: xml2-config not found. Please check your libxml2 installation.
Fix with this:

yum install libxml2-devel

Or you get:

configure: error: Please reinstall the libcurl distribution -	 easy.h should be in <curl-dir>/include/curl/
Fix with this:

yum install libcurl-devel

Or you get:

configure: error: Could not find pcre.h in /usr
Fix with this:

yum install pcre-devel

Or maybe you get:

configure: error: Cannot find MySQL header files under yes.  Note that the MySQL client library is not bundled anymore!
Fix with this:

yum install mysql-devel

Hopefully you will notice the pattern here. The missing or problem item name in the error statement is usually the first part of the package to be installed.

Here is the format: yum install problemname-devel


I suggest that you try and guess the correct name of the package you need to install before you go looking for the solution somewhere else. If the name isn't correct, then the installer will just tell you that it didn't do anything so you'll need to search for the answer on the internet. This could save you a lot of time. I had about 10 of these little errors come up so figuring out this shortcut after the third one saved me a bunch of time! :)


Once you have successfully installed the missing package, repeat the process as described in the guide. (Step 20)


Continue following the guide and if you run into any errors on the way that you can't resolve, copy the error message and paste it into the search box for your favorite search engine. Remember, if you don't get a decent hit on one search engine, another might find your solution.

I usually don't click a link unless nearly the entire error message is matched exactly how it was given to me. :P


Hopefully, this will save you all of the time I wasted trying to figure this stuff out. You will no doubt experience many more difficulties as you attempt to set up your "server" but this will at least get you the right software to begin the process.


By the way, there is a nice text editor that you can edit in that is easier to use than the terminal editor but you can't edit "ROOT" owned files from your user with this tool!



Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.