Skickad

Den hör guiden förutsätter att du inte har någon vana av Linux-terminalen, men har viss Windows-vana.

Du har just öppnat upp ett svart teminalfönster och har ingen aning om vad du ska göra.

Om du loggar in i datorn via terminalen kommer du mötas av orden:

Login as:

och du ska skriva ditt användarnamn (hädanefter kallad Användare), sedan kommer den fråga efter Password.

Nu är du inloggad och möts av en prompt som antagligen ser ut så här:
(man kan få prompten att se ut hur som helst, så den behöver inte se ut så)

användare@dator:~$

Skulle raden sluta med # istället för $ är du inloggad som admin, vilket fungerar lite annorlunda.

Börja skriv

pwd

och du får svaret /home/användare
pwd står för Present Working Directory och talar om var du är någonstans.
Första snedstreckecket / betyder root, home betyder hemkataloger och användare är din hemkatalog.
Har du Windowsvana kanske du tänker att det motsvarar C:\Users\Användare
Nästan, men inte riktigt.
Det stämmer att C:\Users i Windows är ungefär samma sak som /home i Linux, men C:\ är inte alls samma sak som / (root).
C:\ är hårddiskens rot, medan / är datorns rot. Linux / motsvaras av “Den här datorn” i Windows om man öppnar utforskaren.
Prova att skriva:

ls

Det betyder list och listar alla filer som finns i katalogen där man är.
Det är samma kommando som dir i Windows.
Om det är första gången du loggar in kan det hända att din hemkatalog är tom och då finns det inte mycket att se.
Låt oss utforska resten av datorn, skriv:

cd ..

Cd står för change directory och är samma kommando som i Windows.
Observera att prompten har ändrats till användare@dator:/home$
Prova skriva pwd och du se att du är i /home, precis som prompten säger.
Prova använd ls igen och alla användarkataloger kommer att visas, inklusive din hemkatalog.
Det finns två specialkommandon, ‘.’ (punkt) och ‘..’ (dubbelpunkt):
Punkt är en förkortning för den katalog man är i, medan dubbelpunkt är förkortning för katalogen ett steg upp.
Är man i /home/användare och skriver cd .. så hoppar man upp ett steg till /home.
I Windows kan man också skriva cd.. – men observera att i Linux måste man ha ett mellanslag mellan cd och ..
Låt oss hoppa upp ytterligare ett steg:

cd ..
ls

Vi är nu i roten och har listat alla filer som finns där (de flesta är dock kataloger).
Intressanta kataloger är bin, dev, etc, home, root.
Bin står för binaries och innehåller de flesta Linux-kommandona.
Dev står för devices och innehåller all hårdvara i dator, inklusive hårddiskarna.
Etc innehåller alla konfigurationsfiler för Linux.
Home är alla hemkataloger.
Root är root-användarens hemkatalog.
Prova:

cd etc && ls

Det är samma sak som:

cd etc
ls

Man behöver inte trycka retur, utan kan skriva flera kommandon efter varandra skiljda med &&.
Säg nu att vi vill gå tillbaks till vår hemkatalog, vi kan göra det på flera sätt:

cd .. && cd home && cd användare
cd /home/användare
cd ~
cd

Antingen kan vi gå en katalog åt gången: cd .. && cd home && cd användare
Eller så kan vi skriva hela sökvägen direkt: cd /home/användare
Eller så kan vi använda förkortningen: cd ~
Tilde (~) är alltså förkortningen för ens hemkatalog och anledningen till att prompten i hemkatalogen ser ut så här: användare@dator:~$
Slutligen kan bara skriva cd för att hamna i sin hemkatalog.

Nu vet du hur du tar dig runt i Linuxdatorn med pwd, ls och cd och det är dags att avsluta:

exit

loggar ut dig ur terminalen.

Skribent

Skickad

Boota datorn med förberedd USB-sticka
Välj vilken form av installation.
Jag valde “Install”, alltså INTE “Graphical install”.
Detta gäller bara själva installationen. Inte för operativsystemet Debian som ska installeras.
Det är ingen större skillnad mellan de två, förutom att med grafik får man “windows”-känsla och utan får man “terminal”-känsla under installationen.
Anledningen till att jag valde utan är för att jag bara kommer använda bash på den här datorn.

Language: English (det är lättare att hitta med engelskt OS då all dokumentation är på engelska).
Location: Other/Europe/Sweden (var man fysiskt är, det används bl.a. för att ställa klockan).
Locale: US (teckenuppsättning)
Keymap: Swedish (tangentbord med åäö)
Loading missing firmware (rekommenderas inte för nybörjare, välj att installera på dator med hårdvara som stödjer Linux)

