Rätt permissions på filer i WordPress

Standard

I WordPress finns det en del funktionalitet där servern måste kunna skriva till filerna i din installation. Exempelvis då du installerar ett nytt tillägg. För att allting ska fungera ordentligt kommer du antagligen behöver trolla lite med permissions.

Se till att din användare är med i gruppen www-data:

sudo adduser `whoami` www-data

Därefter måste du sätta servern som ägare. Om WordPress inte är ägare till filen/mappen som ska ändras måste du ange FTP-detaljer. Det vill vi inte.

sudo chown www-data:www-data -R ~/path/to/wordpress.dev

Slutligen bör permissions ligga på 775 i säkerhetssyfte.

sudo chmod 775 -R ~/path/to/wordpress.dev

En aning knöligt faktiskt. Kom ihåg att du måste logga in igen för att ändringarna på ditt konto ska träda i kraft.

Datum och tid med HTML5

Standard

HTML5 kommer med en hel del semantiska förbättringar. Det är inte ett krav att ändra på någon tidigare markup, äldre HTML validerar fortfarande som HTML5. Skillnaden numera är att det finns många enklare och mer semantiska lösningar på många vanliga designmönster, eller situationer, som man stöter på i HTML.

En vanlig situation är att man vill visa datum, och eventuellt tid, då en artikel publicerats. Tidigare lösningar har varit typ en div med någon klass som talar om att det är ett timestamp däri. Såhär skrivs det på ett bra sätt i HTML5:

<time datetime="2013-08-03 13:37" pubdate>Augusti 3, 2013</time>
  • datetime är för "maskinläsning". Det som är läsbart för människor finns i taggen, gör vad du vill med det formatet.
  • pubdate användas för att tala om att det här är publiceringsdatum för närmaste article uppåt i hierarkin. Om den här time-taggen inte är nestlad i någon article gäller timestampet för hela dokumentet.

När det gäller själva klockslaget finns det en hel del man kan göra. Nu visade jag bara det enklaste möjliga. Ännu enklare är ju att helt utlämna det... Man kan jobba med tidszoner osv, läs mer på länkarna bifogade nedan.

I WordPress

Jag använder mig mestadels av WordPress, och såhär har jag inkorporerat time:

<time datetime="<? the_time("Y-m-d") ?>"  pubdate>
	<? the_time(get_option('date_format')) ;?>
</time>

Installera zlib i Linux Mint

Standard

Jag har suttit med det här ett bra tag nu, och nu precis tror jag att jag fick till det. Från början ville jag använda Grunt. Då blev det fel vid SASS-kompileringen och jag fick veta att jag behövde Ruby och Compass i min PATH. Jag har inte pillat så mycket med Ruby, gems och allt vad det heter tidigare, så allt det är lite nytt och obekvämt för mig.

Installera Compass alltså. http://compass-style.org/install/ gav mig gem install compass. Najs, det verkar ju inte så farligt. Men då fick jag ytterligare något att brottas med. Tydligen behöver man någonting som heter zlib, vilket jag aldrig hört talas om tidigare. Flertalet SO-frågor och forumlänkar senare hittade jag lösningen som fungerade för mig. Tack.

http://camtyler.com/development/ruby/install-rails-on-linux-mint-14

Enkelt för många kanske, det här är mer en kom-ihåg-post för min egen del.

SSH-sessioner fryser

Standard

Om du sitter med en SSH-session kommer antagligen någon gång uppleva att den fastnar. Om du inte är aktiv på en stund så dör uppkopplingen, utan att den visar några tecken på det.

Det här problemet uppstår då din klient inte gör några som helst försök till att hålla kopplingen levande. Lösningen finns alltså i att helt enkelt be om att kopplingen får leva vidare. Rent tekniskt skickas små paket med ett angivet antal sekunders intervall till servern. Problemet går antagligen att lösa med en rad i en viss liten fil.

Jag gillar terminalen och Vim, därför gjorde jag enligt följande. Det går såklart bra med vilken editor som helst.

vim ~/.ssh/config

