Start Debian ClamAV Apache MySQL Postfix Samba Annet

Installasjon av Apache 2 (webserver)
med støtte for SSL, PHP og CGI

Apache er en avansert, men samtidig en ganske enkel webserver å bruke. Veldig mange bedrifter bruker Apache. En del av grunnen er at Apache er Open Source (og gratis). En annen ting er at Apache kan konfigureres på veldig mange måter. Dermed er mulighetene der til å få webserveren nærmest slik en vil ha den selv.
Apache støtter normalt kun vanlig HTML-kode, men noen vil gjerne ha en webserver som støtter litt mer enn dette. En del websider er gjerne bygget opp med f.eks ASP eller PHP for å bli mer dynamiske i sitt utseende. For å kunne benytte disse "språkene" må man derfor installere støtte for det. Nedenfor finner du ut hvordan du installerer de forskjellige programpakkene for støtte av flere kodespråk.

Apache 2

Du installerer Apache 2 (heretter kalt Apache) ved å skrive # apt-get install apache2

Dette var selve installasjonen, men det viktigste gjenstår. Hvordan skal du konfigurere den?
Vil du vite mer om hvordan du kan konfigurere Apache skikkelig kan du se på sidene til Apache Software Foundation.

Nedenfor vil vi kun ta opp hvordan man konfigurerer et virtuelt domene. Det vil si at om du skriver inn adressen http://www.lillebror.no i din nettleser så vil webserveren finne siden som er knyttet opp mot dette domenet.

Konfigurering av Apache kan være tidkrevende. Apache består ikke av en enkelt fil der du kan finne alt du trenger for å sette opp webserveren. I stedet består den av flere små filer som til sammen utgjør konfigurasjonen. Dette gjør det enklere å finne det du trenger da du slipper å lete gjennom en fil på flere hundre linjer, men igjen må du altså vite hvor du finner filene siden disse er spredt over flere kataloger.

Under vil du finne filnavnene og stien til disse som du vil komme bort i under denne installasjonen.

  Filnavn: Stinavn:
  apache2.conf /etc/apache2/
  ports.conf /etc/apache2/
  default /etc/apache2/sites-available/
  ssl /etc/apache2/sites-available/


NB! Det er mulig å lage symbolske linker (inoder/snarveier) til disse filene i en egen katalog så det blir lettere å finne de senere, men måten du gjør dette på vil ikke bli tatt opp her.


Så var det over til konfigurering av virtuelle domener. For å gjøre dette må du redigere filen for tilgjengelige sider. Denne filen kommer du inn i ved å skrive # vi /etc/apache2/sites-available/default.
Under vil du se et utdrag fra filen default.

NameVirtualHost *
<VirtualHost *>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
        # This directive allows us to have apache2's default start page
        # in /apache2-default/, but still have / go to the right place
        RedirectMatch ^/$ /apache2-default/
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>


Nå kan du endre denne til ditt eget formål. Jeg har lagt ved et eksempel under som du gjerne kan se litt på for å få en viss forståelse for hvordan du kan tilpasse default til ditt formål.
Det vi går ut i fra er at du har en nettside som du gjerne vil at andre skal kunne se når de skriver inn http://www.lillebror.no i nettleseren sin.
Nettsiden har du lagt i underkatalogen lillebror i /var/www/ (/var/www/lillebror/).
For å få til dette trenger du kun å legge til en linje og endre syv andre linjer.

Det første punktet er altså å legge til linjen ServerName www.lillebror.no

Det andre punktet er å endre linjene:

Fra:   Til:  
  ServerAdmin webmaster@localhost   ServerAdmin webmaster@lillebror.no
 
  DocumentRoot /var/www/   DocumentRoot /var/www/lillebror/
 
  <Directory /var/www/>   <Directory /var/www/lillebror/>
 
  RedirectMatch ^/$ /apache2-default/   # RedirectMatch ^/$ /apache2-default/
 
  ErrorLog /var/log/apache2/error.log   ErrorLog /var/log/apache2/www-lillebror-no-error.log
 
  CustomLog /var/log/apache2/access.log combined   CustomLog /var/log/apache2/www-lillebror-no-access.log combined
 
  ServerSignature On   ServerSignature Off

