• Logga in
    • Sök
    • Kategorier
    • Senaste
    • Taggar
    • Populära
    1. Hem
    2. Mikael
    3. Inlägg
    • Profil
    • Följer 0
    • Följare 0
    • Ämnen 514
    • Inlägg 3046
    • Bästa 3
    • Controversial 0
    • Grupper 4

    Inlägg skapade av Mikael

    • Redlight - Swish Handel & WooCommerce certifikat

      Installationsguide för Swish Handel & WooCommerce

      Om du använder swish-for-handel-automatisk från Redlight så har du en kort guide här hur man genererar ett certifikat.

      1. Logga in och administrera certifikat
        Börja med att logga in på https://getswishcert.bankgirot.se
        Ange sedan ditt personnummer som är registrerat hos swish för att hantera certifikat. Ange organisationsnummer och swishnumret för handel (detta hittar ni på bankens hemsida)

      2. Skapa en Certificate Signing Request (CSR)
        Kör följande kommandon för att generera Certificate Signing Request. Ange era uppgifter men sätt inget lösenord på din CSR. Använd swishcsr.csr för att skapa certifikatet på https://getswishcert.bankgirot.se

      openssl genrsa -out /var/www/html/swish.key 2048
      openssl req -new -sha256 -key /var/www/html/swish.key -out /var/www/html/swishcsr.csr
      
      1. Kopiera in CSR till Swish certifikathanteringen och skapa certifikat (bankgirot.se)
        Här anger du CSR som du fick i slutet av föregående steg. Välj formatet PEM. Under BIC så kommer det att finns det som är för din bank. Se också till att Spara undan nyckeln (KEY) som du fick i slutet av förra steget. Då den kommer att användas senare.

      2. Slå ihop certifikatet med key
        Skapa swish.pem och kopiera in key som du fick när du skapade din CSR
        viktigt här är att du kopierar med allt från
        —–BEGIN RSA PRIVATE KEY—–
        —–END RSA PRIVATE KEY—–
         
        Lägg sedan in det i överst i swish.pem
         
        Om du öppnar filen så ska strukturen vara enligt följande:
        —–BEGIN RSA PRIVATE KEY—–
        —–END RSA PRIVATE KEY—–
        —–BEGIN CERTIFICATE—–
        —–END CERTIFICATE—–
        —–BEGIN CERTIFICATE—–
        —–END CERTIFICATE—–
        —–BEGIN CERTIFICATE—–
        —–END CERTIFICATE—–
        —–BEGIN CERTIFICATE—–
        —–END CERTIFICATE—–

      3. Inställningar i WooCommerce
        Börja med att fylla i licensnyckeln du fick när du ladda ner pluginet. Ange sedan ditt swishnummer som du fick när du tecknade avtalet med din bank. Det börjar på 123, använd inga mellanslag här. Fyll även i sökvägen till ditt certifikat som du har laggt upp på webbserven (swich.pem). Sedan är du klar att testa swich.

      postat i Utveckling
      Mikael
      Mikael
    • Loopia - Flytt av domän och tjänster mellan olika konton

      Överlåtelse

      Genom denna guide lyfter du ut ett eller flera domännamn från ett konto till ett nytt, och korrigerar eventuellt samtidigt kontoägare, utan driftavbrott för domänens/domänernas tjänster (t ex webb och e-mail). Efter detta kan du gå vidare med eventuell åtgärd, t ex överlåtelse, sammanslagning eller överföring.

      1. Nuvarande domänägare ska skapa ett konto på https://www.loopia.se/bestall/. Ange som domännamn förslagsvis: "loopia-dindomän.se" (byt ut dindomän.se mot en av dina domäner). Här är det även viktigt att valet "Jag har redan domännamn" väljs. Denna domän finns inte, är endast platshållande och kommer att tas bort när processen är klar.

      2. På den nya sidan så kommer du få val för att välja webbhotellspaket, men då detta innebär att du först behöver betala en faktura för att få tillgång till kontot så väljer du här "Hoppa över detta steget >>".

      OBS! Du ska ange aktuella ägaruppgifter för den eller de domäner som du avser lägga in i detta konto (dvs inte avsedd ny ägare, i det fall överlåtelse är slutmålet). Om du är osäker vilken aktuell ägare är för den domän, använd http://whois.loopia.se/ eller för .SE https://www.iis.se/domaner/free/ för att kontrollera, alternativt be oss undersökare närmare vilken aktuell ägare är.

      1. Följ instruktionerna för att bekräfta skapandet av kontot. Inloggningsuppgifter och kundnummer skickas sedan till vald mailadress.

      2. Logga in i kontot. Uppgradera detta konto till webbhotell genom att logga in och klicka "Uppgradera ditt konto" i menyn. Välj webbhotellspaket och beställ. (I det fall överenskommelsen är att kontot skapas tillfälligt tillåter vi detta abonnemang kostnadsfritt i 30 dagar.)

      3. Skicka mail till [email protected] med dessa uppgifter

        • Kundnummer för kundkontot där domänen/domänerna ligger idag;
        • Kundnummer för det nyskapade kontot;
        • Vilka domäner som skall flyttas från det första till det andra kontot.
      4. Vi flyttar domänerna och svarar tillbaka när det är genomfört, och tar bort den platshållande domänen.

      5. Klart! Du kan nu gå vidare enligt överenskommelse (t ex överlåtelse, sammanslagning, överföring eller ingen vidare åtgärd).

      postat i Utveckling
      Mikael
      Mikael
    • Administrationsverktyg för Wordpress

      WP-CLI

      WP-CLI är ett kommandoverktyg som möjliggör hantering av Wordpress i en kommandotolk. Du kan exempelvis installera Wordpress, hantera plugins eller återställa permalänkar. Det finns också möjlighet att skriva egna kommandon.

      Ingen installation behövs. Ladda bara ner PHP-arkiv filen och kör den från Wordpress rooten.

      curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
      php wp-cli.phar
      

      Det bästa är att lästa dokumentationen på skaparens hemsida.

      postat i Utveckling
      Mikael
      Mikael
    • Bra Wordpress-plugins att känna till

      Wordpress

      Här har ni en lista på Wordpress-plugins som jag tycker är bra och är värda att känna till. Om du är en avanserad användare så rekommenderar jag även wp-cli.

      Top-WordPress-Plugins.png

      Plugins

      Kalender

      • Events Manager är ett komplett tillägg för evenemangsregistrering (gratis och kostar).
      • Team Booking - Ett plugin som funkar med Google kalender (kostar).

      Övrigt

      • AddThis - AddThis är ett bra plugin för att dela innehåll till sociala medier.
      • All in One SEO Pack - Hantera inställningar för sökmotoroptimering.
      • All In One WP Security - Allt i ett Wordpress-plugin för säkerhet.
      • Auto More Tag - Lägger in en more tag automatiskt i dina inlägg.
      • Cookie Notice by dFactory - För dig som lätt vill få in information om cookie lagen
      • File Manager - Hantera filer utan ftp access
      • Google XML Sitemaps - Lägga till sitemapstöd (Använd inte i samband med All in One SEO Pack)
      • Imsanity - Insanity ändrar storlek automatiskt på bilder som laddas upp.
      • Loco Translate - Översätta Wordpress-plugins och teman direkt i webbläsaren.
      • Ninja Forms - Användbart plugin för kontakt formulär.
      • Optimize Database after Deleting Revisions - Optimera Wordpress databasen.
      • PHP Compatibility Checker - Kolla stöd för olika PHP-versioner.
      • Simple Custom CSS - Ändra CSS för teman och plugin.
      • Simple Google Analytics Tracking - Google analytics plugin för statistik. (Använd inbyggd ifall det finns som i Divi)
      • SQL Executioner - Exekvera SQL-frågor mot din Wordpress databas.
      • Top Authors - Visa dina författare lite extra i din blogg.
      • User Locker - Öka säkerheten mot brute force attacker.
      • Username Changer - Om du lätt som admin vill byta användares användarnamn.
      • WordPress Social Login - SSO (Single Sign On) plugin för Wordpress.
      • WP Editor - Bättre editor för dig som är kodare.
      • WPFront User Role Editor - Editera dina roller i Wordpress.
      • WP Mail SMTP - Hantera mail via en extern SMTP server. Stödjer AUTH, SSL och Wordpress multisite.
      • WP Maintenance Mode - Aktivera sida för underhåll.
      • WP Missed Schedule Fix Failed Future Posts - Hantera missade schemaläggningar av inlägg.
      • WP Super Cache - Cache motor för Wordpress.
      • WP User Avatar - Avatar hanterare för Wordpress.

      Lägg in detta i wp-config.php

      define('FS_METHOD','direct'); 
      

      Om ni har fler tips på plugin så är det bara att svara i denna tråd. Jag kommer hålla denna lista uppdaterad 😉

      postat i Utveckling
      Mikael
      Mikael
    • Bra WooCommerce-plugins att känna till

      WooCommerce

      Här har ni en lista på WooCommerce-plugins som ät bra att känna till. Det finns även en tråd för plugins till Wordpress om det är mer intressant.

      WooCommerce-integration.png

      Plugins

      • DIBS for WooCommerce - Betalning via DIBS
      • WC Custom Thank You - Anpassa din tacksida för dina kunder.
      • WooCommerce AdWords Conversion Tracking - Spåra värdet av WooCommerce-orders i Google AdWords.

      Kommer fylla på denna lista när jag hittar bra saker!

      postat i Utveckling
      Mikael
      Mikael
    • Git - Kommandon

      Git kommandon

      Ibland kan det vara bra att känna till vanliga kommandon för Git. Här har ni en lista på sådant som kan vara bra att känna till.

      Vanligt bruk

      Checka ut tidigare revision. Använd git log för att se namnet på revisionen du vill ha. För att gå tillbaka så kör du git checkout master eller branch namnet du använder.

      git checkout <revision>
      

      Kloning av ett befintligt arkiv

      git clone remotepath localpath
      

      Se loggen för alla revisioner. Lägg till växel --stat för mera information.

      git log
      

      Konfiguration

      Skapa ett nytt git repository när du står i källkoden (git init --bare ifall du vill ha ett delat repository)

      git init
      

      Visar din git konfiguration

      git config --list
      

      Sätt användaruppgifer för git commit. Ta bort --global ifall du bara ska ha detta för det repositorit du är i just nu

      git config --global user.email "[email protected]"
      git config --global user.name "Fistname Lastname"
      

      Ta bort färger i diff. Kan vara bra ifall du använder detta i script

      git config --global color.diff never
      

      Klona ett git repository över ssh med nyckel

      GIT_SSH_COMMAND="ssh -i <sökväg till nyckel>" git clone user@host:<Sökväg i serven>
      

      Byt repository källa. Detta kan vara bra att veta när någon flyttar ett repository som du använder. Sökväg till repository kan vara https://<användarnamn>@github.com/<användarnamn>/<repo> för http eller [email protected]:<användarnamn>/<repo> för ssh. Testa att nyckel funkar med ssh -T [email protected].

      git remote set-url origin <sökväg till repository>
      

      Övrigt

      Kontrollerar och verifierar objekten i databasen.

      git fsck --full
      

      Räkna hur många commit du har

      git rev-list --all --count
      

      Slå ihop commits (pick, squash) och tvinga upp det. Alla klienter måste ta bort sin kopia och checka ut det igen. Detta kan vara bra när du vill att ditt repository ska minska i storlek. Läs mer på Github. Byt ut X mot antal revisioner du vill gå igenom.

      git rebase --interactive HEAD~X
      git push origin master --force
      

      Kommer lägga till mer kommandon här när jag kommer på något bra 😉

      postat i Utveckling
      Mikael
      Mikael
    • Underhåll och kontroll av Git

      Filsystem-kontroll av ditt git-träd

      Ibland kan man vara osäker på om sin kod är säker i Git samt om hela historiken intakt.

      Med detta kommando så kan du kontrollera om allt står rätt till.

      git fsck --full
      

      Om du vill kontrollera flera git-träd samtidigt så kan du köra detta

      for x in *; do cd $x; git fsck --full; cd -; done
      

      Rätt smidigt ifall du har många träd i samma mapp. Du kan hitta fler bra git-kommandon här.

      postat i Utveckling
      Mikael
      Mikael
    • Olika orderstatus i WooCommerce

      Orderstatus

      En ny order skapas i WooCommerce när en kund slutför ett köp i kassan. Varje order ges ett unikt Ordernummer. Varje order har också en viss Orderstatus beroende på var i orderprocessen den befinner sig.

      De olika typer av orderstatus som en order kan ha är följande:

      • Mottagen (obetald) på engelska Pending - Order skapad, betalning ännu ej registrerad.
      • Misslyckad (Failed) - Betalningen misslyckades eller avböjdes.
      • Behandlas (Processing) - Betalning mottagen och lagersaldot minskat (ordern väntar på att skickas och slutföras).
      • Färdigbehandlad (Completed) - Ordern är skickad (kräver inga ytterligare åtgärder).
      • Mottagen (inväntar betalning) (On hold) - Inväntar betalning. Lagersaldot minskat, men du måste bekräfta betalningen.
      • Avbruten (Canceled) - Ordern avbruten av en administratör eller av kunden (ingen ytterligare åtgärd krävs).
      • Återbetalad (Refunded) - Återbetalad av en administratör (ingen ytterligare åtgärd krävs).

      Ibland kan det vara svårt att veta skillnad mellan olika statusar. Tanken är att detta ska göra det lite lättare 🙂

      postat i Utveckling
      Mikael
      Mikael
    • Tvinga HTTPS för din webbsida med .htaccess

      HTTPS med htaccess

      Ibland är det nödvändigt att se till att webbplatsens besökare använder SSL-krypterad anslutning. Detta för att säkerställa att ditt certifikat användas. Du kan även göra detta med PHP.

      SSL-flowchart.png

      För att tvinga användare till https så använder man en konfigurationsfil som heter .htaccess. Denna fil ligger normalt sätt i rootmappen för din webbsida men fungerar även längre in i strukturen. Viktigt att veta är att om du redan har en .htacess-fil så ska du lägga in dessa koder överst i filen.

      Dirigera om allt på den webbplats till https (Glöm inte att byta ut www.dindomän.se till rätt domän)

      RewriteEngine On
      RewriteCond %{SERVER_PORT} 80
      RewriteRule ^(.*)$ https://www.dindomän.se/$1 [R,L]

      Om du vill tvinga ett specifikt domännamn till https (Här måste du byta ut www.dindomän.se och exempel\.se)

      RewriteEngine On
      RewriteCond %{HTTP_HOST} ^exempel\.se [NC]
      RewriteCond %{SERVER_PORT} 80
      RewriteRule ^(.*)$ https://www.dindomän.com/$1 [R,L]

      Om du vill tvinga SSL för en viss katalog (Byt ur katalog till ditt katalognamn)

      RewriteEngine On
      RewriteCond %{SERVER_PORT} 80
      RewriteCond %{REQUEST_URI} katalog
      RewriteRule ^(.*)$ https://www.yourdomain.com/katalog/$1 [R,L]

      Det finns mycket man kan göra med .htaccess-filen 😉

      postat i Utveckling
      Mikael
      Mikael
    • Tvinga HTTPS för din webbsida med PHP

      HTTPS med PHP

      Ibland är det nödvändigt att se till att webbplatsens besökare använder SSL-krypterad anslutning. Detta för att säkerställa att ditt certifikat användas. Du kan även göra detta med htaccess.

      SSL-flowchart.png

      Lägg in denna kod i toppen på index.php

      if(empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] == "off")
      {
          $redirect = 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
          header('HTTP/1.1 301 Moved Permanently');
          header('Location: ' . $redirect);
          exit();
      }
      

      Smidigt när det är så lätt 😉

      postat i Utveckling
      Mikael
      Mikael
    • Förhindra skräppost i vilket webbformulär som helst

      Spam

      Att bekämpa spam är en av de oändliga uppgifterna för oss alla webbutvecklare. Lyckligtvis har de flesta e-postleverantörer blivit intelligenta nog för att gömma det mesta för oss. Men vad händer när robotar börjar attackera din eller kunders kontaktformulär på webben? Till din e-postleverantör kommer det att se ut som legitima inlägg från dina kunder, men det är detsamma som all annan skräppost man får ta del av.

      Att lägga till någon form av mänsklig verifiering till dina formulär kan hjälpa till att eliminera eventuell skräppost. Det bästa och enklaste att använda för detta är enligt mig Googles kostnadsfria reCAPTCHA-tjänst. Jag kommer nedan beskriva hur man lägger in detta på någon av dina webbplatser.

      1. Registrera din webbsida på Googles reCAPTCHA
      2. Google kommer att generera to nycklar åt dig, en publik och privat. Den publika nyckeln är inte hemlig och kan ligga öppet för alla att se medans den privata ska du hålla hemlig. Du måste generera egna nycklar men här har du 2 nycklar för detta exempel.
      Site key: 6LeySRIUAAAAAJnYn_JKQ5i2UfH85wKA-YgSYACL
      Secret key: 6LeySRIUAAAAAM5d5huz1-SIW4OMjfgDx_pwfToe
      
      1. För att lägga till reCAPTCHA till ditt formulär så behöver du detta inom <form> taggarna.
      <!-- The script should ideally be in your <head> tag, but it still works if it's here -->
      <script src='https://www.google.com/recaptcha/api.js'></script>
      <div class="g-recaptcha" data-sitekey="6LeySRIUAAAAAJnYn_JKQ5i2UfH85wKA-YgSYACL"></div>
      
      1. För att man ska kunna verifiera att besökaren har klickat på reCAPTCHA korrekt så måste man göra en förfrågan mot Google. Jag använder mig av PHP, men om du är en utvecklare så kan du använda vilket språk som helst.
      $siteverify = 'https://www.google.com/recaptcha/api/siteverify';
      $args = array(
          'remoteip' => $_SERVER['REMOTE_ADDR'],
          'response' => $_POST['g-recaptcha-response'],
          'secret' => '6LeySRIUAAAAAM5d5huz1-SIW4OMjfgDx_pwfToe'
      );
      $recaptcha = json_decode(file_get_contents($siteverify.'?'.http_build_query($args)), true);
      if(isset($recaptcha['success']) && $recaptcha['success'] == 1) {
          $captcha = true;
      } else {
          $captcha = false;
      }
      

      Bara att fylla i dina nycklar istället för de i exemplet så skall det fungera. Om du använder dig av Cloudflare så rekommenderar jag att du kör med $_SERVER['HTTP_CF_CONNECTING_IP'] istället för $_SERVER['REMOTE_ADDR']. Annars så får du inte korrekt ip i verifieringen.

      Om ni vill se hur det kan se ut så gå till min sida och tilla längst ner. Hoppas detta kommer att hjälpa er lika mycket som det har hjälpt mig. Om ni inte kan utveckla så kan ni alltid anlita mig att göra det åt er 😉

      Honeypot-tekniken

      Om man inte vill mecka med Googles reCAPTCHA så kan man använda sig av honeypot-tekniken eller båda om man känner för det. Själv så kör jag bara reCAPTCHA 😉

      Honeypot-tekniken är ett snabbt och effektivt sätt att förhindra bottar från att skicka skräppost in dina formulär. Spam-bottar älskar formfält och när de möter ett formfält fyller de ut detta, även om fältet är dolt från användargränssnittet. För att utnyttja detta kan du skapa ett formulärfält som ska lämnas tomt, men göm det från mänskliga användare. När formuläret skickas kan du kontrollera om det finns ett värde för fältet och blockera meddelandet.

      Lägg bara till ett extra input-fält i formuläret och dölj det med display:none. När du sedan ska hantera informationen i PHP så kollar du bara ifall det finns något värde i detta input-fält och kastar informationen ifall det finns ett värde.

      postat i Utveckling
      Mikael
      Mikael
    • Lokalisera och identifiera webbplatsbesökare via IP-adress

      Vilket land kommer mina besökare ifrån

      Om man vill ha olika webbsidor för olika länder så kan det vara smidigt att kolla var besökaren kommer ifrån och skicka dem till rätt webbsida. Det finns massor med tjänster som hjälper till med detta.

      Geo tjänster

      • IPInfoDB
      • Ipstack

      Web proxy

      • Hidemyass
      • Whoer

      Jag har byggt ihop ett litet script där jag använder mig av ipstack för att kolla upp besökarna. Du måste dock skaffa en egen api-nyckel för att detta ska fungera. Du kan sedan testa scriptet med Hidemyass tjänsten.

      <?php
      header('Pragma: no-cache');
      header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
      header('Expires: Sat, 26 Jul 1997 05:00:00 GMT');
      
      $api_key = '<api nyckel>';
      $base_url = 'exempel.se';
      function fetch($url) {
          $ch = curl_init();
          curl_setopt($ch, CURLOPT_URL, $url);
          curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0');
          curl_setopt($ch, CURLOPT_HEADER, 0);
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
          curl_setopt($ch, CURLOPT_TIMEOUT, 10);
          $out = curl_exec($ch);
          curl_close($ch);
          return $out;
      }
      $url = 'http://api.ipstack.com/'.$_SERVER['REMOTE_ADDR'].'?access_key='.$api_key.'&fields=country_code';
      $data = json_decode(fetch($url));
      $europe = array('AD', 'AL', 'AT', 'AX', 'BA', 'BE', 'BG', 'BY', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FO', 'FR', 'GB', 'GG', 'GI', 'GR', 'HR', 'HU', 'IE', 'IM', 'IS', 'IT', 'JE', 'LI', 'LT', 'LU', 'LV', 'MC', 'MD', 'ME', 'MK', 'MT', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'RU', 'SE', 'SI', 'SJ', 'SK', 'SM', 'UA', 'VA');
      
      try {
          if($data->country_code == 'SE') {
              $redirect = 'se';
          } else if (in_array($data->country_code, $europe)) {
              $redirect = 'eu';
          } else {
              $redirect = 'us';
          }
          if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot"))
          {
              $redirect = 'se';
          }
      } catch(Exception $e) {
          $redirect = 'us';
      }
      $redirect_url = 'http://'.$redirect.'.'.$base_url;
      header("Location: ".$redirect_url, true, 301);
      ?>
      

      Bra med detta script som referens. Bara att bygga vidare på den om det behövs 😉

      postat i Utveckling
      Mikael
      Mikael
    • Javascript scroll exempel

      Jquery

      Här har ni en liten kodsnutt som gör något när man har scrollat en liten stund.

      <script>
      jQuery(document).scroll(function() {
        if(typeof count === "undefined") {
          count=0
        } else {
          if(count < 20) count+=1;
        }
      
        if(count == 20) {
          jQuery('.someclass').html('<p>Some html</p>');
          count+=1;
        }
      });
      </script>
      

      Perfekt att använda istället för någon sleep funktion 😉

      postat i Utveckling
      Mikael
      Mikael
    • Byta indentering från tab till 2 mellanslag

      Kodindentering

      Det finns många olika varianter av indentering. Många använder tab medans andra använder 2 eller 4 mellanslag. Jag har själv alltid använt tab men har på senare tid gått över till 2 mellanslag. Man kan lätt konvertera filer med tabbar till mellanslag genom att använda sig av Vim (se smarta kommandon).

      Ett problem som jag stötta på var att veta vilka filer som jag hade fixat. Det är mycket att gå igenom manuellt. Med hjälp av detta kommando så söker du genom alla filer i en trädstruktur som innehåller just tab.

      Lista filnamn och innehåll som matchar tab

      grep -Pr "\t" *
      

      Lista bara filnamnen

      grep -lPr "\t" *
      

      Mycket bra och lätt kommando för att underlätta konverteringen åt dig 🙂

      postat i Utveckling
      Mikael
      Mikael
    • App för att editera textfiler i Google drive

      Google Drive

      Google drive är riktigt bra ifall man vill ha sina dokument i molnet. Som standard så finns det ingen bra editor för att editera textfiler online.

      Commanditor

      Det bästa jag har hittat hittills är denna app: https://commanditor.github.io

      Drive Notepad

      Detta är en tidigare app som var populär att använda. Du hitter den här: https://drivenotepad.github.io

      Båda dessa appar finns att lägga till i drive.

      postat i Utveckling
      Mikael
      Mikael
    • Bästa länkarna att lära sig mer om Linux

      Om du är sugen på att lära dig något nytt så tycker jag att du ska ta en titt på Linux och öppen källkod. Om du är en person som är villig att kämpa lite för att läsa sig ett system så är Linux klockrent för dig. Det finns självklart olika svårighetsgrader beroende på vilken distrubution av Linux du väljer att börja med.

      Börja med att kolla in dessa länkar!

      • Kernel newbies - Lär dig mer om ramverket som gör det möjligt att interagera med datorns maskinvara.
      • Linux Questions - Här är en bra källa ifall du har frågor om Linux och alla distributioner i allmänhet.

      Det finns självklart massor med sidor på internet som är bra men det finns mycket skit också tyvärr. Har ni tips som jag tycker är bra så lägger jag till dem i listan 😉

      postat i Linux
      Mikael
      Mikael
    • Installera CoreOS i VirtualBox

      Här är en guide för er som har upptäckt hur bra CoreOS är och hur man installerar CoreOS i Oracle VM VirtualBox. Kör inte scripten som root.

      2000px-CoreOS.svg.png

      Bygg en Virtual Disk

      Det finns ett script som förenklar skapandet av VDI avbildningen. Den laddar ner en grund avbildning, verifierar GPG och konverterar den till VirtualBox format. Du kan hitta scriptet på GitHub. Host systemet för VirtualBox måste ha stöd för VirtualBox tools.

      1. Som första steg så laddar du ner scriptet och gör den exekverbar.
        wget https://raw.github.com/coreos/scripts/master/contrib/create-coreos-vdi
        chmod 755 create-coreos-vdi

      2. För att köra scriptet så kan du specificera platsen där den ska hamna och CoreOS version.
        ./create-coreos-vdi -d /coreos/vdi/image/path -V stable
        Du kan välja vilken kanal man ska basera din disk avbildning på (alpha, beta, stable) . Man kan också specificera ett versionsnummer för CoreOS om man vill.

      Skapa en Config-Drive

      För att komma åt din maskin så behöver du en config-drive med SSH-nyckel inställningar. Det finns även ett script för att hjälpa dig med att bygga din config-drive. Du kan modifiera till dina inställningar i create-basic-configdrive om du vill lägga in något extra i din cloud-config.

      1. Skapa din nyckel med ssh-keygen.
        ssh-keygen -b 4096 -f hostname

      2. wget https://raw.github.com/coreos/scripts/master/contrib/create-basic-configdrive
        chmod 755 create-basic-configdrive
        ./create-basic-configdrive -H my_vm01 -S hostname.pub
        Detta kommer att skapa en ISO-fil som heter my_vm01.iso med ssh-nyckeln som du väljer att använda.

      Skapa en ny virtuell maskin i VirtualBox

      Klona avbildningen för varje ny virtuell maskin du skapar och sätt den till önskad storlek.

      1. VBoxManage clonehd coreos_production_stable.vdi my_vm01.vdi

      2. Ändra storlek på den virtuella avbildningen till 10 GB
        VBoxManage modifyhd my_vm01.vdi --resize 10240
        När CoreOS bootar så kommer den märka att volymen har modifierats och ändra storlek på filsystemet.

      3. Öppna VirtualBox Manager och gå till menyn Machine > New. Skriv in önskat maskinnamn och välj Linux som typ och Linux 2.6 / 3.x (64 bit) som version.

      4. Välj sedan önskat minne. Jag rekommenderar 1 GB minst för att det ska funka bra.

      5. Sedan väljer du Use an existing virtual hard drive fil och tar den nya klonade avbildningen. Sedan så tycker du på Create.

      6. Sedan måste du lägga till config-drive avbildningen som CD/DVD. När maskinen bootar så använder den config-drive för att sätta upp din nyckel och annat du har skrivit i den cloud-config. Sedan är det bara att starta maskinen.

      7. För att behålla inställningarna från cloud-config så ska config-drive avbildningen vara monterad hela tiden.

      Logga in

      Det kan ta ett tag för nätverket att komma upp under VirtualBox och du behöver veta ip-numret som du fått för att kunna ansluta till den. Det är bara att tycker enter några gånger för att det ska dyka upp. Nu är det bara att logga in via SSH och använd nyckeln du skapat. Sätt upp Port Forwarding i VirtualBox Manager så du kan komma åt SSH (10022:22).

      1. ssh -p 10022 -i hostname [email protected]

      Länkar

      • VirtualBox
      • Config-drive
      • Cloud-config guide
      • CoreOS Quickstart
      • More specific topics

      Nu är guiden klar 😉

      postat i Linux
      Mikael
      Mikael
    • Docker - Kommandon

      Docker

      Här har ni en lista på kommandon för Docker. Mina dockerfiler finns på github.

      Generell

      Lista alla containers (-a Visa alla containers, standard är att bara visa vilka som är igång)

      docker ps  -a
      

      Övervaka alla containers

      docker stats
      

      Lista alla images

      docker images
      

      Kör ett docker paket (Använd <kommando> för att ändra standard kommandot)

      docker run -it --rm <docker path> <command>
      -d = starta i bakgrunden*
      -it = Interaktiv + tty*
      --name = Sätt ett namn / Lämna tomt för slumpat namn*
      --rm = Ta bort container när den avslutas*
      -p 80:80 = Mappa coreos / docker portar*
      --volumes-from = Montera volumes*
      -w = Vilken katalog det körs från inne i containern*
      

      Kör ett kommando i en aktiv container

      docker exec -it <container> <command>
      

      Anslut till en aktiv container

      docker attach <container>
      

      Koppla ifrån en aktiv container

      ctrl + p + q
      

      Uppsättning

      Hämta en image

      docker pull <Docker sökväg>
      

      Spara image innehåll till en tar fil

      docker save <image name> > filename.tar
      

      Spara container innehåll till en tar fil (Detta kommer inte att innehålla någon volume data)

      docker export <container id> > filename.tar
      

      Skapa

      Bygg image filen (Ladda ner dockerfilen i en tom katalog)

      docker build -t <name>/repository .
      

      Autentisera sig mot en docker hub

      docker login
      

      Ladda upp imagen till hub.docker.com

      docker push <name>/repository
      

      Ta bort och rensa

      Ta bort containers

      docker rm <container1> <container2>
      

      Radera alla containers (Tar bort allt)

      docker rm $(docker ps -a -q)
      

      Ta bort images

      docker rmi <image1> <image2>
      

      Ta bort alla images (Tar bort allt)

      docker rmi $(docker images -q)
      

      Övrigt

      När konsolen fastnar

      ctrl + z
      

      Jag kommer att fylla på denna lista när jag kommer på mera bra kommandon för Docker. Mer information om hur Docker fungerar hittar du på docs.docker.com.

      postat i Linux
      Mikael
      Mikael
    • SystemRescueCd - Rädda data från din hårdisk med en räddningsskiva

      Det är bra att känna till verktyg som kan rädda data från din disk när det har blivit fel på disken eller att operativsystemet har pajat.

      sysresccd-003-640x480.png

      SystemRescueCd

      SystemRescueCd är ett Linux-system på räddningsskiva som finns som en startbar cd-rom eller USB-minne för att administrera eller reparera ditt system och data efter en systemkrasch. Syftet är att ge ett enkelt sätt att utföra administrativa uppgifter på datorn, som att skapa och redigera hårddiskpartitioner.

      Den levereras med en hel del Linux systemverktyg (parted, partimage, fstools, ...) och grundläggande verktyg (Redaktörer, Midnight commander, nätverksverktyg). Detta Linux-system kan användas för både Linux och Windows-datorer och på stationära datorer samt servrar. Detta räddnings system kräver ingen installation eftersom den kan startas från en CD / DVD-enhet eller USB-minne, men det kan installeras på hårddisken om du vill. Kärnan stödjer alla viktiga filsystem (ext2/ext3/ext4, reiserfs, btrfs, xfs, jfs, vfat, ntfs), samt nätverksfilsystem (samba och nfs).

      Jag använder oftast själv denna cd för att rädda dara från Windows, Linux och Mac.

      postat i Linux
      Mikael
      Mikael
    • Gentoo - Tvinga installation och ignorera säkerhetskontroller för emerge

      När du inte kan installera ett Linuxpaket eftersom emerge säger ifrån av någon anledning, så kan det vara bra att känna till hur man tvingar systemet. Det finns några fall där du som administratör vet att det funkar även fast systemet inte tror det.

      Lägg till I_KNOW_WHAT_I_AM_DOING="yes" innan emerge kommandot
      I_KNOW_WHAT_I_AM_DOING="yes" emerge -av chromium

      Jag har själv använt detta när jag ska installera chromium och har lite ram-minne i datorn. Även fast jag la till en större swapfil så ville systemet ändå inte strunta i 3GB minnes kravet.

      Hoppas ni får användning av detta 😉

      postat i Linux
      Mikael
      Mikael
    • Installera-Linux guider för nybörjare

      Det är ganska mycket arbete med att skriva en guide från grunden så jag tänkte ta en genväg och länka till guider istället som är bra och är på svenska. Känns dumt att göra om något som redan finns och är bra. Vem vet när jag har tid så kanske jag skriver något eget.

      Linux guider

      Desktop

      • Linux Mint - Nivå lätt

      Server

      • Gentoo - Nivå svårt
      • Ubuntu Server - Nivå medel

      Om man verkligen vill lära sig Linux på riktigt så kan jag rekommendera Gentoo Handbook. Om du tvingar dig själv att lära dig detta då kommer du både kunna hantera Linux på klienter och servrar. Tyvärr är dokumentationen på engelska men vill ändå visa denna guide.

      Tipsa gärna om fler så lägger jag upp dem här 😉

      postat i Linux
      Mikael
      Mikael
    • Konvertera till och från UTF-8 med iconv

      Iconv

      Olika filer har olika teckenkodning och du kan se vilken kodning du har med kommandot file.

      file filenamn.txt
      

      Om du behöver konvertera en fil från ISO-8859-1 till UTF-8 så kan du använda iconv. Iconv är ett datorprogram och ett standardiserat programmeringsgränssnitt (API) som används för att konvertera mellan olika teckenkodningar.

      iconv -f iso-8859-1 -t utf-8 < filnamn1.txt > filename2.txt
      

      Man kan även bygga script som convert_iso-8859-1_utf-8.sh för att utföra olika saker med iconv.

      #!/bin/bash
      
      if [ $# -gt 0 ]; then
          folder=${1%/}
          if [ -d "$folder.backup" ]; then
              echo "Error: backup folder exists"
              exit
          fi
          cp -r $folder $folder.backup
          find $folder -type f -exec bash -c '
              file={}
              if [ -n "$(file $file | grep -i iso-8859)" ]; then
                  echo $file
                  iconv -f iso-8859-1 -t utf-8 -o "$file.tmp" "$file"
                  mv "$file.tmp" "$file"
              fi ' \
          \;
      else
          echo "Usage: $0 <directory>"
      fi
      

      Tänk på att du kan använda iconv för att konvertera en teckenkodning till vilken annan teckenkodning som helst. Detta är mycket användbart om du frågar mig 😉 Ta alltid backup på alla filer innan du kör skript!

      postat i Linux
      Mikael
      Mikael
    • Användbara kommandon för Linux

      Terminalkommandon i Linux

      Terminalfönstret är och förblir det mest grundläggande sättet att hantera kommandon i Linux, Unix och liknande system. Samtidigt är det inte alltid så lätt att hitta information om hur man använder de olika kommandona på svenska.

      5.jpeg

      Eftersom Linux har blivit mycket lättare med distributioner som liknar Windows så glömmer folk bort att lära sig grunden i Linux. Styrkan i Linux är just terminalkommandon och den flexibilitet man får. Nästan alla kommandon har växeln --help där man kan få mera hjälp. Vill man få mycket information så använder man kommandot man innan kommandot.

      Tar fram manualen för kommandot ls
      man ls

      Dessa är viktiga att kunna för vanligt bruk

      • cat - Visa en fils innehåll i terminalfönstret
      • cd - Ändra vilken katalog i filsystemet du arbetar i
      • cp - Kopierar fil eller katalog
      • df - Visa lista på användning av minnesutrymme, bl.a. hårddisk
      • du - Ta fram storleken på filer eller kataloger
      • history - Se din kommando historik
      • ifconfig - Visa dina nätverksuppkopplingar och ip-address
      • killall - "Döda" (stäng av) dataprocesser, t.ex. program
      • less - Visa en fils innehåll i ett rullbart fönster där du kan rulla upp eller ner med piltangenterna,
      • ls - Visa alla filer som finns på den nuvarande katalogen
      • man - Visa en hjälpfil som beskriver hur man använder ett kommando
      • mkdir - Skapa en ny filkatalog under katalogen där du står
      • mv - Flytta en fil till en ny filkatalog och/eller byt namn på den
      • nano - Enkel och snabb texteditor (Jag rekommendera att man lär sig vim)
      • passwd – Ändra ditt lösenord
      • ping – Sänd ett kontaktmeddelande till en annan dator för att verifiera nätkontakt
      • pwd – Visa namnet och sökpå den katalog där du står
      • rm - Tar bort en fil (Går ej att ångra sig)
      • sudo – Utför ett linuxkommando med rättigheter som om du vore användare root (Superanvändaren)
      • tail – Visa de sista raderna i en textfil (Använd head för de första)

      Kommandon som kan vara värt att känna till

      • chmod - Ändra rättigheter på filer eller kataloger
      • chown - Ändra ägare på filer eller kataloger
      • find - Sök i ditt filsystem
      • free - Se hur mycket minne du har
      • grep - Hämta ut bitar av information från kommando
      • iwconfig - Kommando för trådlöst nätverk
      • iwlist - Kommando för trådlöst nätverk
      • kill - Döda en viss process (Funkar att använda istället för killall)
      • mount - Montera ett filsystem från tex en extern enhet
      • ps - Lista aktiva processer
      • rsync - Skapa kopia av en större filmsamling
      • su - Bli en annan användare
      • tar – Skapa arkivfiler och även komprimerade arkivfiler (gzip / bzip)
      • top - Visa körande processer
      • traceroute - Ta fram nätverksväg till en node
      • useradd - Lägger till nya användare till systemet
      • wget - Hämta hem filer

      Mer avancerade kommandon

      • alias - Skapa alias för dina kommandon
      • bash - Scripting för att utföra många kommandon på samma gång
      • vim - En avancerad texteditor
      • export - hantera variabler i din shell miljö
      • sort - Sortera data från kommandon

      Det finns mycket kommandon att lära sig. Om du tycker att jag missat något så är det bara att säga till så lägger jag till det.

      postat i Linux
      Mikael
      Mikael
    • Klona webbplatser med wget

      Kloning av webbplats

      Wget har förmågan att klona en webbplats. Detta kommando är bra om du vill hämta en lokal kopia från webben och få ner CSS, bilder och Javascript lätt. Observera att det inte alltid blir en garanterad kopia med sidor som har mycket dynamiskt innehåll. Jag rekommenderar därför att man gör en manuell granskning efteråt utan nätverk.

      2 exempel kommandon för att klona webbplatsen

      wget -E -k -m --trust-server-names https://www.exempel.se
      wget -E -k -m --compression=gzip --password="password" --trust-server-names --user="user" --compression=auto https://www.exempel.se
      

      Man måste köra detta på varje domän eller subdomän man vill ladda ner och använda sig av GNU Wget.

      --adjust-extension / -E: Fixa html filändelse på dynamiskt innehåll.
      --compression=auto: Om du försöker spegla en sida där serven svarar med gzip.
      --convert-links / -k: Konverterar länkarna i dokumentet för att göra dem lämpliga för lokal visning.
      -m / --mirror: Växlar som är lämpliga för spegling.
      --password="": Lösenord ifall htpasswd är aktiverat.
      --trust-server-names: Om det här är inställt, kommer det lokala filnamnet baseras på omdirigeringsadressen.
      --user="": Användarnamn ifall htpasswd är aktiverat.

      Om du får problem med robots.txt och rättigheter så kan du lägga till: -e robots=off

      postat i Linux
      Mikael
      Mikael
    • Hur man kör Ultimate Boot CD från USB-minne

      Installation av Ultimate Boot CD (UBCD)

      För att köra UBCD från ett USB-minne så behöver ditt usb-minne partitioneras i FAT16 eller FAT32 och formateras innan nödvändiga filer kopieras över till USB-minnet. Läs mer om Partitionera och formatera ditt usb minne.

      1. Nu måste vi skriva data till mbr på USB-stickan. Filen mbr.bin som behövs för att göra detta hittar du i den extraherade UBCD iso (/ubcd/tools/linux/ubcd2usb/). Ladda ner ison från UBCD och extraherad den. Glöm inte att byta ut X mot rätt enhet.
      dd if=mbr.bin of=/dev/sdX
      
      1. Montera partitionen på din USB-enhet. Du kan använda ett GUI för att göra detta eller bara via en terminal. I vissa fall så monterar din distribution USB-enheter automatiskt genom att ta bort och stoppa in USB-minnet igen.
      2. Kopiera alla filer från den extraherade UBCD-ison till ditt USB-minne.
      3. Installera syslinux på ditt USB-minne. Se till att /ubcd/tools/linux/ubcd2usb/syslinux är körbar. Ta bort växeln -i ifall du redan har installerat syslinux på ditt USB-minne innan.
      cd ubcd
      chmod a + x tools/linux/ubcd2usb/syslinux64
      tools/linux/ubcd2usb/syslinux64 -i -s -d /boot/syslinux /dev/sdX1
      
      1. Nu kan du starta UBCD från din USB-enhet, om ditt BIOS har stöd för det naturligtvis.
      postat i Linux
      Mikael
      Mikael
    • 1
    • 2
    • 91
    • 92
    • 93
    • 94
    • 95
    • 121
    • 122
    • 93 / 122