Prepared by: Dima Gomaa
 Apache is a web server package that works under Linux as well as
under other operating systems
 The name Apache comes from the concept of extensive patching of
existing code
 The primary advantage of Apache is that it is generally free or
available at modest costs
 Download newest version of Apache
◦ May be installed from a CD-ROM as well
 Unzip downloaded file
 Untar the tar file
 Create the MAKE files
 Make Install
 Edit httpd.conf file
 Start Apache Server
 If your CD-ROM has Apache and you want to use RPM to install the
package, issue this command
◦ rpm –i apache_1_3_4.rpm
(substitute the full name of the Apache package)
 First, in Linux, create a folder to hold the Apache file you will download.
 The newest version of Apache Server and Documentation can be found
at The Apache Software Foundation http://www.apache.org/
 To download the newest version of Apache go to
http://www.apache.org/dist/ and click on httpd-2.4.4.tar.gz
 Download this file into your newly created directory.
 NOTE: apache 2.4.4 is the latest version at the time of this writing. You
may want to check for newer releases.
 After you have downloaded your Apache file go into the folder you have
downloaded it into by typing cd /path to folder/name of folder/
 Next, to unzip the .gz file at the prompt type: gunzip httpd-2.4.4.tar.gz
and press the enter key.
 This will unzip the file into the current directory.
 After unzipping the .gz file the resulting file will be a .tar file. (Which
stands for tape archival)
 You will need to untar this file by typing at the prompt:
◦ tar –xvf httpd-2.4.4.tar
 This will un-tar the file to a new directory named httpd-2.4.4
 Go into the folder that now contains the untarred apache files. To change
into that folder, at the prompt type:
◦ cd /<path to folder>/httpd-2.4.4
 Once you are in the httpd-2.4.4 folder you will need to create the apache
make files
 To do this, at the prompt type:
◦ ./configure --prefix=/usr/local/apache and press the enter key. This will install apache in
the folder /usr/local/apache.
 You may chose to install in another directory.
 After running the configure command you will need to compile
the make files.
 To compile the make file, from inside in the httpd-2.4.4
directory, at the prompt, simply type:
◦ make
 Next you must run the make install.
 While still in the directory httpd-2.4.4, at the prompt, type:
◦ make install
 This will install the apache server to the directory defined in the
configure command.
 In order to get the apache server started you must edit the httpd.conf file.
The file is located in whatever directory you installed apache in.
 Once in your apache install directory find the folder named conf.
 Change into the conf folder and locate the file named httpd.conf.
 Open the httpd.conf file with any file editor.
 Next locate the line # ServerName <Name> and uncomment out this line by
deleting the # symbol preceding ServerName.
 Save the file and close it.
 To start your Apache server you must either put the location of the
directory, where your Apache server is installed, in you PATH
environment variable or you must change into your Apache directory
and at the prompt type:
◦ ./apachectl start
 If the path to your Apache install directory is already in your PATH
environment variable, then you can type:
◦ apachectl start
 To stop your Apache Server, from inside the directory where your
Apache is installed, type:
◦ ./apachectl stop
 To restart your Apache Server, from the directory where your Apache
is installed, type:
◦ apachectl restart
 After you have installed and started your Apache server you can test
to if everything is running OK by doing the following…
 Start a browser application.
 If you installed Apache as root, type in the address bar of your
browser the name of your computer and press enter.
 If everything has gone as it should have you should see a page with
the apache logo at the top explaining why you are seeing this page.
This page gives you links to all the apache documentation which you
should read.
 If you would like to customize this index page it is called
