Kategoriarkiv: Programmering

Förenkla ägande av utvecklingssiter

Jag kan inte vara den enda som arbe­tar med Word­Press och blir litet smått irri­te­rad på att behöva fylla i FTP-uppgifter, och fram­för allt om man arbe­tar lokalt så finns det ingen FTP. Det man kan göra är att se till så att använ­da­ren som webb­lä­sa­ren använ­der (i många fall www-data) är ägare och grupp till alla filer.

Detta är ju jät­te­bra, tills man 1) Inser att den nya temp­la­ten man ska­pat ägs av ens egen använ­dare och/eller 2) Man inte längre kan ändra filer. Lös­ningen är enkel.

Först, se till så att du till­hör grup­pen som webb­lä­sa­ren använ­der (här för­ut­satt att vara www-data).

Ctrl+Alt+T för att få upp ter­mi­na­len, och sedan

sudo usermod -a -G www-data <user>

Notera: Starta om datorn efteråt.

För att kon­trol­lera så att grup­pen är tillagd, skriv groups <user> i ett terminalfönster.

Nu behövs två kom­man­don för att få detta att fun­gera. Först, rekur­sivt ägande av den spe­ci­fika map­pen. OBS: kom­man­dona här (chown and chmod) kan skada din dator om du inte är för­sik­tig. Se till så att map­pen som du änd­rar är exakt den map­pen som ska änd­ras, inte någon­ting annat. Du behö­ver antingen vara inlog­gad som root eller använda sudo för att köra dessa kom­man­don, av den anledningen.

Först:

chown -R www-data:www-data /home/user/folder

  1. chown — change file owner and group (ändra filä­gare och grupp), se man chown för detaljer
  2. -R — Rekursivt
  3. <owner>:<group>, i detta fall www-data:www-data
  4. Sök­vä­gen till map­pen. Om du inte är inlog­gad som rot kan du använda ~/folder om den lig­ger i din hem­mapp. Stan­dard­plats bru­kar vara /var/www/<någonting>

Nu “ägs” filen av www-data, vil­ket leder till den andra modi­fi­ka­tio­nen, som nog inte bör ligga på live: Grup­pen ska kunna skriva till filerna också:

chmod -R g+w /home/user/folder

  1. chmod — change file mode bits (ändra filens typ­vär­des­bi­tar). På ren svenska: Ändra filens tillå­tel­ser, se man chmod för detaljer
  2. g+w — Lägg till skriv­rät­tig­he­ter (w, write) till grup­pen. Andra vär­den är u=user, a=all, använd - för att ta bort rät­tig­he­ter. Andra rät­tig­he­ter är r=read och x=execute

Bash­script

Jag är lat och har trött­nat på att skriva dessa kom­man­don varje gång, så här kom­mer mitt bash­script, spa­rat i ~/bin som www-permissions.sh. Det körs med ./bin/www-permissions.sh /sökväg/till/mappen/som/ska/ändras

#!/bin/bash
# Small script to chown and chmod a folder to www-data
DIR=$1

sudo chmod -R g+w ${DIR} && sudo chown -R www-data:www-data ${DIR}

För att det ska kunna köras, använd kom­man­dot chmod +x ~/bin/www.permissions.sh

Ordvits på att ett system buggar

Internet Explorer 9 float bug

Idag har jag varit på insekts­jakt! Desig­nen till en sida jag job­bar med var snygg i Chrome och Fire­fox, så hyf­sad man kunde för­vänta sig i IE8, och sedan kol­lade jag IE9

Åh jis­ses. Hela lay­ou­ten var helt ur led, med en float: left till höger, och side­ba­ren (float: right) nere på nästa rad.

Enter Google! Det visade sig att det finns/fanns en bug i IE om man har antingen 1) för­äl­der utan fast bredd eller 2) för­äl­der med mar­gin: auto.

Jag hade 2), men vem vill låta bli en cen­tre­rad lay­out? Jag fort­satte Googla. Slut­li­gen såg jag en intres­sant trend… Många med detta pro­blem hade en fel­ak­tig doctype.

Det hade ju vis­ser­li­gen inte vi, men i despe­ra­tion skrev jag DOCTYPE istäl­let för doc­type, dvs med stora istäl­let för små bok­stä­ver. Då fun­ge­rade layouten.

Så, för att sam­man­fatta: Inter­net Explo­rer ham­nar i quirks­mode om doc­type är skri­vet med små bokstäver.

PS: Ifall någon vet vem som gjort bil­den jag använ­der så skulle jag vara tack­sam över att få reda på det. Den har legat i map­par på mina dato­rer sedan cirka –96, och konst­nä­rens första namn är tro­ligt­vis “Åke”.

Ändra Gedit-terminalens färger

I Ubuntu Pre­cise finns en mindre bug som gör att ter­mi­na­len i Gedit inte är läs­bara. I sökan­det efter lös­ningen (och efter snyg­gare fär­ger) hit­tade jag föl­jande fråga som täckte en större fråga.

Mitt val var att sätta upp en ter­mi­nal som i mångt och myc­ket ser ut som Cobalt, det färgschema jag använ­der. Alltså blir det det följande:

  1. Instal­lera dconf-editor om den inte redan är instal­le­rad (i ubuntu: sudo apt-get install dconf-editor)
  2. Öppna dconf-editor och navi­gera till org » gnome » gedit » plugins » terminalSkärmdump av dconf-editor
  3. Som synes har jag en mörk­blå färg som bak­grund (#001b33) och en ljus­grå färg som text (#fefefe). Jag har valt att inte använda temats fär­ger, eftersom dessa inte är helt läs­bara. Palette kan man sätta till olika fär­ger, men jag är nöjd med de fär­ger som jag har lagt in här.

Gedit++

Upp­da­te­ring: Vissa änd­ringar i plu­gins Jag sit­ter på Ubuntu, som har kom­mit upp tidi­gare. Just nu är det 10.04, men jag och min pojk­vän job­bar på att instal­lera om våra respek­tive dato­rer och sedan byta så att han har min sta­tio­nära och jag har hans bär­bara. Han är hemma mer än vad jag är, så det är ganska vet­tigt. Men, nu var det inte om Ubuntu, utan om vad jag använ­der när jag kodar, näm­li­gen Gedit. Egent­li­gen tror jag att det ska skri­vas gEdit, eftersom det är en tex­tre­di­ge­rare för Gnome, men jag tyc­ker det låter så myc­ket sötare med “gedit”, hårt g givet­vis. …Efter denna lilla paren­tes så åter­går vi till min setup <.<

Grund­läg­gande plugins

  • Exter­nal tools
  • File Brow­ser
  • Insert Date/Time
  • Pyt­hon console
  • Quick open
  • Snip­pets
  • Sort

Addons från gedit-plugins

  • Book­marks
  • Brac­ket Com­ple­tion Just den här använ­der jag expli­cit inte, eftersom den inte fun­ge­rar med en plu­gin som nämns senare
  • Char­map
  • Code Com­ment
  • Color pic­ker
  • Com­man­der
  • Draw spa­ces
  • Join lines/ Split lines
  • Ses­sion Saver
  • Smart Spa­ces
  • Tag List
  • Ter­mi­nal
  • Word com­ple­tion

Övriga plu­gins