APACHE2 & PHP
Installation av Apache2
De flesta av filerna som behövs för konfigureringen finns i katalogen /etc/apache2/ med underkataloger. Apache2 globala konfigurationsfil är apache2.conf. Den behöver man normalt inte ändra i. För att se vad som finns i denna;Kod:sudo apt-get install apache2
I filen /etc/apache2/envvars anges under vilka rättigheter Apache2 körsKod:nano /etc/apache2/apache2.conf
USER=www-data
GROUP=www-data
Detta innebär bl.a. att www-data måste ges skrivrättigheter i de kataloger, som man vill att Apache2 ska kunna skriva till.
Huvuddelen av konfigureringen görs med filen default, som modifieras och anpassas för de olika webbplatserna (virtuella värdarna).
Normalt lägger du dina webbsidor i /var/www. Det är inget krav. Man mycket väl ha dom i sin hemfolder. Ett sätt för Apache att hitta sidorna är då att lägga en symbolisk länk i /var/www/ och låta länken peka in i hemkatalogen. Den senare varianten kan vara att föredra - ur ett behörighetsperspektiv - om man laddar upp sina webbsidor med ftp till hemkatalogen på servern.
Vi förflyttar oss till katalogen /etc/apache2/sites-available/ för att konfigurera webbservern att känna igen vår(a) webbplats(er). I denna katalog finns en fil som heter default, som innehåller konfigurationsparametrar. Det är tänkt att vara en fil som kan kopieras och användas som underlag för den fortsatta konfigureringen.
Antag att vi vill skapa en webbplats för (sub)domänen northface.linuxsecured.net, som får tjäna som exempel. Om du endast ska använda webbservern på hemmanätverket behövs inget komplett domännamn. Du kan t.ex. skriva in serverns maskinnamn istället.
Ta en kopia av default och ge den t.ex. namnet jdoe;
Öppna filen jdoeKod:sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/jdoe
Justera enligt dina uppgifter. Spara sedan filen.Kod:sudo nano /etc/apache2/sites-available/jdoe
<VirtualHost *:80>
ServerAdmin webmaster@northface.linuxsecured.net
ServerName northface.linuxsecured.net
#Redirect permanent / https://northface.linuxsecured.net
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
.
.
.
.
osv.
</VirtualHost>
Din webbplats identifieras genom namnet (eller ett alias) som anges för ServerName. Observera att en webbserver kan vara värd för flera webbplatser (sites) med olika domännamn på samma maskin. Vid sådana tillfällen skiljer webbservern mellan de olika webbplatserna genom just Servername direktivet.
DocumentRoot den plats där du placerar dina webbsidor och det är vanligen /var/www, men inte nödvändigtvis. Här hittar således Apache2 filerna för de olika webbplatserna.
Vi måste nu göra vår nyskapade webbplats åtkomlig för Apache. Det kan göras på två sätt. Med kommandot:
eller manuellt med att skapa en symbolisk länkKod:sudo a2ensite jdoe
Aktivera den nya konfigurationenKod:sudo ln -s /etc/apache2/sites-available/jdoe /etc/apache2/sites-enabled/jdoe
Titta i foldern /etc/apache2/sites-enabled/ och verifiera att länken finns där.Kod:sudo /etc/init.d/apache2 reload
Innan provkörning justeras en konfigurationsfil.
Öppna dir.conf
Justera så att den ser ut så här:Kod:sudo nano /etc/apache2/mods-available/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.html index.htm index.shtml index.cgi index.php index.php3 index.pl index.xhtml
</IfModule>
Notera att endast index. anges. Använder du istället beteckning default. för dessa filer måste du även skriva in dessa här. Notera också att det är känsligt för versaler/gemener, index.html är inte detsamma som Index.html.
Skapa en webbsida (t.ex. minsida.htm) i /var/www/
Klistra in nedanstående och spara.Kod:sudo nano /var/www/minsida.htm
<html>
<head>
<title></title>
</head>
<body>
<h1><center>Wow!</center></h1>
</body>
</html>
Starta om Apache2
Surfa till webbplatsen:Kod:sudo /etc/init.d/apache2 restart
Utifrån (Du måste först öppnat port 80 i router/brandvägg för inkommande trafik till servern): http://<din.domän>/minsida.htm
Från interna nätverket: http://<maskinens interna ipnr i nätverket>/minsida.htm
Från maskinen: http://localhost/minsida.htm
Lösenordsskydda kataloger/sidor
Skapa en lösenordsfil, t.ex. med namnet .apachepasswd i katalog /etc/
Fortsättnings vid skapande av användare ska optionen -c inte vara med!Kod:sudo htpasswd -c /etc/.apachepasswd <användare1>
Ändra rättigheter på filenKod:sudo htpasswd /etc/.apachepasswd <användare2> sudo htpasswd /etc/.apachepasswd <användare3> osv.
Skapa en .htaccess fil. Denna ska läggas i katalogen/katalogerna som ska skyddas. I vårt exempel lägger vi den i DokumentRooten.Kod:sudo chmod 644 /etc/.apachepasswd
Navigera dit
Skapa filenKod:cd /var/www
Klistra in nedan och sparaKod:sudo nano /var/www/.htaccess
AuthType Basic
AuthName "Skyddade sidor"
AuthUserFile /etc/.apachepasswd
Require valid-user
Avslutningsvis ska vi justera vår virtuella värd (jdoe)
Öppna denna
I avsnittet nedan ändraKod:sudo nano /etc/apache2/sites-available/jdoe
AllowOverride None --> AllowOverride AuthConfig så att det ser ut så här
<Directory /var/www>
Options Indexes Includes FollowSymLinks MultiViews
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
Starta om Apache2
Prova nu att surfa till din webbplats.Kod:sudo /etc/init.d/apache2 reload
Kryptering av trafiken
För att kunna köra Apache2 med krypterad trafik behövs några förberedelser. Dessa finner du i avsnitt Secure Sockets Layer (SSL). Först när du är klar med dessa, kan du påbörja arbetet med att konfigurera Apache2 för SSL. Avser du senare köra webmail rekommenderas att du gör detta med SSL.
Vi ska nu skapa vår andra webbplats och ge den namnet ssl.
Gör motsvarande som tidigare:
Öppna filen ssl:Kod:sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/ssl
Justera enligt dina uppgifter. Spara sedan filen.Kod:sudo nano /etc/apache2/sites-available/ssl
<VirtualHost *:443>
ServerAdmin webmaster@northface.linuxsecured.net
ServerName northface.linuxsecured.net
SSLEngine On
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
DocumentRoot /var/www/
<Directory />
Options FollowSymLinks
.
.
.
.
osv.
</VirtualHost>
Ladda SSL-modulen
Aktivera konfigurationenKod:sudo a2enmod ssl
Gör webbplatsen tillgänglig för Apache:Kod:sudo /etc/init.d/apache2 reload
Aktivera åter konfigurationenKod:sudo a2ensite ssl
Öppna ports.confKod:sudo /etc/init.d/apache2 reload
Kontrollera att Listen 80 och Listen 443 finns med på sidan.Kod:sudo nano /etc/apache2/ports.conf
Surfa till webbplatsen:
Utifrån (Du måste först öppnat port 443 i router/brandvägg för inkommande trafik till servern): https://<din.domän>/minsida.htm
Från interna nätverket: https://<maskinens interna ipnr i nätverket>/minsida.htm
Från maskinen: https://localhost/minsida.htm
Önskar man att all trafik ska styras om till https, så avkommentera (ta bort #) i siten jdoe ovan
#Redirect permanent / https://northface.linuxsecured.net
Installation av PHP
Vi installerar avslutningsvis php5
Starta om ApacheKod:sudo apt-get install php5 php5-cli libapache2-mod-php5 php5-mysql
Testa PHP genom att skapa filen phpinfo.phpKod:sudo /etc/init.d/apache2 restart
Klistra in nedanstående rad och spara.Kod:sudo nano /var/www/phpinfo.php
<?php phpinfo(); ?>
Surfa till phpinfo.php
Utifrån (Du måste först öppnat port 80 i router/brandvägg för inkommande trafik till servern): http://<din.domän>/phpinfo.php
Från interna nätverket: http://<maskinens interna ipnr i nätverket>/phpinfo.php
Från maskinen: http://localhost/phpinfo.php
Om installationen fungerade ska du se några uppgifter om systemet!
Ta bort filen
Mer att läsa:Kod:sudo rm /var/www/phpinfo.php
Linuxportalen
Make sure to use your head - you might need it!
Det är för närvarande 1 användare som tittar på det här ämnet. (0 medlemmar och 1 gäster)
Bokmärken