Konfigurera nätverkskort:
Enklast är med DHCP, men man kan göra det manuellt och ge datorn en statisk IP.
Tänk på att att subnätmasken inte anges separat, som 255.255.255.0, utan som snedstreck efter IP, ex: 192.168.0.1/24.
Om man angett rätt subnätmask kommer datorn att räkna ut Gateway. Se så det är rätt Gateway, annars får man gå tillbaka och ändra nätmasken.
Sedan fyller man i DNS:er (name server addresses) med mellanslag mellan adresserna, ex: 8.8.8.8 8.8.4.4

Host: xxx
Domain: yyy
Viktigt: välj INTE en existerande domän som host. Är t.ex. cthulhu host och se domain, blir cthulhu.se hostname och man kan inte surfa till sajten cthulhu.se – eftersom det är datorn som heter så.

Skapa root-lösenord (man inaktiverar det senare).
Skapa användare: Full name, Account name, Password. Det är Account name man loggar in med.

Välj hårddisk.
För nybörjare är det enklast att partitionera hela hårddisken, men är man händig kan man skapa/välja partitioner.

Mirror: Sweden (någon av de tekniska högskolorna i Umeå eller Linköping).

No proxy

Participate in package usage survey: NO

SSH-Server
Standard System Utilities

För den här installationen behöver vi ingen grafik.
Vi vill ha SSH så vi kan logga in fjärr (med t.ex. PuTTY).
Och vi vill ha standard system utilities så vi slipper installera så mycket.

Install GRUB

Slutför installationen och datorn bootar om. Glöm inte att ta ut USB-stickan när datorn bootar, annars kommer man till installationssidan igen.

Om man använder terminalprogram fjärr är det nu bara att fylla i datorns IP och logga in.
Logga in som användare, inte som root.
(det är lika bra att vänja sig från början att inte logga in som root)

Men vår användare måste ha root-rättigheter. Normalt får man det via sudo, men sudo finns inte från början i Debian. Istället skriver vi

su

och root-lösenordet.
Sättet man ser att den vanliga användaren fått root-rättigheter är att slutet på prompten ändras från $ till #.
Se till att maskinen är uppdaterad:

apt-get upgrade
apt-get update

Installera sudo

apt-get install sudo

Lägg till den vanliga användaren till sudo

adduser användarnamn sudo
usermod -aG sudo användarnamn

logga ut ur root

exit

Och prompten ändras tillbaka från # till $.
Skriv

groups

Och man får en lista på de grupper användaren är med i. En av dessa ska vara sudo.
Prova att skriva

shutdown --help

Man ska nu få meddelandet: command not found
Prova nu att skriva:

sudo shutdown --help

Kom ihåg att använda användarens lösenord, inte root-lösenordet.
Linux kommer ihåg att man loggat in med sudo i ett par minuter, så nästa gång man använder sudo behöver man inte fylla i lösenordet.
Nu när användaren har root-access via sudo är det dags att stänga av inloggningen till root

sudo passwd --lock root

För att testa att det fungerar, logga ut

exit

och försök logga in som root – det ska inte gå.
Logga in som användare igen.
Tycker man att det är jobbigt att skriva sudo kan man skriva något av följande:

sudo su
sudo -s

för att få root-rättigheter direkt utan att använda sudo.

Det här är överkurs för nybörjare, men något man antagligen vill göra lite senare när man har fått lite vana.
Även om vi som använt Windows hatar dess automatiska uppdateringar – så är de ganska praktiska om man har kontroll över dem.
För att uppdatera Debian använder man apt-get update.
Vill man få Linux att göra något vid specialla tidpunkter använder man cron, prova skriv:

systemctl status cron

Med lite tur kommer det upp info på skärmen, bl.a. raden Active (running) – då vet vi att cron fungerar som det ska. Skriv följande:

cd /etc

och vi är nu i etc-katalogen. skriv

cat crontab

så får man se vilka cronjobb som finns.
Ett cronjobb är en textrad med 5 nummer/stjärnor, en användare och ett linux-kommando.
De fem nummerna/stjärnorna talar om när cronjobbet ska köras.
Det första är vilken minut i timmen (0-59).
Det andra är vilken timme på dygnet (0-23).
Det tredje är vilken dag i månaden (1-31) – tänk på att februari bara har 28 dagar.
Det fjärde är vilken månad på året (1-12).
Det femte är vilken dag i veckan (1-7).
En stjärna betyder “alla”.
Användarnamnet är den användare som “kör” kommandot, oftast root.

Den rad vi vill lägga till i crontab är:

43 21 * * * root apt-get update > /home/användare/cronjob.log