Dermed vil du ha en default-fil som vil se slik ut:

NameVirtualHost *
<VirtualHost *>
    ServerName www.lillebror.no
    ServerAdmin webmaster@lillebror.no

    DocumentRoot /var/www/lillebror/
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/lillebror/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
        # This directive allows us to have apache2's default start page
        # in /apache2-default/, but still have / go to the right place
        # RedirectMatch ^/$ /apache2-default/
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/www_lillebror_no_error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/www_lillebror_no_access.log combined
    ServerSignature Off

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>


Om du har flere sider du ønsker å linke til med forskjellige prefiks (www er et prefiks) og/eller domener kan du kopiere alt under linjen NameVirtualHost * og skrive dette inn nederst i dokumentet. Så er det bare å endre dette til det du vil ha der.

Når alt er gjort kan du starte Apache på nytt med kommandoen # /etc/init.d/apache2 restart og din webserver vil være klar.

SSL

Så skal vi sette opp SSL. Først skal du lage et eget sertifikat for din server. For å gjøre dette må du skriv inn # apache2-ssl-certificate
Dermed begynner prosessen for å lage ditt eget sertifikat for serveren. Nedenfor finner du et eksempel på hva du kan sette inn i de forskjellige punktene som du må fylle ut.

  Country Name (2 letter code) [GB]: NO (landet du bor i)
  State or Province Name (full name) [Some-State]: '.'
  Locality Name (eg, city) []: Oslo (byen du bor i)
  Organization Name (eg, company; recommended) []: Lillebror (din bedrifts navn)
  Organizational Unit Name (eg, section) []: '.'
  server name (eg. ssl.domain.tld; required!!!) []: lillebror.no (ditt domene)
  Email Address []: webmaster@lillebror.no (mailadressen til domenet)


Første del er nå unnagjort. Det neste blir å starte modulen SSL i Apache. Dette gjøres ved å skrive # a2enmod ssl. Dermed er modulen SSL startet.

Nå skal du først lage en kopi av /etc/apache2/sites-available/default og kalle filen ssl eller noe lignende. Deretter må du legge til og endre på noen linjer i filen.
Merk! Det er tatt utgangspunkt i at default-filen ikke har vært endret på før. Er den blitt endret på, må du tilpasse den selv etter ditt eget behov. Fremferden vil uansett være lik.

Kopien lager du ved å skrive # cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
Deretter skriver du inn # vi /etc/apache2/sites-available/ssl for å endre på filen.

Når det gjelder linjene du skal endre, så vil disse være:

Fra:   Til:  
  NameVirtualHost *   NameVirtualHost *:443
 
  <VirtualHost *>   <VirtualHost *:443>

Og dette er de to linjene som skal legges til. SSLEngine on og SSLCertificateFile /etc/apache2/ssl/apache.pem
Disse kan legges til over den siste linjen som i dette tilfellet vil være </VirtualHost>.

Dermed vil det se slik ut med de to linjene lagt til.

    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/apache.pem
</VirtualHost>


Det neste er å lage en symbolsk link til det nye sideoppsettet i filen ssl opp mot /etc/apache2/sites-available. For å gjøre dette skriver du inn # a2ensite ssl.

Nå skal vi åpne for at Apache skal lytte på port 443 som er SSL-porten. Dette gjør du ved å endre oppsettet for portlytting i Apache's portkonfigurasjon som du finner i katalogen /etc/apache2. Filen du skal endre på heter ports.conf. Når du har åpnet filen ved å skrive # vi /etc/apache2/ports.conf, skal du legge til linjen Listen 443 under Listen 80.

Nå gjenstår det bare å starte Apache på nytt. Dette gjør du ved å skrive # /etc/init.d/apache2 restart

PHP og CGI

For å legge til støtte for PHP og CGI i Apache må du installere dette ved å skrive # apt-get install libapache2-mod-php4 php4-cli php4-common php4-cgi

Når dette er gjort kan du starte Apache på nytt ved å skrive # /etc/init.d/apache2 restart
Nå skal du ha en webserver som støtter PHP-koding og CGI-script.

©2006-2021 EBJ Kontakt oss