Välkommen till vår blogg

Vi startade Cloudnet för att vi älskar teknik och gillar att dela med oss av våra kunskaper. Här kan du läsa mer om vad vi jobbar med och vad vi gör.
Laddar…

Felsökning av Apache Segmentation Fault

”[core:notice] [pid 30552:tid AH00052: child pid 13416 exit signal Segmentation fault (11)” betyder dåliga nyheter. Så här kan man göra för att försöka hitta källan till problemet.

Läs mer

Deploy av WordPress/Bedrock hos Cloudnet

Gillar du att köra WordPress och vill ta nästa steg? Jag rekommenderar starkt att köra Bedrock. Det är WordPress, men lite mer uppstyrt. En stor fördel är att alla filer finns i Git, även plugins. …

Läs mer

Deploya kod med Git

När det är dags för att uppdatera din webbapplikation med ny kod så finns det lite olika sätt att gå till väga på. Använd Git och skicka din kod direkt till produktion istället för t.ex. …

Läs mer

Deploya kod direkt från CircleCI

Här nedan ska jag visa hur man kan koppla ihop CircleCI så den gör en deploy direkt till servern du har hos Cloudnet. CircleCI sköter testning av koden och med hjälp av Git deployas koden till servern som tar hand om tömning av cache och annat.

Läs mer

Bra-att-ha kommandon för deploy

Om du använder Git för att göra deploy, t.ex. Deploy WordPress/Bedrock hos Cloudnet så finns det automatiskt några bra kommandon för att förenkla lokal utveckling. Du kan lista alla kommandon. Det är alltid användaren ”git” som …

Läs mer

Cloudnet stödjer västafrika

I samarbete med Myndigheten för samhällsskydd och beredskap (MSB) har Anders varit utlånad som IT- och kommunikationsexpert till United Nations World Food Programme (WFP) i Västafrika.

Läs mer

Shellshock

Nu har en bugg i bash hittats. Det låter ju inte så farligt kan man tro, men då har man fel.

Läs mer

Heartbleed SSL-bugg

Många av våra användare har hört av sig till oss om ett nytt säkerhetshål i OpenSSL som kallas Heartbleed.

Läs mer

Visst ses vi på Drupalcamp på lördag?

Nu på Lördag den 15:e Mars är det äntligen dags för Drupalcamp sthlm igen och självklart kommer vi att vara där och ivriga att snacka Drupal, Ubuntu och allt däremellan med er. Vi ses!

Läs mer

Cloudnet stödjer Filippinerna

I samarbete med Myndigheten för samhällsskydd och beredskap är Anders utlånad som expert inom satellit och radiokommunikation till United Nations World Food Programme i Filippinerna. I November 2013 drabbades området Visays av den kraftigaste tyfonen …

Läs mer

Lösenord med Diceware

Att både ha ett starkt lösenord samtidigt som man ska komma ihåg det är inte alltid så lätt. Många tror felaktigt att ett starkt lösenord måste innehålla konstiga tecken, siffror, stora och små bokstäver.

Läs mer

Administrera WordPress från kommandoraden

WP-CLI är för WordPress vad Drush är för Drupal – dvs ett program som låter dig managera din wordpress-installation från cli. Har du en wordpress-anpassad server från oss har du redan wp-cli installerat, det enda du …

Läs mer

Tunnla med SSH

En bra funktion med SSH är möjligheten att använda sig av SSH-tunnlar. Detta kan vara nyttigt på många sätt och vis, speciellt på ställen där man inte vill eller kan öppna upp brandväggar av olika …

Läs mer

Vill du jobba med oss?

Vi har plats för fler – tror du att du, eller någon du känner, skulle passa hos oss? Tveka inte att kontakta oss! Läs mer här!

Läs mer

Flask – microframework för python

En stor fördel med stora webframeworks som t.ex Django är att de i grunden har stöd för det mesta man kan tänkas behöva i sin applikation men det är inte alltid man behöver allt detta …

Läs mer

Välja mobiloperatör i Rio de Janeiro

Har man väl vant sig med att ha lokalt simkort i sin iPhone när man är ute och reser så vill man aldrig vara utan. Ett kontantkort kostar ca 30 kr i Brasilien. Det finns …

Läs mer

Skicka e-post via Google Apps

Det finns situationer när man behöver skicka e-post från en server via Google Apps. Vanligaste orsakerna är att port 25 är spärrad (t.ex. på ett hemmanätverk), eller att man helt enkelt har sin e-post hos …

Läs mer

Räkna filer i Linux

Ibland kan det vara bra att hålla koll på hur många filer man har i sitt filsystem på Linux. Extrema mängder filer kan ge konstiga problem i olika sammanhang så det kan vara värt att …

Läs mer

Idag är det World IPv6 day – igen

För ett år sedan firades World IPv6 Day. Redan då var vi med eftersom vi ser IPv6 som en förutsättning för internets framtida tillväxt. För ett år sedan hade vi redan IPv6 stöd för alla …

Läs mer

‘Killall’ oneliner

I moderna Linux-distributioner kan man nästan alltid räkna med att kommandot ‘killall’ följer med för att enkelt kunna döda t.ex alla apache-processer. I t.ex avskalade linux-distributioner och vissa versioner av Solaris kan dock killall saknas, …

Läs mer

Tunnla två IPv6-nät över IPv4

Det finns tillfällen då man behöver koppla ihop två olika nätverk med varandra. Normalt sett så använder man då någon form av VPN-lösning. I det här fallet var behovet att koppla ihop två IPv6-nät med …

Läs mer

Virtuella python-environments med virtualenv

En av fördelarna att programmera i python är den förträffliga pakethanteraren pip som både är snabb och smart. Däremot löser den inte problemen som ofta uppstår när man jobbar med flera projekt samtidigt; t.ex kanske …

Läs mer

Notifieringar från irssi i dock på Mac OS

Så här gör du för att få notifieringar på Terminal-ikonen i Mac OS när det händer saker i ditt irssi-fönster. När det kommer en bell (^G) i ett inaktivt terminalfönster börjar din Terminal.app-ikon hoppa och …

Läs mer

IPSEC i Ubuntu Precise med dynamisk IP

Trots att det finns mycket skrivet om IPSEC på Linux är informationen om hur det fungerar tillsammans med dynamisk IP ganska förvirrande. Förhoppningsvis har den ena sidan av tunneln en fast IP, då kör man …

Läs mer

Nagios sommar- och vintertid

Nu har det precis slagit om från sommartid till vintertid. Om du kör Nagios så är sannolikheten stor att dina testerna nu har slutat att köra. Det är nämligen så att i Nagios finns det …

Läs mer

Bash history

När minnet är bra men kort kan bash’s fenomenala history-funktion vara till stor hjälp. Att bara trycka ”pil upp” för att se de senaste slagna kommandona är kanske det vanligaste sättet man använder history på …

Läs mer

Enkla Varnish ACL

När man av någon anledning vill använda Varnish till sin sajt stöter man ofta på problem med rättigheter till t.ex. admingränsnitt. Ofta har man en /admin/ som man bara vill att vissa IP-adresser skall ha …

Läs mer

Wildcard-DNS och vhosts

Att ha flera webbsajter, s.k. vhosts, på sin server har sina fördelar. Det kan t.ex. vara bra när man gör större uppgraderingar på sin ordinarie sida, för att se att allt stämmer och ser bra …

Läs mer

Problem att boota HP DL580 från virtuell CD

HP:s iLO (Integrated Lights Out) brukar fungera riktigt bra, men på en DL580 blev det tvärstopp när jag skulle boota från en virtuell CD. På HP:s forum hittade jag en som tipsade om att virtuell …

Läs mer

Google Spreadsheets API

Förutom att Google Spreadsheets är ett grymt bra kalkylprogram går det även att styra det med hjälp av ett API. Här är ett exempel på hur det går till. I följande exempel uppdaterar vi en …

Läs mer

Bash script och redirect

När man skriver Bash-script eller håller på med olika kommandon så händer det titt som tätt att man behöver skicka texten som kommer ut från ett kommando till en fil, till ett annat kommando eller …

Läs mer

Konvertera SSH-nycklar och olika format

Publika- och privata SSH-nycklar är väldigt smidiga och säkra att använda till sina servrar. Men, som med allt annat, så finns det lite olika format. OpenSSH, Putty, SSH2, m.m. har alla samma nycklar men med …

Läs mer

Prestandaproblem med LL-XML i TYPO3

Vi hade problem långa laddtider för modulen LL-XML i TYPO3-backend. Sidan tog extremt lång tid att ladda och apache-processen tog all tillgänglig CPU sedan man klickat på länken. Vid en första anblick kan det verka …

Läs mer

Hur man bygger ett .deb-paket

Debian och Ubuntus paketeringssystem, .deb-filer, är ett väldigt bra sätt att paketera sina program, webbapplikationer, script, eller vad som helst. Det är väldigt flexibelt samtidigt som det går att styra ganska hårt att rätt förutsättningar …

Läs mer

Problem med libapache2-mod-xsendfile

Syntax error on line 9 of /mnt/persist/www/apache2.conf: Invalid command ‘XSendFilePath’, perhaps misspelled or defined by a module not included in the server configuration …fail! Varför gnäller apache på att konfigurationsdirektivet XSendFilePath när man förstöker starta …

Läs mer

Lägga till extra fält i Django admin

Admin-applikationen till Django är fantastisk på många sätt. Just att modellerna man har i Django speglas direkt i ett webbgränssnitt utan i princip någon egen insats är inte bara tidsbesparande utan det blir även ren …

Läs mer

Autentisera Vtiger mot Apache/htpasswd

Det händer att man vill utnyttja autentiseringen i Apache istället för den inbyggda i Vtiger. Anledningarna kan vara många, men ett ganska vanligt scenario är att man vill verifera användare mot en htpasswd-fil eller t.ex. …

Läs mer

Cron_key for Drupal 7

I nästan alla webbapplikationer som är utvecklade i Drupal är det viktigt att Drupals egna cron kör med jämna intervall. Det är för att dra igång olika händelser i applikationen som t.ex. schemalagda publiceringar, upprensning …

Läs mer

Cloudnet deltar på World IPv6 Day

World IPv6 Day är ett globalt testskott för IPv6. Att adresserna för IPv4 i princip är slut är det nog knappast någon som har missat. Problemet är bara att alla webbplatser och tjänster runt om …

Läs mer

Problem med låst Drupalkonto

Så här löser man problem med meddelandet ”Tyvärr, det har varit mer än 5 misslyckade inloggningar för detta konto. Det är för tillfället spärrat. Försök igen senare, eller begär ett nytt lösenord.” Trots att kontot …

Läs mer

Drupal 7 med Varnish

Det finns ganska mycket skrivet om hur man kör Drupal 7 tillsammans med Varnish, men jag saknade en del information i de guider jag hittade. Första intrycket är att det fungerar väldigt smidigt. Man behöver …

Läs mer

TYPO3 med utf8-innehåll i latin1-MySQL

Olika characterset kan enkelt bli en riktig soppa om man inte ser till att ställa in allting rätt innan man börjar köra sin databas. Här är ett exempel på hur man kan fixa ett problem …

Läs mer

Cloudnet sponsrar DrupalCamp Stockholm 2011

DrupalCamp Stockholm är en konferens om CMS-verktyget Drupal. Eftersom vi gillar Drupal och vill bidra till ett ökat användande av system som bygger på öppen källkod sponsrar vi konferensen. Om du vill veta mer om …

Läs mer

Enkel installation av New Relic

New Relic är en monitoreringstjänst som man kan använda för att i detalj mäta prestanda på olika delar på din t.ex. PHP- eller Rails-applikation. Du kan få information om vilka moduler som tar längst tid …

Läs mer

Utvecklingsmiljö för Sproutcore

Nu har vi färdiga paket med Sproutcore som du enkelt kan installera på din server. Sproutcore kan man beskriva som ett applikationsramverk för HTML5 och Javascript. Meningen är att det enkelt ska gå att bygga …

Läs mer

Cloudnet sponsrar GoodOldCraft

GoodOldCraft är ett event som arrangeras av den strategiska webbyrån Good Old. Det är en turnering i spelet Starcraft 2 och syftet är att samla ihop Sveriges mediavärld. Eftersom projektet är utvecklat i Node.js och …

Läs mer

Läsa status i realtid från Nagios

Nagios är ett övervakningsverktyg som är väldigt robust, flexibelt och naturligtvis öppen källkod. Det är däremot inte så enkelt att läsa aktuell status om man t.ex. vill få in information i en extern applikation. Det …

Läs mer

Dell DRAC 4/I från Mac OS

Om du vill använda Dells inbyggda KVM-lösning DRAC (Dell Remote Access Controller) 4/I på din Mac finns det ett trick att ta till trots att Dell hävdar att det inte fungerar om man inte kör …

Läs mer

Falska säkerhetspatchar för Drupal

I många lägen är den största säkerhetsrisken idag är s.k. social engineering. Nu är det en grupp som har siktet inställt mot Drupal-sajter. Det har skett ett utskick av e-post som ser ut att komma …

Läs mer

Adressöversättning inom samma nät

Det går att adressöversätta till adresser som ligger på samma nät som originaladressen. Dock måste även avsändaradressen översättas. Antag att vi har två servrar, server A med IP 10.0.0.1 och server B med IP 10.0.0.9. …

Läs mer

Python-exempel som använder BackupPC dolda API

BackupPC är en backuplösning skriven i Perl och är öppen källkod. Det är ganska simpelt men trots det kraftfullt program. Det kan utan problem konkurrera med andra lösning såsom Bacula. En sak som inte är …

Läs mer

Tab-complete och historik i Python

Alla som håller på med Python vet hur kraftfullt det är att testköra små programsnuttar eller uttryck direkt i python-tolken. Tolken sparar även historik och man kan enkelt få fram de senaste kommandona med pil …

Läs mer

Automatisering av installationer med aptitude

Vissa deb-paket envisas med att fråga saker under installation, vilket gör att man måste ta till ett trick för att kunna installera dem via skript Varje gång en Cloudnet-server startar om återgår den till standardläge …

Läs mer

Bilduppladdningsproblem i Drupal

Felmeddelandet ”An unrecoverable error occurred. This form was missing from the server cache. Try reloading the page and submitting again.” vid bilduppladdning till en nod som ännu inte blivit sparad. Felet beror på att Drupal …

Läs mer

Posta Nagioshändelser på IRC

Okej, IRC kanske inte är världens mest moderna protokoll. Trots sin ålder och sina konkurrenter så används det fortfarande som backend i många applikationer. Dessutom är det faktiskt ett oerhört bra verktyg när man jobbar …

Läs mer

Importera .imapmbox-filer till Mail.app

Om man säkerhetskopierat filerna från sitt IMAP-konto och upptäcker att det inte var så enkelt att bara lägga tillbaka filerna finns det ett trick som fungerar för att få tillbaka breven. * Stäng Mail.app * …

Läs mer

Drupal Webform SQL injection

Det kommer en hel del säkerhetsnotiser från Drupals säkerhetsgäng. Vi läser ständigt dessa för att hålla koll på kritiska buggar och brister. Oftast, jämfört med t.ex. tidigare versioner av Joomla eller WordPress, så är det …

Läs mer

Verifiera fält med åäö

I django, liksom i nästan alla sammanhang, blir det förr eller senare problem med svenska tecken som å, ä och ö. Ofta vill man verifiera att texten i ett fält i en modell är giltigt. …

Läs mer

IPSEC-VPN mellan Linux och inGate firewall

IPSEC är väldigt användbart i många lägen, men även extremt rörigt. Tekniken har funnits länge och varierande stöds finns i de flesta brandväggar. Ofta är det inga problem mellan två enheter från samma tillverkare, men …

Läs mer

Skapa enkla X.509-certifikat med OpenSSL

Om du behöver ett självsignerat X.509-certifikat till någon tillämpning kan du enkelt skapa ett med hjälp av OpenSSL som finns i både Linux och Mac OS. Många guider beskriver hur man först sätter upp en …

Läs mer

Fjärrdebuggning av PHP med MacOS

Hur kan man debugga PHP-kod på våra VPS:er från sin Mac? Om man inte kör en integrerad IDE kan MacGDBp vara ett alternativ. MacGDBp en PHP-debugger för Mac OS som bygger på öppen källkod. Den …

Läs mer

Drush för Drupal

Drush beskrivs som en ”Schweizisk armekniv” för Drupal. Det är ett kraftfullt verktyg för kommandoraden som man kan använda till att administrera sin Drupal-sida med. Bland annnat kan man installera moduler, köra cron, göra uppgraderingar …

Läs mer

Memcache som inte cachar

Drupals statusrapport visar: Memcache admin requires that the ”cache_inc” $conf variable be set to include either memcache.inc or memcache.db.inc. Please read the installation instructions. Detta trots att cache_inc var konfigurerat i settings.php. Precis som man …

Läs mer

Testa en SMTP-server

Jag håller och konfigurerar en e-postserver åt en kund. Kunden har två olika domäner som den ska acceptera e-post för. Eftersom det är en Small Business Server 2008 med Exchange 2007 vet man aldrig riktigt …

Läs mer

Testa IPv6 redan nu

Är du en av dom som noterat att det vid dags datum endast finns 2 % IPv4 adresser kvar? För ett par månader sedan fanns det 3 %. När du läser det här kanske det …

Läs mer

Sessions-tabellen i Drupal fylls upp

Har du problem med att din sessions-tabell i Drupal fylls upp? Problemet har att göra med hur PHP/Drupal och Ubuntu hanterar s.k. sessioner. För varje inloggad besökare på din Drupal-sida så skapas en session. Den …

Läs mer