Weet iemand hier misschien waar ik ergens een apache tutorial of howto kan krijgen, ik ben nameijk een redelijke newbie met linux en ik wil een website hosten op me servertje.
Verwijderd
http://www.isp-technology.nl/howto/apache/v1.txt
APACHE (1.3x) INSTALLATIE-HOWTO
Deze HOWTO beschrijft de diverse stappen die genomen moeten worden om een
goed werkende Apache te krijgen, inclusief gebruik van de
suexec_wrapper, mod_perl, mod_ssl en PHP4 met GD, Freetype, ZendOptimizer
en MySQL-support.
================================================
1) Voorwoord
Commando''s die moeten worden ingetikt op de shell-prompt, worden
aangegeven dmv. ''$ commando''. Dus als de directory ''/download'' moet
worden aangemaakt, staat dat er als volgt :
$ mkdir /download
==============================================
2) Source distributies downloaden
2.1) Versies
In deze HOWTO gaan we uit van de volgende versies :
- Apache 1.3.12
- PHP 4.0.2
- mod_perl 1.24
- mod_ssl 2.6.6
- Open SSL 0.9.5a
- Zend Optimizer 0.99 voor PHP 4.0.2
- GD 1.8.3
- Freetype 1.3.1
- libjpeg 6b
- libpng 1.0.8
- zlib 1.1.3
2.2) Downloaden
Er wordt uitgegaan van de download-directory ''/download'', evt. als volgt
aan te maken :
$ mkdir /download
$ chmod 700 /download/
Apache : http://wwww.apache.org/httpd.html
PHP : http://www.php.net
Zend Optimizer : http://www.zend.com/zend/optimizer/
mod_perl : http://perl.apache.org
mod_ssl : http://www.modssl.org
Open SSL : http://www.openssl.org
Freetype : http://www.freetype.org
GD : http://www.boutell.com/gd/
libjpeg : ftp://ftp.uu.net/graphics/jpeg/
libpng : http://www.libpng.org/pub/png/libpng.html
zlib : http://www.freesoftware.com/pub/infozip/zlib/zlib.html
==========================================
3) Apache installatie voorbereiden
3.1) Uitpakken van de Apache source distributie
Het uitpakken van de gedownloade source distributie gaat voor Apache als
volgt :
$ cd /download/
$ gunzip -dc apache_1.3.12.tar.gz | tar xf -
3.2) Voorbereiden van de Apache sourcetree
Alleereerst gaan we de sourcetree van Apache voorbereiden om de
verschillende modules te kunnen toevoegen.
$ cd /download/apache_1.3.12/
$ ./configure --prefix=/usr/local/apache
=======================================================
4) mod_perl
4.1) Uitpakken van de mod_perl source distributie
Het uitpakken van de gedownloade source distributie gaat voor mod_perl
als volgt :
$ cd /download/
$ gunzip -dc mod_perl-1.24.tar.gz | tar xf -
4.2) mod_perl compileren
Nu moeten we mod_perl gaan configureren & compileren. Dat gaat als volgt :
$ cd /download/mod_perl-1.24/
$ perl Makefile.PL APACHE_SRC=../apache_1.3.12/src \
DO_HTTPD=1 USE_APACI=1 EVERYTHING=1
$ make
$ make test
$ make install
==> Let op! Bij het commando ''make test'' gaat er vaak wat fout. Zo lang
er tijdens ''make'' geen problemen zijn ontstaan, hoeft u zich hier niets
van aan te trekken.
=======================================================================
5) OpenSSL
mod_ssl maakt gebruik van Open SSL, dus zullen we dit ook moeten
installeren en configureren.
5.1) Uitpakken van de Open SSL source distributie
$ cd /download/
$ gunzip -dc openssl-0.9.5a.tar.gz | tar xf -
5.2) Open SSL compileren
Nu moeten we Open SSL gaan configureren & compileren. Het
geheel wordt geinstalleerd in ''/usr/local/ssl''.
$ cd /download/openssl-0.9.5a/
$ ./config --prefix=/usr/local/ssl
$ make
$ make test
$ make install
================================================
6) mod_ssl
6.1) Uitpakken van de mod_ssl source distributie
$ gunzip -dc mod_ssl-2.6.6-1.3.12.tar.gz | tar xf -
6.2) mod_ssl configureren
Nu moeten we mod_ssl gaan configureren. Dat gaat als volgt :
$ cd mod_ssl-2.6.6-1.3.12/
$ ./configure --with-apache=../apache_1.3.12
7) Apache
7.1) Apache compileren
Nu gaan we Apache configureren en compileren. We hebben zetten alle
modules aan die er te vinden zijn. We doen dit op deze manier, zodat u
zelf makkelijk wat modules kunt uitschakelen (de
''--enable-module=de_module_die_er_uit_mag'' regel weglaten). Apache wordt
geinstalleerd in /usr/local/apache/.
$ cd /download/apache_1.3.12/
$ SSL_BASE=/usr/local/ssl \
./configure \
--activate-module=src/modules/perl/libperl.a \
--enable-module=ssl \
--enable-module=rewrite \
--enable-module=include \
--enable-module=speling \
--enable-module=vhost_alias \
--enable-module=log_agent \
--enable-module=log_referer \
--enable-module=mime_magic \
--enable-module=info \
--enable-module=speling \
--enable-module=auth_anon \
--enable-module=auth_digest \
--enable-module=expires \
--enable-module=headers \
--enable-module=usertrack \
--enable-module=unique_id \
--enable-module=setenvif \
--enable-module=auth \
--enable-module=access \
--enable-module=alias \
--enable-module=userdir \
--enable-module=actions \
--enable-module=imap \
--enable-module=asis \
--enable-module=status \
--enable-module=negotiation \
--enable-module=mime \
--enable-module=log_config \
--enable-module=env \
--enable-shared=rewrite \
--enable-shared=include \
--enable-shared=speling \
--enable-shared=vhost_alias \
--enable-shared=log_agent \
--enable-shared=log_referer \
--enable-shared=mime_magic \
--enable-shared=info \
--enable-shared=speling \
--enable-shared=auth_anon \
--enable-shared=auth_digest \
--enable-shared=expires \
--enable-shared=headers \
--enable-shared=usertrack \
--enable-shared=unique_id \
--enable-shared=setenvif \
--enable-shared=auth \
--enable-shared=access \
--enable-shared=alias \
--enable-shared=userdir \
--enable-shared=actions \
--enable-shared=imap \
--enable-shared=asis \
--enable-shared=status \
--enable-shared=negotiation \
--enable-shared=mime \
--enable-shared=log_config \
--enable-shared=env \
--enable-shared=ssl \
--enable-suexec \
--suexec-caller=nobody \
--suexec-docroot=/www \
--suexec-logfile=/usr/local/apache/logs/suexec_log \
--suexec-userdir=public_html \
--suexec-uidmin=98 \
--suexec-gidmin=98 \
--suexec-safepath=/usr/bin:/usr/local/bin:/bin
$ make
$ make certificate TYPE=custom
$ make install
=========================================================================
9) Testen
9.1) Configuratie nalopen
Eerst gaan we de configuratie van Apache bekijken, en evt. aanpassen.
Maak voor de zekerheid altijd een backup van de files dmv. :
$ cd /usr/local/apache/
$ cp -R conf/ conf.backup/
Als de backups gemaakt zijn, gaan we de configuratie bekijken, dit kan
met uw favorite editor. Hier maken we gebruik van PICO.
$ cd /usr/local/apache/conf/
$ pico httpd.conf
Controleer en wijzig opties als ''ServerName'', ''ServerAdmin'' en ''User'',
''Group''. Sla na het wijzigen httpd.conf weer op.
9.2) Apache starten
Dan is het nu tijd om Apache te starten. Dit doen we als volgt :
$ /usr/local/apache/bin/apachectl start
Als alles goed is gegaan, moet er (ongeveer) hetvolgende als output
worden gegeven :
/usr/local/apache/bin/apachectl start: httpd started
Zo niet, probeer dan goed naar de foutmelding te kijken, en evt. naar
/usr/local/apache/logs/error_log.
Open nu uw browser, en ga naar ''http://localhost/''
Nu zou u de standaard Apache pagina moeten zien.
Nu kunnen we Apache weer afsluiten :
$ /usr/local/apche/bin/apachectl stop
Apache met SSL-ondersteuning testen gaat op dezelfde manier, alleen geeft
u ipv. ''start'' , ''startssl'' mee, en moet u met uw browser naar
https://localhost/ gaan.
============================================================================
10) PHP 4
10.1) Uitpakken PHP4 source distributie
$ cd /download/
$ gunzip -dc php-4.0.2.tar.gz | tar xf -
10.2) PHP4 compileren
Allereerst moeten we PHP configureren.
--with-mysql : verwijst naar de directory waar MySQL in geinstalleerd is. Deze optie kan u weglaten als u geen MySQL support wil in PHP, of als MySQL niet geinstalleerd is.
--with-gd : verwijst naar de directory waar GD in geinstalleerd. Deze optie kunt u weglaten als u geen GD support wil in PHP, of als GD niet geinstalleerd is.
--with-jpeg-dir : verwijst naar de directory waar de header files van lib-jpeg te vinden zijn. Deze optie kunt u weglaten als u geen JPEG-support wil in PHP, of als libjpeg of GD niet geinstalleerd is.
--with-ttf : Freetype-support. Deze optie kunt u weglaten als freetype niet geinstalleerd is op uw systeem.
Als u bovenstaande opties allemaal wilt gebruiken, maar ze zijn nog niet
geinstalleerd, dan kunt u naar 10.4 gaan.
$ cd /download/php-4.0.2
$ ./configure --with-mysql=/usr/local/mysql \
--with-apxs=/usr/local/apache/bin/apxs \
--enable-versioning \
--with-gd=/usr/local \
--with-jpeg-dir=/usr/local/include \
--with-ttf \
--with-gdbm \
--with-xml \
--enable-track-vars \
--enable-trans-sid
$ make
$ make install
$ cp php.ini-dist /usr/local/lib/php.ini
10.3) PHP-support aanzetten in de Apache-configuratie.
Als ''make'' of ''make install'' geen problemen hebben gegeven, moeten we
weer de config file van Apache aanpassen
(/usr/local/apache/conf/httpd.conf), om PHP-support toe te voegen. U
kunt zoeken naar ''AddType application/x-httpd-php .php''. Daar staat
ongetwijfeld een # voor, dat betekent dat het is uitgeschakeld. Een
httpd.conf met PHP4-support zal ongeveer hetvolgende bevatten :
# And for PHP 4.x, use:
#
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Als de httpd.conf is aangepast, moet deze weer worden opgeslagen.
Dan maken we nu een simpel PHP-document aan, ''/usr/local/apache/htdocs/test.php''.
$ pico /usr/local/apache/htdocs/test.php
Met als inhoud :
<?
phpInfo();
?>
Het bestand opslaan, en nu kijken of het werkt. Volg hiertoe de stappen
uit 9.2) en ga naar ''http://localhost/test.php''. Nu zou u een pagina
moeten zien die allerlei informatie over Apache geeft.
Zo ja, gefeliciteerd. Zo nee, probeer het probleem te achterhalen in
/usr/local/apche/conf/httpd.conf of /usr/local/apache/logs/error_log of
/usr/local/apache/logs/access_log
10.4) Opties voor PHP4
[Freetype install]
$ cd /download/
$ gunzip -dc freetype-1.3.1.tar.gz | tar xf -
$ cd /download/freetype-1.3.1/
$ ./configure
$ make
$ make install
$ pico /etc/ld.so.conf
--> /usr/local/lib
$ ldconfig
[zlib 1.1.3 installatie]
$ cd /download/
$ gunzip -dc zlib.tar.gz | tar xf -
$ cd /download/zlib-1.1.3/
$ ./configure --shared
$ make
$ make test
$ make install
$ pico /etc/ld.so.conf
--> /usr/local/lib
$ ldconfig
[libjpeg 6b installatie]
$ cd /download/
$ gunzip -dc jpegsrc.v6b.tar.gz | tar xf -
$ cd /download/jpeg-6b/
$ ./configure --enable-shared
$ make
$ make install
$ pico /etc/ld.so.conf
--> /usr/local/lib
$ ldconfig
[libpng 1.0.8 installatie]
$ cd /download/
$ gunzip -dc libpng-1.0.8.tar.gz | tar xf -
$ cd /download/libpng-1.0.8/
$ cp scripts/makefile.linux ./Makefile
$ pico Makefile
--> ZLIBLIB=/usr/local/lib
--> ZLIBINC=/usr/local/include
$ make all
$ make test
$ make install
$ pico /etc/ld.so.conf
--> /usr/local/lib
$ ldconfig
[GD installatie]
De installatie van GD gaat lang niet altijd vlekkeloos, bij problemen
kunt U het beste even op de GD-site kijken, http://www.boutell.com/gd/
Vanaf GD 1.6 vereist GD ''zlib'',''libpng'' en ''jpeg-6b of later''.
$ cd /download/
$ gunzip -dc gd-1.8.3.tar.gz | tar xf -
$ cd /download/gd-1.8.3/
$ pico Makefile
--> CFLAGS=-O -DHAVE_JPEG -DHAVE_LIBTTF
--> LIBS=-lm -lgd -lpng -lz -ljpeg -lttf
--> INCLUDEDIRS=-I. -I/usr/local/include -I/usr/include
--> LIBDIRS=-L. -L/usr/local/lib -L/usr/lib
$ make
$ make install
$ pico /etc/ld.so.conf
--> /usr/local/lib
$ ldconfig
----------------------------------------
10.5) Zend Optimizer
De Zend Optimizer maakt het uitvoeren van PHP-scripts vaak nog sneller.
$ cd /download/
$ gunzip -dc ZendOptimizer-0.99-php4.0.2-Linux-glibc2.1.tar.gz | tar xf -
$ cd /download/ZendOptimizer-0.99-php4.0.2-Linux-glibc2.1/
$ mkdir /usr/local/Zend
$ mkdir /usr/local/Zend/lib
$ cp ZendOptimizer.so /usr/local/Zend/lib
$ pico /usr/local/lib/php.ini
--> zend_optimizer.optimization_level=15
--> zend_extension="/usr/local/Zend/lib/ZendOptimizer.so"
$ /usr/local/apache/bin/apachectl graceful
Open nu uw browser en ga naar ''http://localhost/test.php'' (zie 10.3). Nu zou u bij de Zend informatie
iets moeten zien als ''Powered by Zend Optimizer 0.99''.
=========================================================================
11) Nawoord
Deze HOWTO is geschreven na vele vragen gehoord te hebben (oa. in de
nieuwsgroepen nl.internet.www.ontwerp en nl.internet.www.server-side)
11.1) Met dank aan
Deze HOWTO is geschreven door Wouter de Jong <wouter@isp-technology.nl - wouter@widexs.nl>,
maar kon alleen tot stand komen dankzij de geduldige uitleg van onderstaande personen :
- Johan Mulder <Systeembeheerder VuurWerk Internet - johan@vuurwerk.nl>
- Arie Willem Speksnijder <Capica Technology - a.w.speksnijder@capica.nl>
11.2) Opmerkingen, suggesties, etc
Als u opmerkingen, suggesties, etc heeft, of tegen grote problemen
aanloopt, kunt u mailen naar support@isp-technology.nl, zodat de HOWTO
hierop aangepast kan worden.
http://www.devshed.com/Server_Side/Administration/
Genoeg apache grelateerde docs. Zie bv. http://www.devshed.com/Server_Side/PHP/SoothinglySeamless/
Genoeg apache grelateerde docs. Zie bv. http://www.devshed.com/Server_Side/PHP/SoothinglySeamless/