Klistra in följande: ServerAliveInterval 10. Spara och stäng.

Det här talar om hur många sekunder systemet ska vänta mellan varje ping. Om det här inte skulle fungera kan du prova något annat intervall, men för mig fungerar det såhär. Nu ska problemet vara löst, och dina SSH-sessioner kommer leva vidare.

Spoofa din MAC-adress

Standard

Jag har kommit fram till att min dator har två olika MAC-adresser. En självklarhet för vissa kanske, men jag hade ingen aning om det sedan tidigare. Som en parantes kan jag nämna att jag sitter med en Macintosh. Följande princip är den samma över andra typer av datorer också skulle jag tro.

Jag stötte på problem då jag har en lokal WordPressinstalltion som beror HELT på att jag behåller en konstant IP-adress. Jag har konfigurerat min router till att hela tiden ge mig samma IP-adresser. Med det som grund har jag kunnat installera WordPress med min lokala IP som domän. På så sätt kan jag nå installationen ifrån, exempelvis, min telefon. Det i sig är grymt smidigt i utvecklingen för mobila enheter.

Såååååå, när jag kopplar upp mig via Wifi har jag en annan MAC-adress och då en annan IP-adress, i och med att den jag får via Ethernet är reserverad för just den MAC-adressen. Jag vill ha en gemensam MAC-adress, så därför spoofar jag min Wifi-MAC till att vara exakt samma som min Ethernet-MAC.

Båda adresserna finns annars under Systeminställningar > Nätverk > Ethernet/Wi-fi > Maskinvara. Kommandot ifconfig en1 | grep ether ger datorns nuvarande Wifi-Mac-adress. Kör ifconfig en0 för att plocka fram Ethernet-adressen.

Till själva spoofingen. Kör följande kommando: sudo ifconfig en1 ether aa:bb:cc:dd:ee:ff. Det här sätter alltså min Wifi-MAC-adress till angivna aa:bb:cc:dd:ee:ff. Det går såklart lika bra att göra samma sak åt andra hållet, med en0 som parameter då istället.

Om du någon gång skulle vilja ha en random MAC-adress finns det här.

Kör ifconfig en1 | grep ether för att kontrollera att allting fungerade.

För att återställa addressen till vad den tidigare var kan du såklart köra samma sak igen, med originaladressen. Det går också bra att starta om datorn, då återställs adressen. Jag skulle vilja behålla det här över omstart, det har jag inte hittat någon lösning för ännu...

Vertabs 1.3

Standard

Det var ett bra tag sedan jag uppdaterade Vertabs. Men nu äntligen fick jag ut lite ny kod. Jag skrev i ett tidigare inlägg om mitt mål för Vertabs under 2013. Det ser ut att lösa sig redan under första kvartalet. Det är alltid kul att nå mål, men jag känner att jag ändå vill ha något nytt att sikta på. Därför tänkte jag istället försöka nå 1000 användare av Vertabs under året. Det kanske är lite väl högt, men det gör egentligen ingenting.

Jag vet att Vertabs är en aning buggigt, men jag tror starkt på att det kan bli ett verktyg som faktiskt är användbart. Jag måste bara ta mig i kragen och investerar lite mer tid i det.

1.3 rör följande:

  • Renare UI. Jag har putsat en aning på gränssnittet och försökt snygga till det lite.
  • Data sparas nu istället i Chromes egen "wrapper" till localStorage. Det innebär att data kan synkas med din Chrome-inloggning. Jag kan även spara fin JSON istället för strängar som man fick klara sig med i localStorage.
  • Jag har filat på hur inställningarna hanteras, och de ska nu vara mindre buggiga. Inställningar injiceras direkt in i alla Vertabs-instanser.
  • Jag valde nu att bara visa välkomstskärmen när en användare installerar. Hela grejen med automatisk uppdatering är att man ska slippa bry sig om att det sker. Changelog finns på inställningsskärmen.
  • Jag har smugit in lite uppmaningar om att rapportera buggar, och även idéer, direkt till mig.

Ladda ner Vertabs