index.html.en in the htdocs directory located in the directory your
Apache server is installed.
(source: http:// www.apache.org/)
 Create the home directory for the website, we will use
/usr/www/mywebsite
 Create 3 subdirectories under the site directory
◦ conf
◦ htdocs
◦ logs
 You will find a subdirectory called conf under the directory where
you installed Apache
◦ Copy 3 files (srm.conf-didst, access.conf-dist, http.conf-dist) from
this directory into /usr/www/mywebsite/conf
◦ If you cannot find the 3 files, use the find command to find them
 Rename the 3 files you just copied to drop the “-dist” portion of the
name
 Edit the httpd.conf file to specify
◦ the port number on which your web server responds
◦ the user running the httpd daemon, etc…
 Specify the server name
◦ ServerName ganesan.com
 Add a line that specifies the root directory for your website
◦ DocumentRoot /usr/www/mywebsite/htdocs
 Edit the srm.conf file to set up the web home directory and any
special internal command usage
 Edit the access.conf file to set a basic set of access permissions
 In the htdocs directory create an HTML file for the server to read
when it starts
◦ This can be any HTML file
◦ The filename should be default.html
 Start the httpd daemon
◦ httpd –f /usr/www/mywebsite/conf
 Test the web server by starting a browser and specify the URL
http://127.0.0.1/
 If the system is working properly, you will see a screen with a list of
files in the htdocs directory
 Make sure the ServerType directive is set to “standalone”
 Check the Port device to make sure it is set to the TCP/IP port to
which your Apache server listens
 Set the User directive to either the user ID (UID) or the user name
used for all web visitors
 Set the Group directive to either the group ID (GID) or the group
name assigned to all web users
 Modify the ServerAdmin directive to include the e-mail address of
the administrator
 Set the ServerRoot directive to the absolute path to the directory
where all Apache resource and configuration files are stored
◦ /usr/apache/conf or /etc/httpd
 Set the ServerName directive to the fully qualified domain name of
your server
 If you are running Apache as a standalone server, you need to start
and stop Apache manually
◦ Start with httpd –d rootdir –f configs
◦ To stop Apache use ps to detect the httpd daemon’s PID and use
the kill command to terminate the process
 A virtual host is a web server that resides on one domain but acts
as if it was on another. For example, suppose you control
ganesan.com and test.com. Instead of setting up 2 servers, you
can set up a single machine that serves both domains.
 Virtual hosting saves on machinery and allows for a lot of flexibility
in setting up web servers
 If your network uses a name server for DNS, modify it so that the
domain name points to your web server for each domain you’ll host
 Use the ifconfig command to set up the IP address for each domain
on your server
◦ ifconfig eth0:1 xxx.xxx.xxx.xxx
 Add the route to the network configuration using the route command
◦ route add –host xxx.xxx.xxx.xxx dev eth0:1
 Edit the Apache httpd.conf file to set up virtual hosting
◦ <VirtualHost www.test.com>
DocumentRoot /usr/www/test/htdocs
TransferLog /usr/www/test/logs/access
ErrorLog /usr/www/test/logs/errors
</VirtualHost>
 The previous step defines the virtual host for test.com and specifies
its DocumentRoot, since each virtual host will have different web
directories
 If more than one virtual host is defined, the entries are to be
repeated for each

Linux apache installation

  • 1.
  • 2.
     Apache isa web server package that works under Linux as well as under other operating systems  The name Apache comes from the concept of extensive patching of existing code  The primary advantage of Apache is that it is generally free or available at modest costs
  • 3.
     Download newestversion of Apache ◦ May be installed from a CD-ROM as well  Unzip downloaded file  Untar the tar file  Create the MAKE files  Make Install  Edit httpd.conf file  Start Apache Server
  • 4.
     If yourCD-ROM has Apache and you want to use RPM to install the package, issue this command ◦ rpm –i apache_1_3_4.rpm (substitute the full name of the Apache package)
  • 5.
     First, inLinux, create a folder to hold the Apache file you will download.  The newest version of Apache Server and Documentation can be found at The Apache Software Foundation http://www.apache.org/  To download the newest version of Apache go to http://www.apache.org/dist/ and click on httpd-2.4.4.tar.gz  Download this file into your newly created directory.  NOTE: apache 2.4.4 is the latest version at the time of this writing. You may want to check for newer releases.
  • 6.
     After youhave downloaded your Apache file go into the folder you have downloaded it into by typing cd /path to folder/name of folder/  Next, to unzip the .gz file at the prompt type: gunzip httpd-2.4.4.tar.gz and press the enter key.  This will unzip the file into the current directory.
  • 7.
     After unzippingthe .gz file the resulting file will be a .tar file. (Which stands for tape archival)  You will need to untar this file by typing at the prompt: ◦ tar –xvf httpd-2.4.4.tar  This will un-tar the file to a new directory named httpd-2.4.4
  • 8.
     Go intothe folder that now contains the untarred apache files. To change into that folder, at the prompt type: ◦ cd /<path to folder>/httpd-2.4.4  Once you are in the httpd-2.4.4 folder you will need to create the apache make files  To do this, at the prompt type: ◦ ./configure --prefix=/usr/local/apache and press the enter key. This will install apache in the folder /usr/local/apache.  You may chose to install in another directory.
  • 9.
     After runningthe configure command you will need to compile the make files.  To compile the make file, from inside in the httpd-2.4.4 directory, at the prompt, simply type: ◦ make
  • 10.
     Next youmust run the make install.  While still in the directory httpd-2.4.4, at the prompt, type: ◦ make install  This will install the apache server to the directory defined in the configure command.
  • 11.
     In orderto get the apache server started you must edit the httpd.conf file. The file is located in whatever directory you installed apache in.  Once in your apache install directory find the folder named conf.  Change into the conf folder and locate the file named httpd.conf.  Open the httpd.conf file with any file editor.  Next locate the line # ServerName <Name> and uncomment out this line by deleting the # symbol preceding ServerName.  Save the file and close it.
  • 12.
     To startyour Apache server you must either put the location of the directory, where your Apache server is installed, in you PATH environment variable or you must change into your Apache directory and at the prompt type: ◦ ./apachectl start  If the path to your Apache install directory is already in your PATH environment variable, then you can type: ◦ apachectl start
  • 13.
     To stopyour Apache Server, from inside the directory where your Apache is installed, type: ◦ ./apachectl stop  To restart your Apache Server, from the directory where your Apache is installed, type: ◦ apachectl restart
  • 14.
     After youhave installed and started your Apache server you can test to if everything is running OK by doing the following…  Start a browser application.  If you installed Apache as root, type in the address bar of your browser the name of your computer and press enter.
  • 15.
     If everythinghas gone as it should have you should see a page with the apache logo at the top explaining why you are seeing this page. This page gives you links to all the apache documentation which you should read.  If you would like to customize this index page it is called index.html.en in the htdocs directory located in the directory your Apache server is installed. (source: http:// www.apache.org/)
  • 16.
     Create thehome directory for the website, we will use /usr/www/mywebsite  Create 3 subdirectories under the site directory ◦ conf ◦ htdocs ◦ logs
  • 17.
     You willfind a subdirectory called conf under the directory where you installed Apache ◦ Copy 3 files (srm.conf-didst, access.conf-dist, http.conf-dist) from this directory into /usr/www/mywebsite/conf ◦ If you cannot find the 3 files, use the find command to find them
  • 18.
     Rename the3 files you just copied to drop the “-dist” portion of the name  Edit the httpd.conf file to specify ◦ the port number on which your web server responds ◦ the user running the httpd daemon, etc…  Specify the server name ◦ ServerName ganesan.com
  • 19.
     Add aline that specifies the root directory for your website ◦ DocumentRoot /usr/www/mywebsite/htdocs  Edit the srm.conf file to set up the web home directory and any special internal command usage  Edit the access.conf file to set a basic set of access permissions
  • 20.
     In thehtdocs directory create an HTML file for the server to read when it starts ◦ This can be any HTML file ◦ The filename should be default.html  Start the httpd daemon ◦ httpd –f /usr/www/mywebsite/conf
  • 21.
     Test theweb server by starting a browser and specify the URL http://127.0.0.1/  If the system is working properly, you will see a screen with a list of files in the htdocs directory
  • 23.
     Make surethe ServerType directive is set to “standalone”  Check the Port device to make sure it is set to the TCP/IP port to which your Apache server listens  Set the User directive to either the user ID (UID) or the user name used for all web visitors
  • 24.
     Set theGroup directive to either the group ID (GID) or the group name assigned to all web users  Modify the ServerAdmin directive to include the e-mail address of the administrator  Set the ServerRoot directive to the absolute path to the directory where all Apache resource and configuration files are stored ◦ /usr/apache/conf or /etc/httpd
  • 25.
     Set theServerName directive to the fully qualified domain name of your server
  • 27.
     If youare running Apache as a standalone server, you need to start and stop Apache manually ◦ Start with httpd –d rootdir –f configs ◦ To stop Apache use ps to detect the httpd daemon’s PID and use the kill command to terminate the process
  • 29.
     A virtualhost is a web server that resides on one domain but acts as if it was on another. For example, suppose you control ganesan.com and test.com. Instead of setting up 2 servers, you can set up a single machine that serves both domains.  Virtual hosting saves on machinery and allows for a lot of flexibility in setting up web servers
  • 30.
     If yournetwork uses a name server for DNS, modify it so that the domain name points to your web server for each domain you’ll host  Use the ifconfig command to set up the IP address for each domain on your server ◦ ifconfig eth0:1 xxx.xxx.xxx.xxx
  • 31.
     Add theroute to the network configuration using the route command ◦ route add –host xxx.xxx.xxx.xxx dev eth0:1  Edit the Apache httpd.conf file to set up virtual hosting ◦ <VirtualHost www.test.com> DocumentRoot /usr/www/test/htdocs TransferLog /usr/www/test/logs/access ErrorLog /usr/www/test/logs/errors </VirtualHost>
  • 32.
     The previousstep defines the virtual host for test.com and specifies its DocumentRoot, since each virtual host will have different web directories  If more than one virtual host is defined, the entries are to be repeated for each