Det betyder: kl 21:43 alla dagar i månaden, alla månader om året, alla dagar i veckan kör användaren root kommandot apt-get update och skickar eventuella meddelanden till filen cronjob.log i användarens hemkatalog.
För att få in raden i crontab skriver man:

sudo nano crontab

Nano är en liten textredigerare som INTE tycker om det numeriska tangentbordet.
Använd piltangenterna och flytta markören sist på den sista cronjob-raden och tryck RETUR och skriv sedan in raden.
När man är färdig trycker man CTRL-X för att avsluta.
När nano frågar om man vill spara svarar man Y.
Nano frågar sedan vad filen heter, tryck bara RETUR.
Man kan sedan se att ens rad är sparad genom

cat crontab

Avsluta med

cd

Så vi kommer tillbaka till hemkatalogen.

Grattis!
Du har nu en Debian-dator som du kan logga in fjärr mot, där root är avstängd och som uppdaterar sig själv en gång per dygn.

Skribent

Skickad

Ibland vill man lägga upp saker på nätet som ingen annan ska se.
Det kanske är känsliga dokument, upphovsrättsskyddade filer eller bara något guilty pleasure.
Kort sagt: saker man själv vill komma åt, men inte någon annan.

På en Apache-server kan man göra detta med hjälp av en .htaccess-fil
(detta trick fungerar inte med iis eller nginx, där finns det istället andra lösningar)

Linux filnamn fungerar lite annorlunda än i Windows.
Börjar ett filnamn med en punkt i Linux betyder det att filen är dold. I Windows kan man också dölja filer, men det görs på ett annat sätt.
Htaccessfilen heter kort och gott .htaccess och punkten i början gör att webbläsare inte kan se den.

När man besöker en sajt kommer Apacheservern se om det finns en .htaccess-fil i katalogen man besöker – och finns det kommer Apache utföra instruktionerna i filen.
En av de saker man kan göra är att lösenordsskydda katalogen.

Htaccessfilen kan t.ex. se ut så här:

AuthUserFile "/home/www/secret/.htpasswd"
AuthGroupFile /dev/null
AuthName "Password required"
AuthType Basic
require valid-user

AuthType Basic
Betyder att det är enkel inloggning, d.v.s. att det kommer ett popup-fönster med ett meddelande och fält för användarnamn och lösenord som man ska fylla i.

AuthName “Password required”
Är meddelandet i popup-fönstret. Man kan skriva vad man vill innanför citationstecknen.

require valid-user
Betyder att man måste fylla i giltigt användarnamn och lösenord för att få åtkomst till katalogen.

AuthGroupFile /dev/null
Betyder att gruppinloggning INTE är tillåten. Man behöver inte bry sig om gruppinloggning, mer än att det inte är tillåtet.

AuthUserFile “/home/www/secret/.htpasswd”
Är sökvägen till filen där lösenordet är sparat.
Observera att filen inte behöver heta .htpasswd – men det är vad den brukar heta.
Sökvägen kan vara lite klurig att räkna ut. Enklaste sättet att ta reda på sökvägen är att skriva ett litet php-script.

Antingen:

<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>

eller:

<?php
echo getcwd();
?>

Spar något av skripten i en textfil som heter t.ex. path.php, ladda upp filen och surfa till filen; den borde visa något i stil med:

/home/www

Det är sökvägen till hemsidans rot.
Om man har sidan http://acme.com och roten /home/www betyder det att http://acme.com/secret är /home/www/secret.
Det är alltså www-katalogen som är själva hemsidan.
Har man tillgång till hemkatalogen /home kan man skapa en katalog under /home bredvid /home/www, t.ex. /home/password – en sådan katalog är inte åtkomlig från nätet och är därför säker.

Själva .htpasswd-filen består av en rad per användare, t.ex:

nisse:$apr1$YF4f6YKn$wNFXJNvwgzKphIF3J85QM/

Här har vi användaren nisse, ett kolon och lösenordet “hashat”.
Det betyder att lösenordet inte är i klartext.
När man sedan surfar till den lösenordsskyddade katalogen och fyller i löseordet kommer apache-servern att “hasha” lösenordet och om hashen stämmer med lösenordsfilen kommer man åt katalogen.

Enklaste sättet att få hashen är att googla htpassword generator.
Början på hashen talar om vilken sorts hash det är.
Mitt exempel ovan börjar med $apr1$ som betyder att det är hashat med MD5-algoritmen.

Om man har en Linuxterminal kan man även använda bash-kommandot:

openssl passwd -apr1 password

När man väl loggat in är man inloggad tills man stänger webbläsaren. Det räcker alltså inte att bara stänga fliken för att man ska bli utloggad.

Skribent

Skickad

