[email protected][email protected]`Red Hat Tips'' is documentatie die is bedoeld om RedHat gebruikers te helpen met bepaalde taken. Enkele van deze documenten zijn voor beginnende gebruikers, andere zijn voor gevorderde gebruikers. Hopelijk zal ieder document ook van hulp zijn voor zowel nieuwe als gevorderde gebruikers. Als je een bijdrage wilt leveren, zend die dan naar [email protected]. Als je veranderingen hebt voor een individueel Tips document, zend die dan naar de auteur van dat document.
Mark Cornick heeft de basis van dit document gemaakt (bedankt Mark!) Deze Red Hat tip file helpt je met een basisopzet van een Apache webserver. Je moet wel root zijn om dit proces te volgen.
Eerst dient de Apache RPM geïnstalleerd te worden. Deze RPM installeert de binary van de Apache web server en maakt de nodige directory's, de installatie zorgt er gelijk voor dat Apache opstart na het booten.
Na de installatie van de Apache RPM, worden er verschillende directory's aangemaakt op je systeem:
         /etc/httpd/conf            - configuratie files
         /var/log/httpd             - log files
         /home/httpd/html           - Waar je de html files zet 
         /home/httpd/cgi-bin        - Waar je de CGI files zet
         /home/httpd/icons         -  Hier staan iconen die zijn gebruikt voor de index, etc.
Er wordt een voorbeeld pagina in /home/httpd/html geïnstalleerd,
en  een paar CGI programma's zijn geïnstalleerd in
/home/httpd/cgi-bin.
Voor dat je de server opstart, kijk dan eerst even in de configuratie 
files in /etc/httpd/conf. Deze zitten erbij
access.conf: Deze file regelt wie er op jouw site mag komen.
Een van de dingen die je kunt veranderen zijn de ``allow'' en ``deny''
regels, deze beperken het gebruik van webpagina's. Default zijn alle hosts
toegestaan. Je kan het bijvoorbeeld zo aanpassen dat iedereen er op mag,
behalve een probleem host.
        <Limit GET>
        order allow,deny
        allow from all
        deny from b1ff.eleet.com
        </Limit>
        <Limit GET>
        order deny,allow
        deny from all
        allow from gizmonics.edu
        <Limit GET>
httpd.conf: Dit is de main configuratie file met informatie over
jouw web server. Beneden staan er een paar voorbeelden die je moet aanpassen 
voor je eigen site.
 
De eerste dingen die je ziet om aan te passen voor je eigen web site zijn 
de modules die geladen moeten worden. Deze zijn al gebaseerd op jouw voorkeur
en behoefte, een gouden regel is: Als je niet weet wat het is dan heb je het 
waarschijnlijk niet nodig ook. Lees de documentatie om meer over modules, 
de features en de problemen te leren en beslis dan welke modules je neemt.
De sectie hieronder is zoals op mijn server, die van jou mag anders zijn.
        # Documentatie over modules staat in "/home/httpd/manual/mod" in HTML format.
        #LoadModule mmap_static_module modules/mod_mmap_static.so
        LoadModule env_module         modules/mod_env.so
        LoadModule config_log_module  modules/mod_log_config.so
        LoadModule agent_log_module   modules/mod_log_agent.so
        LoadModule referer_log_module modules/mod_log_referer.so
        LoadModule mime_magic_module  modules/mod_mime_magic.so
        LoadModule mime_module        modules/mod_mime.so
        LoadModule negotiation_module modules/mod_negotiation.so
        LoadModule status_module      modules/mod_status.so
        LoadModule info_module        modules/mod_info.so
        LoadModule includes_module    modules/mod_include.so
        LoadModule autoindex_module   modules/mod_autoindex.so
        LoadModule dir_module         modules/mod_dir.so
        LoadModule cgi_module         modules/mod_cgi.so
        LoadModule asis_module        modules/mod_asis.so
        LoadModule imap_module        modules/mod_imap.so
        LoadModule action_module      modules/mod_actions.so
        LoadModule speling_module     modules/mod_speling.so
        LoadModule userdir_module     modules/mod_userdir.so
        LoadModule proxy_module       modules/libproxy.so
        LoadModule alias_module       modules/mod_alias.so
        LoadModule rewrite_module     modules/mod_rewrite.so
        LoadModule access_module      modules/mod_access.so
        LoadModule auth_module        modules/mod_auth.so
        LoadModule anon_auth_module   modules/mod_auth_anon.so
        #LoadModule dbm_auth_module    modules/mod_auth_dbm.so
        LoadModule db_auth_module     modules/mod_auth_db.so
        LoadModule digest_module      modules/mod_digest.so
        #LoadModule cern_meta_module   modules/mod_cern_meta.so
        LoadModule expires_module     modules/mod_expires.so
        LoadModule headers_module     modules/mod_headers.so
        LoadModule usertrack_module   modules/mod_usertrack.so
        #LoadModule example_module     modules/mod_example.so
        #LoadModule unique_id_module   modules/mod_unique_id.so
        LoadModule setenvif_module    modules/mod_setenvif.so
        # Extra Modules
        #LoadModule php_module         modules/mod_php.so
        #LoadModule php3_module        modules/libphp3.so
        LoadModule perl_module        modules/libperl.so
        #  Reconstruction of the  complete module list from all available modules
        #  (static and shared ones) to achieve correct module execution order.
        #  [WHENEVER YOU CHANGE THE LOADMODULE SECTION ABOVE UPDATE THIS, TOO]
        ClearModuleList
        #AddModule mod_mmap_static.c
        AddModule mod_env.c
        AddModule mod_log_config.c
        AddModule mod_log_agent.c
        AddModule mod_log_referer.c
        AddModule mod_mime_magic.c
        AddModule mod_mime.c
        AddModule mod_negotiation.c
        AddModule mod_status.c
        AddModule mod_info.c
        AddModule mod_include.c
        AddModule mod_autoindex.c
        AddModule mod_dir.c
        AddModule mod_cgi.c
        AddModule mod_asis.c
        AddModule mod_imap.c
        AddModule mod_actions.c
        AddModule mod_speling.c
        AddModule mod_userdir.c
        AddModule mod_proxy.c
        AddModule mod_alias.c
        AddModule mod_rewrite.c
        AddModule mod_access.c
        AddModule mod_auth.c
        AddModule mod_auth_anon.c
        #AddModule mod_auth_dbm.c
        AddModule mod_auth_db.c
        AddModule mod_digest.c
        #AddModule mod_cern_meta.c
        AddModule mod_expires.c
        AddModule mod_headers.c
        AddModule mod_usertrack.c
        #AddModule mod_example.c
        #AddModule mod_unique_id.c
        AddModule mod_so.c
        AddModule mod_setenvif.c
        # Extra Modules
        #AddModule mod_php.c
        #AddModule mod_php3.c
        AddModule mod_perl.c
/etc/inetd.conf of
als standalone  server. Mijn advies is standalone voor betere performance
en resource redenen, alhoewel het gewoon een kwestie van behoefte is.  
        ServerType           standalone
        Port 80
        HostnameLookups off
        User nobody
        Group nobody
        ServerAdmin     [email protected]
/etc/aliases zetten 
en dan het volgende runnen:
        /usr/bin/newaliases
        ServerRoot "/etc/httpd"
Apache.mime.types: Je moet hier niets in veranderen.srm.conf: Deze file bevat info over directory's, files en file
types op je server. De meeste dingen moeten niet veranderd worden.
Alhoewel, als je support wilt voor server-side includes op je server,
dan moet je bij sommige van de AddType de commentaarregels weghalen. 
Deze Server-side includes zijn een gevaar voor de beveiliging. Daarom zijn
ze standaard uitgeschakeld. Nu ben je er aan toe om pagina's op je server te zetten. 
Gewoon HTML files, plaatjes enz. die je op je server wilt hebben in de
/home/httpd/html directory zetten.  Je kunt ook subdirs maken.
Wees er wel zeker van dat files voor het publiek te lezen zijn. 
        chmod a+r (name-of-file)
De file met de naam index.html wordt default geladen als er geen
andere wordt gevraagd.
        http://yourhost.com/index.html
is hetzelfde als:
        http://yourhost.com/
Dus je moet de startpagina altijd index.html noemen.
Nu ben je klaar om de server te starten met het volgende commando als root:
        httpd
(De volgende keer als linux opstart zal de http server automatich opstarten.)
Probeer met een browser je webserver te benaderen. Vanuit X:
        lynx http://localhost/
Als je je homepage ziet dan is het goed! Zoniet, dan krijg je enkele foutmeldingen. Deze zijn dan normaal:
        chmod a+r /home/httpd/html/index.html
Nu heb je een basis web server draaien. Er zijn verschillende boeken die je kunnen helpen een uitgebreidere web server te maken met CGI, enz.. Zoals``Managing Internet Information Services'' door Liu, Peek, Jones, Buus, en Nye (O'Reilly, 1994) heeft verschillende hoofdstukken over webserver en FTP, Gopher en andere services.
Copyright (C) 1996 door Red Hat Software. Herdistributie van dit document mag alleen als de inhoud hetzelfde blijft. Met andere woorden je mag dit document printen en herdistribueren.