ITI-520:%20Web%20Technology%20Web%20Server%20Setup - PowerPoint PPT Presentation

About This Presentation
Title:

ITI-520:%20Web%20Technology%20Web%20Server%20Setup

Description:

Unpacking the distribution file will create another directory under /home ... directory that was created when you unpacked the Apache source distribution (i.e. ... – PowerPoint PPT presentation

Number of Views:79
Avg rating:3.0/5.0
Slides: 46
Provided by: cjuri
Category:

less

Transcript and Presenter's Notes

Title: ITI-520:%20Web%20Technology%20Web%20Server%20Setup


1
ITI-520 Web TechnologyWeb Server Setup
  • Meeting 2 Apache Installation and Initial
    Configuration
  • Rutgers University Internet Institute
  • Instructor Chris Uriarte

2
Apache
  • The worlds leading web server software (powers
    61 of all web servers in the world)
  • Runs on UNIX and Windows platforms. UNIX version
    is the most stable and most widely used.
  • Configuration is the same on all UNIX platforms.

3
How Do I Get Apache?
  • The Current release of Apache 1.3.12. Released
    October 2000.
  • You can download it from the Apache Website
    http//www.apache.org/dist/
  • Binary Versions software that is ready-to-use
    for your specific operating system platform
  • Source Code the computer code used to build
    Apache. You must use a compiler to build the
    code.
  • You can buy a Unix distribution that comes
    bundled with Apache pre-built (most Linux
    distributions include Apache by default).

4
Installing Apache from Source
  • Allows you to build the Apache binaries from
    scratch.
  • Optimizes Apache for the platform on which it
    will run.
  • Allows you to decide whether to build Apache as a
    static or a dynamic server.
  • Allows you to decide what modules you want to
    include.
  • You need a C compiler (i.e. gcc) to install
    source, which is included in most UNIX
    distributions.

5
Apache Modules
  • Apache has a modular structure. Only a core set
    of features exists within the main Apache
    executable.
  • Apache Modules provide additional functionality
  • Example Module mod_speling The Speling module
    attempts to correct misspellings of URLs that
    users might have entered, namely by checking
    capitalization or by allowing up to one
    misspelling (character insertion, omission,
    transposition, typo).

6
Apache Static vs. Dynamic Servers
  • Static Servers
  • Must decide at build time what modules to
    include. Recompiling will be necessary to add
    modules later.
  • Dynamic Servers
  • Uses mod_so to load modules dynamically when
    Apache server is started.
  • New modules can usually be added later without
    recompiling.

7
Installing Apache Source
  • Create a directory under your iti.rutgers.edu
    home directory called apache
  • mkdir apache
  • You now need to obtain the Apache source file
    (which youd usually do from http//www.apache.org
    /dist). You can copy the source that is
    contained locally on the iti.rutgers.edu server
  • cd apache
  • cp chrisjur/apache_1.3.12.tar.gz .
  • You should now have the Apache source file under
    your home directory in /home/itiXXXX/apache.

8
Unzipping and Untaring the Source File
  • You now have the Apache source distribution under
    your home directory in /home/itiXXXX/apache.
  • The source file is actually a group of tared
    files and directories, which is then zipped using
    the gzip utility.
  • You can untar and unzip the source distribution
    by issuing
  • tar xvzf apache_1.3.12.tar.gz

9
Unzipping and Untaring the Source File cont.
  • Unpacking the distribution file will create
    another directory under /home/itiXXXX/apache
    called apache_1.3.12 (/home/itiXXXX/apache/apach
    e_1.3.12).
  • cd to the apache_1.3.12 to view the files and
    directories that are included in the distribution.

10
Sample Directory Listing from Source Distribution
  • iti cd apache_1.3.12
  • iti ls
  • ABOUT_APACHE LICENSE README.NT
    conf htdocs
  • Announcement Makefile README.configure
    config.layout icons
  • INSTALL Makefile.tmpl WARNING-NT.TXT
    config.status logs
  • KEYS README cgi-bin
    configure src
  • iti ls -al
  • total 272
  • drwx------ 8 chrisjur users 4096 Oct 15
    2021 .
  • drwx------ 13 chrisjur users 4096 Oct 15
    2110 ..
  • -rw------- 1 chrisjur users 12957 Mar 31
    1999 ABOUT_APACHE
  • -rw------- 1 chrisjur users 2922 Feb 23
    2000 Announcement
  • -rw------- 1 chrisjur users 27964 Dec 21
    1999 INSTALL
  • -rw------- 1 chrisjur users 35773 Aug 20
    1999 KEYS
  • -rw------- 1 chrisjur users 2848 Jan 1
    1999 LICENSE
  • -rw------- 1 chrisjur users 26929 Oct 15
    2020 Makefile
  • -rw------- 1 chrisjur users 26758 Jan 11
    2000 Makefile.tmpl
  • -rw------- 1 chrisjur users 2046 Apr 1
    1998 README
  • -rw------- 1 chrisjur users 3132 Mar 19
    1999 README.NT

11
Apache Installation Step 1
  • Before actually building the Apache binaries, you
    must run a configure utility, which inspects your
    system and prepares the distribution for
    compiling.
  • The configure script is located in the directory
    that was created when you unpacked the Apache
    source distribution (i.e. /home/itiXXX/apache/apac
    he_1.3.12)

12
Apache Installation Step 1 cont.
  • Run the configure script like this
  • ./configure --prefix/home/itiXXX/apache
  • The prefix flag tells Apache where you actually
    want to install the software and configuration
    files.
  • It also builds the Apache software so it knows
    where to look for configuration files

13
Apache Installation Step 2
  • After the configure script runs successfully, you
    now need to compile the software code into the
    actual binaries.
  • You can start the compile by issuing the make
    command in the Apache distribution directory,
    i.e
  • cd /home/itiXXX/apache/apache_1.3.12
  • make
  • The compile process will take 2-10 minutes,
    depend

14
Apache Installation Step 3
  • When the compile is complete, you can install the
    software and configuration files by issuing the
    make install command.
  • This will copy the built binaries and
    configuration files into the /home/itiXXXX/apache
    directory you specified when you ran the
    configuration script. We will now refer to this
    directory as the Server Root directory.

15
The Server Root Directory
  • Examine the contents of the Server Root
    directory. You now have a group of directories
    Apache uses
  • bin the location of the actual apache program
    and other utilities
  • conf location of the configuration files
  • htdocs the directory where web pages and and
    associated files are kept
  • logs where apache keeps log files
  • man UNIX man pages for apache
  • cgi-bin the directory where CGI scripts are kept

16
Apache and Privileged Ports
  • Any TCP/IP port gt1024 is considered a privileged
    port.
  • Privileged Ports can only be accessed by
    applications started by the root user.
  • Therefore, since you are not the root user on
    this system, you must configure Apache to use a
    port gt1024.

17
Quickstart Change the Port Number your Apache
Server Uses
  • cd to the Apache conf directory
    (/home/itiXXX/apache/conf)
  • Use a text editory to open the httpd.conf file,
    which is the main Apache configuratio file.
  • Find the line that says Port XX. Your file may
    say Port 8080 or some other number.

18
Change your Apache Port, cont.
  • Replace the number next to the Port directive
    to a number that corresponds to you.
  • Use the numeric portion of your iti.rutgers.edu
    username. For example, if your username is
    iti2345, use port 2345 as your port number.
  • Exit your editor and save the file.

19
Getting Ready to Run Apache for the First Time
  • Apache is configured to look for web documents in
    the htdocs directory under the server root
    (/home/itiXXX/apache/htdocs).
  • Be default, a page called index.html is the
    first page of a the website returned to clients.
  • Examine the index.html file in your htdocs
    directory.

20
Starting Apache The Hard Way
  • The actual Apache binary is called httpd and it
    resides in the Apache bin directory.
  • You can start Apache by simply executing the
    httpd command
  • cd apache/bin
  • ./httpd
  • Apache is now started!

21
Verify that Your Instance of Apache is Working
  • Point a web browser to http//iti.rutgers.edultPOR
    Tgt
  • You should see a default Apache web page appear
    (the contents of the htdocs/index.html document
    we looked at earlier)

22
Stopping Apache The Hard Way
  • Remember, every time you execute a program on a
    UNIX operating system, a process is created
  • You can kill processes by using the kill command
  • You can kill Apache by issuing the following
    commend
  • kill TERM cat /home/itiXXXX/apache/logs/httpd.pi
    d

23
Starting and Stopping Apache The Easy Way
with apachectl
  • A script called apachectl is included in the
    apache/bin directory.
  • You can use apachectl to start, stop and restart
    the Apache server very simple to use
  • cd /home/itiXXXX/apache/bin/
  • ./apachectl startstoprestart

24
Apache Startup, cont.
  • Common practice to start apache at boot time with
    rc scripts located in /etc/rc.d. Typical name and
    location for Apache rc script /etc/rc.d/init.d/ht
    tpd on Linux systems. Symbolic links set for
    various run levels.
  • The commands used to start Apache are usually
    placed in the /etc/rc.local startup file on BSD
    systems
  • Solaris systems usually place a startup script in
    the /etc/rc2.d or /etc/rc3.d directories.
  • The root user must add Apache startup commands to
    the startup scripts on the system.

25
Apache Configuration Files
  • Configuration files are placed in the conf/
    directory and include
  • httpd.conf master configuration file
  • access.conf and srm.conf no longer used
  • Since version 1.3.4, all you configuration is
    done in the httpd.conf file the srm.conf and
    access.conf files are no longer needed.
  • Apache needs to know location of httpd.conf file
    to start. If httpd.conf needs to move after
    initial install need to specify location with f
    option when starting server.
  • httpd f /path/to/httpd/.conf

26
httpd.conf IP address and Port
  • The BindAddress and Port directives in the
    httpd.conf tell Apache which IP addresses and
    ports to listen on. Usage
  • Tells Apache to use the default IP address for
    this system
  • BindAddress
  • Tells Apache to listen for web requests on Port
    80
  • Port 80

27
Tell Apache to Listen To Additional Ports and IP
addresses
  • The Listen directive in the httpd.conf tells
    Apache to listen to additional Ports and/or
    Port/IP address combinations.
  • Usage
  • Listen ltPort Numbergt or
  • Listen ltIPgtltPort Numbergt
  • These IP/Ports are used in addition to the IP and
    Port specified in the BindAddress and Port
    directive described earlier.

28
httpd.conf Basic Configuration Directives
  • ServerName iti.rutgers.edu The name of this
    server we use to respond to web clients with. If
    the server does not have a real internet name,
    use the IP address instead.
  • ServerType standalone - We always set this to
    standalone.

29
httpd.conf Basic Configuration Directives
  • User nobody, Group nobody - For security reasons,
    we usually run Apache assumes the identity of a
    non-root user and group on the system. A lot of
    times we run Apache as the nobody user/group.
  • ServerAdmin itiXXX_at_iti.rutgers.edu - A contact
    address to report problems returned to the web
    client when an error occurs.

30
httpd.conf Basic Configuration
  • ServerRoot /home/itiXXXX/apache - Where Apache
    keeps all its essential files.
  • DocumentRoot /usr/local/apache/htdocs - Where
    the actual Web pages reside.
  • ErrorLog /home/itiXXXX/apache/logs/error_log
    The location of the Apache error log
  • PidFile /home/itiXXXX/apache/logs/httpd.pid
    -Process id for the Apache parent process. Used
    with the kill command to stop Apache.

31
httpd.conf Virtual Directories
  • Sometime you want to create a Virtual Directory,
    where a document directory may not exist under
    your htdocs directory, but you want web clients
    to have access to it.
  • This is configured using the Alias directive in
    the httpd.conf, usage
  • Alias ltvirtualdirectorygt ltreal directorygt

32
Virtual Directories, cont.
  • For example, if your Document Root is the default
    htdocs directory and you want web client to
    access a directory that contains Icons
    (/home/itiXXXX/apache/icons), you can create a
    Virtual Virtual Directory called myicons like
    this
  • Alias /myicons /home/itiXXXX/apache/icons
  • Now web clients can access this virtual directory
    by going to http//iti.rutgers.eduXXXX/myicons
    to view the files in the icons directory.

33
httpd.conf Redirects
  • The Redirect directive allows web clients to
    access a URL on your system and be re-directed to
    a remote URL somewhere else.
  • Usage
  • Redirect /localpath http//remoteurl
  • Example
  • Redirect /photos http//members.yahoo.com/user/pho
    tos
  • Redirects all request to http//yoursite.com/photo
    s to http//members.yahoo.com/user/photos
  • Useful when you move portions of a webpage

34
Giving Web Access to Users on the System
  • Individual users on your system may wan the
    ability to post web content.
  • The UserDir Apache directive, allows each user on
    the system to create an special directory used to
    contain web content.
  • Usage UserDir public_html
  • Now system users can place all of their web
    documents in a directory called public_html under
    their home directory. These documents can be
    accessed via the URL http//systemname/username.

35
Access Control Files
  • Per directory configuration files can be used to
    supplement or override settings set on the server
    level. Most commonly used to password-protect a
    directory.
  • Allows for on-the-fly changes. No need to
    restart the server.
  • Generally referred to as .htaccess files even
    though the actual name of the file can be set in
    httpd.conf AccessFileName .htaccess

36
Access Restrictions by Location
  • Access to directory contents can be granted or
    denied by IP address, network, hostname or name.
  • ltDirectory /home/apache/apache/htdocs/restrictedgt
  • order deny,allow deny from all allow from
    165.230.30.68 .rutgers.edu iti.rutgers.edu
  • lt/Directorygt
  • Best to control access by IP address rather than
    hostname to avoid require DNS lookups for every
    attempted connection.
  • You can place these blocks access control blocks
    in the httpd.conf file or in an .htaccess file.

37
The Index File
  • When a web browser points to a directory, rather
    than a particular file (e.g. http//www.internet.r
    utgers.edu/II/ITI520 vs. http//www.internet.rutge
    rs.edu/II/ITI520/index.html), Apache looks for an
    index file, which is the default web page for a
    particular directory.
  • You can specify the name of acceptable index
    files by using the DirectoryIndex directive in
    the httpd.conf file.
  • Usage DirectoryIndex filename filename
  • Apache will look for the index file names
    specified when a request is made to a directory.

38
Indexing
  • What happens if you type a URL into a browser
    that points to a directory rather than a specific
    file?
  • Will load the index file if directory includes
    any of the files specified with DirectoryIndex in
    httpd.conf DirectoryIndex index.html index.htm
  • If no index file exists and indexing has been
    enabled, will get a directory listing.
  • If no index file exists and indexing has been
    disabled, will get an error message.
  • Advisable to leave indexing disabled for security
    reasons unless there is a specific need for it.

39
Indexing, cont.
  • To enable indexing in httpd.conf
  • Options Indexes
  • Fancy indexing generates listing that includes
    representative icon, name, last modified, size,
    and description
  • IndexOptions FancyIndexing
  • Indexing requires module mod_autoindex, which is
    installed by default.

40
Access Control Files, cont.
  • Level of overrides allowed should also be set in
    httpd.conf AllowOverride NoneAllOptionsIndexes
    FileInfoAuthConfigLimit Default is All.
  • Access control file is placed in root of
    directory for which configuration is being
    modified.

41
Downloading a Binary Distribution
  • The Apache Foundation has pre-built binary
    distributions that are built for specific
    operating systems.
  • You can download binary distributions at
    http//www.apache.org/dist/binaries/.
  • Look for the folder that contains your operating
    system
  • Download the current version. The file has a
    name similar to this apache_1.3.12-i686-whatever
    -linux2.tar.gz

42
Sample Linux Apache Installation with RPM
  • Download apache-ltversiongt.i386.rpm from
    ftp//ftp.redhat.com/pub/redhat/current/i386/RedHa
    t/RPMS or from one of Red Hat mirrors.
  • In download directory type
  • rpm -ivh apache-1.3.9-4.i386.rpm
  • Apache is included with most Linux distributions
    (RedHat, Mandrake, SuSE, etc.) and can be
    selected for inclusion during installation

43
Linus RPM Install of Apache Whats Installed and
Where
  • /usr/sbin/httpd - Apache binary
  • /etc/httpd/conf - Apache configuration files
  • /var/log/httpd - Apache log files
  • /home/httpd - Website content files
  • /usr/lib/apache - Apache modules
  • /etc/rc.d/init.d/httpd - Script to start Apache
    automatically at boot time.
  • To see full list of installed files type rpm
    --query -l apache-1.3.9-4

44
Graphical Tools for Managing Apache
  • Apache Only Graphical Tools
  • Comanche
  • TkApache
  • ServerConfig/2
  • General Graphical Tools that Support Apache
  • Linuxconf (comes with Red Hat Linux)
  • Webmin
  • Download information available at
    http//gui.apache.org

45
Commanche GUI install
  • Commanche available at http//comanche.com.dtu.dk/
    comanche/download.html
  • Demo
Write a Comment
User Comments (0)
About PowerShow.com