Guide: Debian webserver
Här kommer en liten guide om hur jag installerat och konfigurerat min webbserver:
(Kommentera gärna om du du tycker att det är bra, eller om du tycker jag borde skriva mer)
Innehåll:
- Operativsystem - Debian 4.0 (etch)
- Drivrutiner till nätverkskort
2.1 SSH - XAMPP (LAMP: Linux, Apache, MySQL, PHP)
- Wordpress
- Apache konfiguration
- DynDNS
Hårdvara: MP-3988DL ( Intel D945GCLF2 ) intel Atom 330 (1,67 Ghz dual core), 2 GB ram, 320 GB hd.
1. Operativsystem - Debian 4.0 (etch)
Först och främst behövs ett operativsystem. Jag valde att ladda ner debian 4.0 (etch) cd1.is0 och bränna för att installera. Det fungerade ganska så bra förutom att det inte finns några fungerande drivrutiner till nätverkskortet, vilket den klagade på. Men det går att lösa. Jag valde bara att installera “Desktop” föra att kunna välja fritt sen vad jag ville ha. Det är egentligen onödigt med skrivbordsfunktioner på en server, men ville ha något mer visuellt för att börja känna mig hemma med det, därför fick det bli så. Installationen i sig är rätt så smärtfri i övrigt. Välj rätt språk, land och tangentbordslayout samt partionera som du vill (jag tog översta alternativet, inte LVM… eller var det LMV?) så ska det gå bra. Sen är det bara att köra igång!
Källor: Debian.org, Debianhelp <- Mycket bra sida!
2. Drivrutiner till nätverkskort
Drivrutinen som behövs är Realtek RTL8168/RTL8111 och går att ladda ner här. Jag la dem på ett usb-minne och förde över till servern. Om du har en annan dator/nätverkskort så kan du ha tur att slippa det här steget. Vet dock att Asus eeeBox 202 har samma.
För att kunna installera drivrutinen måste man först installera lite småprogram, så ha cd’n i var inloggad som root och skriv in följande:
apt-get install make apt-get install gcc
Vidare måste man installerade lite andra saker:
apt-get install linux-kbuild-2.6.18 apt-get install linux-headers-2.6.18-6 apt-get install linux-headers-2.6.18-6-686
Nästa steg är att kopiera över drivrutinerna till servern, mitt usb-minne hamnade som /media/usbdisk/ så skriv in:
cp /media/usbdisk/r8168-8.009.00.tar.bz2 /tmp cd /tmp
Plocka sedan bort den felaktiga drivrutinen som ligger inne:
rmmod r8169
Packa upp paketet:
tar xjf r8168-8.009.00.tar.bz2 cd ./r8168-8.009.00
Sen är det bara att kompilera och installera!
make clean make modules make install
Efter det måste man fixa så att den gamla drivrutinen inte syns eller råkar laddas
echo "blacklist r8169" >> /etc/modprobe.d/blacklist mv /lib/modules/2.6.18-6-686/kernel/drivers/net/r8169.ko /lib/modules/2.6.18-6-686/kernel/driver/net/r8169.ko.bak
Lägg in den nya drivrutinen
depmod insmod ./src/r8168.ko
sista fixen:
mv /boot/initrd.img-2.6.18-6-686 /boot/initrd.img-2.6.18-6-686.bak mkinitramfs -o /boot/initrd.img-2.6.18-6-686 2.6.18-6-686
Klart! (efter omstart)
shutdown -r now
Du kan ju testa om det funkar efter omstart:
ping www.google.se
Källor: Jamesonwilliams.com och Hardware Secrets
2.1 SSH
SSH är ett sätt att skapa en krypterad förbindelse till din server från andra datorer. Jag sitter vanligtvis på en windowsdator och vill kunna komma åt servern från den. OpenSSH ska följa med i installationen, men om inte så finns det en bra guide här. Tror annars att det bara är att skriva in följande kommando:
apt-get install ssh
Efter det så kan du ladda ner en ssh-klient. Sitter du på en windowsdator så kan jag rekomendera följande SSH-klient. I OSX så finns ssh inbygt: öppna terminalfönster och skriv: “ssh root@mitt-ip” för att logga in och kunna köra kommandon.
För SSH-klienten så får man klicka på datorn för att kopplaupp sig. Skriv in serverns ip, root som användarnamn, port 22 och sen password som autoriseringsmetod, sen är du inne. Man kan öppna terminalfönster eller filöverföringsfönster (ikonerna till höger om kikaren). Båda är praktiska att ha uppe.
När du vill redigera exempalvis textfiler så kan man lätt föra över de. Jag använder notepad++ för att redigera i filer, en varning måste utfärdas när det gäller vanliga “notepad” eller “anteckningar” i windows då den har annan sorts radbrytning än linux/unix-filer, vilket kan ställa till det.
3. XAMPP (LAMP)
Nästa steg är att få upp en webserver att lägga upp allt skoj på! Jag har valt att köra med XAMPP vilket är ett rätt skönt paket för webbutveckling och allt typ bara funkar när man installerat det, vilket inte är att underskatta! Klicka här för att ladda ner eller gå till mappen där du vill ha filen och skriv in följande:
wget http://www.apachefriends.org/download.php?xampp-linux-1.7.tar.gz
Nästa steg är att packa upp det:
tar xvfz xampp-linux-1.7.tar.gz -C /opt
Efter det är det bara att köra igång:
/opt/lampp/lampp start
Nu får du gå in på din server. Öppna ett webläsarfönster eller en ny flik och leta upp din server:
http://serverns-ip-adress (typ: http://192.168.0.100)
(för att få reda på ditt ip-nr kan du skriva “netstat” och kolla överst)
Surfar du från servern så skriver du bara in: http://localhost så ska det fungera.
Nu är det dags att slå på lite säkerhet:
/opt/lampp/lampp security
Gör det som står, jag har dock lämnat MySQL “öppet” för nätverksanslutningar för att kunna koppla upp mig med olika databasmodelleringsprogram från andra datorer. Vet inte hur man ändrar tillbaka det efter att man kört security utan att installera om allt, så väntar med att täppa den “säkerhetsluckan” än så länge (på gott och ont).
Nu bör du ha en fungerande webserver! (katching!)
Om du av någon anledning inte skulle gilla XAMPP och vill bli av med det så är det bar askriva in:
rm -r /opt
Källor: XAMPP
4. Wordpress
Wordpress är roligt! Med wordpress så får du upp en sida/blogg i ett nafs! Så det kan vara värt att ha.
Börja med att ladda ner wordpress här eller skriv in:
wget http://wordpress.org/latest.tar.gz
packa upp:
tar xf latest.tar.gz -C /opt/lampp/htdocs/
Nu har du en wordpressmapp i din webpubliceringsmapp! finemang! Nästa steg är att sätta rätt rättigheter på din wordpressmapp. skriv in följande (det är inte det säkraste sättet, men det är enkelt och man slipper strul):
chmod 755 /opt/lampp/htdocs/wordpress -R
Nu är det dags att skapa en databas och databasanvändare där all information om sidan kommer att hamna. Surfa in på din XAMPP-sida igen och klicka in dig på phpmyadmin eller gå in på http://”ditt-ip-nr”/xampp/phpmyadmin . Där får du logga in med det root-lösenord du satte när du körde “lampp security”. Väl inne så ser du några färdig databaser till vänster. Låt de vara och fyll istället i ett namn på en ny databas, typ “wpdb”. Välj kollationering “utf8_general_ci” eller “utf8_unicode_ci” på båda ställena och klicka på skapa. Nu vill den att du skapa tabeller, strunta i det och klicka istället på “Server: localhost” högst upp och sen på “privilegier”. Där ska du sedan lägga till en ny användare. Döp den till något smart, typ “wpdbuser”, välj sedan “Lokal” i menyn under. Sedan så klickar du på generera lösenord och kopiera, se till att spara/kopiera/skriv ner det också så att du har det kvar ett litet tag iaf, det är inget du behöver memorera.
Användaren ska inte få någon databas (han har ju redan en) så låt det alternativet vara, han ska inte heller ha några globala privilegier så gå bara längst ner för att skapa användaren (kör). Nu får du upp ett nytt fönster, gå ner till andra rutan (databasspecifika privilegier) och välj din databas. Där efter ska du kryssa i lite rutor: Kryssa i alla rutor i “Data”-fältet samt CREATE, ALTER, INDEX i “Struktur”-fältet och sen klickar du på “kör”.
Nu har du fixat databas, nästa steg är att göra själva wordpressinstallationen!
Har du ett eget domännamn (typ: mindomän.se) som du vill använda till sidan så kan det vara på sin plats att döpa om sin wordpressmapp till något roligare, även om du inte har det så kan det vara roligare att ha typ http://mitt-ip/blog eller nåt, så för att döpa om den till “blog” skriv följande:
mv /opt/lampp/htdocs/wordpress /opt/lampp/htdocs/blog
Nu kan du surfa in på http://mitt-ip-nr/blog för att köra igång installationen.
Installationen är ganska så straight forward. Det du behöver skriva in som är viktigt är din databasanvändare och lösenordet (som du genererade förut). Databasen ska vara det du döpte den till och där det står “localhost” ska du låta det stå localhost (trots att de nästan är säkra på att du ska ändra). Bloggnamn och sånt får man får man hitta på själv.
När du är färdig så får du ett admin lösen… spara det! (går att ändra sen, men tappar du bort det innan så blir det jobbigt!) och logga sedan in. För att få mer hjälp kika in här eller här.
Källor: Wordpress, Börjablogga
5. Apache konfiguration
Om du har egen domän kan det vara roligt att låta den komma till användning. För att ha flera domäner eller kunna ha din wordpressinstalation som rotmapp för din domän (istället för htdocs) så måste man trixa lite med apache. Leta upp filen httpd.conf i /opt/lampp/etc/ . Ladda ner den (vet inte hur man gör det på ett lätt sätt i OSX, FileZilla-client är ett bra program för filöverföring som finns till OSX och finns här. För att koppla upp mot en SSH-server så kan man använda protokollet “sftp”, skriv in adressen “sftp://serverns-ip-adress” i host, ange användarnamn och lösen och för att utesluta eventuella fel använd port 22) men i windows är det bara använda filöverföringsfönstret i SSH-klienten. Redigera filen i notepad++ (eller vilket redigeringsprogram som nu används) och leta upp raderna och ta bort #-tecknet:
# Include etc/extra/httpd-vhosts.conf
Spara, ladda upp och skriv över. Gå sedan in i mappen /opt/lampp/etc/extra/ och redigera filen httpd-vhosts.conf. Lägg till följande (byt ut “mydomain” mot ditt domännamn såklart, och “blog” mot det du döpte din wordpressmapp till):
<VirtualHost *:80> ServerAdmin webmaster@mydomain.com DocumentRoot /opt/lampp/htdocs/blog ServerName mydomain.com ServerAlias mydomain.com www.mydomain.com *.mydomain.com ErrorLog logs/mydomain.com-error_log CustomLog logs/mydomain.com-access_log common </VirtualHost>
Spara, ladda upp och skriv över. Logga in i admingränssnittet i wordpress och gå in på settings -> general och ändra blogg URL-erna till http://www.mydomain.com . Du kan lägga till så många virtual hosts som du vill. Glöm inte att starta om efter att du ändrat:
/opt/lampp/lampp restart
Om du inte redan gjort det, så logga in hos din domänadministratör och redigera DNS-registret för domänen du tänkt använda och peka A-registret mot ditt ip-nr. Tada!
Källor: Apache virtual hosts
6. DynDNS
Om du inte har fast IP-adress eller eget domännamn, vilket oftast är fallet, så finns det ett par smarta lösningar. Tjänsterna DynDNS fungerar så att man skaffar ett gratiskonto och en adress hos de, exempelvis “minegnaadress.mine.nu” som är kopplad till din IP-adress. För att hålla koll på vilken adress du har så måste man informera DynDNS om när ens IP-adress ändras. Det smarta med DynDNS är att du slipper ha koll själv på när din ip-adress ändras efter att du fixat lite.
Börja med att skapa ett konto. När du gjort det så måste du sätta upp en “host-adress”, kommer inte exakt ihåg hur man ska klicka sig fram för att göra det, men det ska inte vara allt för svårt. Efter att du har en “host-adress” så måste du koppla den till din ip-adress. När det är gjort så kan du surfa in på adressen för att komma till din XAMPP-sida. För att det ska fungera även när du bytt ip-adress så går det till på lite olika sätt.
Har du din server bakom en router så är sannolikheten ganska stor att den är kompatibel med DynDNS. Logga in på routern och leta reda på en DynDNS/ddns-flik/knapp och skriv in inställningarna som krävs. Efter det ska routern uppdatera ip-adressen automagiskt mot dynDNS. Det du måste göra om du har router är att öppna några portar mot din server genom att sätta upp “virtual server”.
Har du inte servern bakom en router eller att din router inte har stöd för dynDNS så kan du ladda ner programmet “ddclient”. På dynDNS kan du generera en Config-fil för ddclient för att få det att fungera.