Ska man installera något på ett webbhotell kommer installationen oftast som en zip-fil som i sin tur kan inehålla tusentals filer.
Man kan givetvis packa upp zip-filen lokalt och sedan ladda upp filerna uppackade, men detta tar ofta väldigt lång tid.
Det går betydligt snabbare att ladda upp hela zipfilen till webbservern och packa upp den på plats.

Skapa 2 kataloger på webbservern:
/zip
/unzip
Där zip är katalogen där man laddar upp zipfilen och unzip är katalogen där man vill ha de uppackade filerna.
Det kan vara värt att att sig en titt i zipfilen om alla filer redan ligger i en katalog. Då behöver man inte skapa en unzip-katalog då den skapas när man packar upp.
Ladda upp zipfilen fil.zip till zip-katalogen.
(det går givetvis utmärkt att döpa katalogerna och zipfilen till vad som helst)

Ladda ner och kör PuTTY (ett terminalprogram för Windows).

Hostname är antingen din domän eller ip-address.
Port = 22
Connection = SSH

Välj Open och ett litet svart fönster öppnas.

Login och password är user och password för FTP.

För att klistra in i PuTTY högerklickar man.
Tänk på att lösenordet inte syns: kopiera lösenordet, högerklicka och tryck enter.

Nu kommer man antagligen hamna i sin hemkatalog och får en prompt som ser ut ungefär så här:

user@server:~$

User är ens användarnamn.
Server är servern man loggat in på.
~ är ens hemkatalog
$ betyder att man är inloggad som vanlig användare (inte admin).

Prompten kan se ut hur som helst, men ovanstående är det vanligaste.

Nedan kommer ett antal Linux-kommandon. Skriv kommandot och tryck enter.

pwd

Det står för “Present Working Directory”, d.v.s. katalogen där vi är just nu, t.ex:
/home/user

ls

Det är en förkortning av “List” och listar alla filerna i katalogen man är i.
Vissa av filerna är antagligen underkataloger.
Vi vill till en underkatalog som heter “www”, det är där hemsidan finns.
Cd Står för “Change Directory” och gör så man kan hoppa mellan olika kataloger.
Visade ls att det fanns en katalog som hette “www” kan man gå dit genom att skriva:

cd www

Är det ett långt katalognamn kan man börja skriva namnet och sedan trycka tab för autocomplete.
Vill man använda samma kommando som man använt tidigare kan man använda “pil upp”- och “pil ner”-tangenterna för att gå igenom alla kommandon man använt.
Vill man gå upp ett steg skriver man:

cd ..

Men nu ville vi packa upp filer:

unzip —help

Visar hjälpsidan för unzip.
Får man inte upp hjälpsidan är unzip antagligen inte installerat och man får tala med en admin om saken.

Gå till zip-katalogen och skriv:

unzip fil.zip -d ../unzip

eller:

unzip fil.zip -d /www/unzip

Växeln -d talar om för unzip att vi vill packa upp filen i en annan katalog, det som står efter -d är sökvägen där filerna ska packas upp.
man kan givetvis skriva:

unzip fil.zip

Då packas filerna upp i samma katalog som zipfilen.
Kontrollera att filerna faktiskt packats upp i rätt katalog.
Avsluta med att radera zipfilen om man inte behöver den längre:

rm fil.zip

Där rm står för “remove”.

Skribent

Skickad

h1.

Huvudrubrik 1

h2=1.

Centrerad underrubrik 2

h3>.

Högerställd underrubrik 3

paragraf, olika taggar skiljs av tomrader

p=.

Centrerad paragraf

p>.

Högerställd paragraf

p(.

Enkelt indrag

p((.

Dubbelt indrag

pre.
för   formaterad   text
Över   flera  rader
bc.
block c o d e
Över f l e r a rader
bq.

Citat

notextile. *ingen* textile-formattering Observera att man *måste* ha en tomrad för att textile ska börja fungera igen

*
p. **

  • punktlista
    • underpunktlista
# notextile. ##
  1. numrerad lista
    1. numrerad underlista
- Definierad lista:= Definition
Definierad lista
Definierad lista definition
Första fotnoten[1]

Första fotnoten1

fn1. Fotnot

1 Fotnot

"Länk till Wikipedia":https://en.wikipedia.org/

Länk till Wikipedia

!http://www.cthulhu.se/slask/troll.jpg!

| A | simple | table | row | notextile. | And | another | table | row | notextile. | With an | | empty | cell |
A simple table row
And another table row
With an empty cell
*stark* **fet** _betonad_ __kursiv__ ^upphöjd^ ~nedsänkt~ -överstruken- +understruken+

stark fet betonad kursiv upphöjd nedsänkt överstruken understruken

LOL(Laugh out Loud)

LOL

Skribent