- Linux Training
- Desktop Tutorials
- Server Tutorials
|Compile a Program From Source|
|Linux Commands - Shells|
How to Compile a Program From Source
No matter what skills you have as a Linux users, beginner or expert, a time will come when you need to have the skills to compile a program from source. Dealing with source code is just one of those skills that you will need to develop. This tutorial is a simple way to compile Apache, the common web server. This is just a start on what you will need to do. Be sure to practice these skills on a box that is not a production server.
In preparation for compilation you will want to remove apache if you have it installed. This may not be a simple:
Use this command if you have Red Hat based distros.
rpm -e httpd
or use this command with Debian based distros.
Once you remove httpd, you will see the configuration file saved as httpd.conf.rpmsave.
Step #1: Download the Source Code
mv httpd-2.2.8.tar.gz /usr/src
Move into the directory /usr/src/ that has the source code.
Now untar and uncompress the file.
This will create a new directory called httpd-2.2.8. Move into the directory.
acinclude.m4 config.layout INSTALL NOTICE support
Apache.dsw configure InstallBin.dsp NWGNUmakefile test
apachenw.mcp.zip configure.in LAYOUT os VERSIONING
build docs libhttpd.dsp README
BuildAll.dsp emacs-style LICENSE README.platforms
BuildBin.dsp httpd.dsp Makefile.in ROADMAP
buildconf httpd.spec Makefile.win server
Step #2: Configure Apache
The next step is to begin the compilation for apache. You will start this process by looking for a configure script. This configure script will prepare the software for compilation. It will check for the version of compiler on the system and if all the required libraries are available. This also will enable you to make decisions about changes you want to make when the software is installed.
If you run help with the configure script you will see a lot of options that are available. Note the ./ in front of the configure script.
This is a good reference for finding ways to improve your installation of apache. For a test install you may want to create a separate folder you could easily remove if you wanted to install another version of apache.
./configure - -prefix=/usr/local/apache3 - -enable-so
If you want to configure apache to enable options or to compile with options you need to separate options by a space, see the example.
./configure –prefix=/usr/local/apache3 - -enable-ssl - -enable-proxy-http - -enable-so
Once you run the ./configure you will need to run the command: make/
The make command reads a Makefile in the source directory. The Makefile provides the steps for configuring apache with specific instructions. This will start the process of compiling, which may take some time. Once it is done the source has been compiled. Now the next command to run is:
This command actually install apache in the directory that you choose. Once it is complete you can start apache, following the example of /usr/local/apache3, by using this command: