Familien Schøler’s blog

Lidt af hvert fra hverdagen hos Michael, Kamilla, Marie og Katrine Schøler

WordPress site lagt om fra ISO-8859-1 (Latin 1) til UTF-8 enkodning

Pyyyyyyyyhha… Det var sq’ nervepirrende!

For en time siden påbegyndte jeg omlægning fra ISO-8859-1 til UTF-8 enkodning af denne hjemmeside. Og hvorfor er det så vigtigt? Jo, det er det fordi der dags dato også er blevet opgraderet WordPress version fra 2.6.5 til version 2.7. Den nye version 2.7 kunne ikke li’ ISO-8859-1 enkodningen der tidligere blev anvendt, hvilket dog kun gav sig udslag i en enkelt RSS-feed læser i administrationsinterfacet. Desuden er UTF-8 et større tegnsæt at anvende, og det var i sin tid en fejl der overhovedet blev sat ISO-8859-1 idrift på denne side.

ISO-8859-1 række...

Sådan skete omlægningen, der teoretisk set burde være helt ens for uanset din version af WordPress:

  1. Tag en backup af din wordpress database (jeg lavede en komplet export via phpmyadmin)
  2. Tag endnu en backup af din WordPress database (jeg anvendte her plugin’et WP-DB-BACKUP)
  3. Er du tilstrækkeligt paranoid og/eller stærk i troen hvad angår Murphy’s lov, så gentag punkt 1 og 2 til mere end en harddisk og/eller usb nøgle som jeg.
  4. Opret filen index.html i roden af din WordPress mappe – og skriv en besked heri om at hjemmesiden er midlertidigt nede pga. vedligeholdelse
  5. Ret filnavnet i WordPress mappen fra index.php til _index.php
  6. Start phpmyadmin eller tilsvarende administrativt DB interface
  7. Lav en export af samtlige wordpress tabeller, og sørg for ikke at gemme “CREATE TABLE” instruktioner til den resulterende SQL fil der kun må indeholde inserts efterfølgende
  8. Behold phpmyadmin/db-interface åbnet og åben så den eksporterede SQL fil i en UTF-8 kompatibel editor, f.eks. Notepad++
  9. Tving filen i UTF-8 tilstand, og verificer at special tegn såsom Æ ØÅ æøå ser korrekte ud
  10. Søg efter “blog_charset”, og ret værdien “iso-8859-1″ til “UTF-8″
  11. Gem SQL filen og luk Notepad++
  12. Vend tilbage til phpmyadmin/db-interface og tøm samtlige WordPress tabeller
  13. Gå lidt i panik – din blog er nu slettet helt, og du har selv gjort det!
  14. Ret collation for alle WordPress tabellerne, en efter en, fra “latin1_danish_ci” til “utf8_danish_ci”, både på kollone niveau og default collation
  15. Importer nu SQL filen til WordPress databasen (det er vigtigt filen ikke indeholder CREATE TABLE, da disse instruktioner sætter collation tilbage til iso.8859-1 !)
  16. Tilpas din wp-config.php så du er sikker på den indeholder linien “define (‘DB_CHARSET’, ‘utf8′);”
  17. Slet index.html og omdøb _index.php til index.php
  18. Kryds fingre – det skulle være det!

En stor tak til Jakob Kruse for hjælpen iøvrigt!

Undgå Fullrate frustrationer over at have egen server

Nu er jeg ved at være igennem alle de “problemer” som der umiddelbart er med at konfigurere og opsætte egen server på Fullrate’s netværk (håber jeg). Som sådanne kan Fullrate ikke klandres for noget, måske lige undtaget at de kunne have leveret ZyXEL routerne med en anden standardopsætning. Nuvel, det er fabriksindstillingerne de leverer, og man kan pille i alt, så det er faktisk slet ikke så skidt igen – bare man lige ved hvad man gør, eller kan få lidt hjælp til det, hvilket jeg håber dette indlæg på min blog vil kunne yde dig.

Det vigtigste punkt for at have egen server er at man kan kan se at det virker, også lokalt. Og det kan man ikke med standardopsætningen af routeren fordi loopback her er deaktiveret. Det skal derfor sættes op som noget af det første:

Start en kommandoprompt og skriv “telnet 192.168.1.1″ herefter anmodes du om dit Fullrate login-kodeord. For Fullrate kunder kan det oplyses at der ligger et ganske glimrende og meget mere detaljeret skriv om hele opsætningsproceduren i Fullrate forummet.

Skriv følgende når kodeordet er indtastet:

Fullrate> ip nat loopback on
Fullrate> sys edit autoexec.net

Nu skal autoexec.net filen redigeres med routerens indbyggede udgave af teksteditoren vi du netop har startet, dette gøres således:

Tast i for at indsætte en ny linie og derefter skrives nedenstående kommando
ip nat loopback on
Tast x for at gemme og afslutte editoren
Efter genstart af routeren vil NAT LOOPBACK være aktiveret.

Ovenstående er skrevet af Søren, Fullrate Support

Skriv så exit (og tryk enter) for at logge af routeren igen.

Således vil det fremstå i kommandoprompt-vinduet:

C:\>telnet 192.168.1.1
Password: **************
Copyright (c) 1994 – 2006 ZyXEL Communications Corp.
Fullrate> ip nat loopback on
Fullrate> sys edit autoexec.net
EDIT cmd: q(uit) x(save & exit) i(nsert after) d(elete) r(eplace) n(ext)
: ip nat loopback on
Fullrate> exit

Herefter kan kommandoprompt-vinduet lukkes.

Din router er nu opsat til at anvende loopback, og at genindføre loopback når routeren genstartes. Når der senere foretages et fysisk router reset eller en firmware-opgradering skal man muligvis igennem hele møllen en gang til.

Routeren er efter ovenstående procedure opsat med denne autoexec.net fil:

ip nat loopback on
sys errctl 0
sys trcl level 5
sys trcl type 1180
sys trcp cr 64 96
sys trcl sw off
sys trcp sw off
ip tcp mss 512
ip tcp limit 2
ip tcp irtt 65000
ip tcp window 2
ip tcp ceiling 6000
ip rip activate
ip rip merge on
ppp ipcp compress off
sys wdog sw on
ip icmp discovery enif0 off
bridge mode 1
sys quick enable
ether driver qroute 2

Næst herefter skal du port-forwarde alle de tjenester du ønsker din server skal varetage, f.eks. FTP, HTTP, remote desktop og lignende. Dette gøres nemt ved hjælp af det grafiske web-interface i routeren. En grundig vejledning findes på Fullrate’s support hjemmeside.

Det er ydermere essentielt at du har opsat et evt. domæne til at pege på din globale IP-adresse. Du kan se din globale IP adresse ved at tilgå f.eks. http://www.myip.dk.

Du skal nu konfigurere dit domænes ANAME record således det peger på denne IP adresse.

A record indstillinger:

Host: Angiv dit.domænenavn.dk
IP: Angiv din globale ip adresse
TTL: Sæt lavt indledningsvist så rettelser slår hurtigt igennem f.eks. til 3600 (1 time).

Når disse ændringer er trådt i kraft på DNS systemerne skal opslag med nslookup for dit domæne returnere din globale IP adresse:

C:\>nslookup dit.domænenavn.dk
Server: dns3.fullrate.dk
Address: 89.150.129.4

Non-authoritative answer:
Name: dit.domænenavn.dk
Address: din globale IP adresse

Det skulle vist være det.

Server up and running again – så kører serveren igen!

After changing our Internet provider from Cybercity to Fullrate the server has been without an Internet connection for about 48 hours :-S First and foremost, Cybercity cut the connection 1 day ahead of schedule, and second there were some minor DNS configuration issues after the Fullrate connection was established I had to take care of. Nearly everything runs again now, perhaps besides the www.schøler.net domain which is currently unavailable from Fullrate’s DNS server. If you experience access problems use www.famschoeler.dk or michael.hinnerup.net instead. We have been happy with Cybercity, but their prices are just not competitive anymore. Fullrate’s 20 Mbit/s down and 1 Mbit/s up plus an ip-telephone subscription costs far less than the 8 mbit / 768 kbit (with no ip-telephone subscription) we had before at Cybercity.

Efter at have skiftet fra Cybercity til Fullrate har vores Internetforbindelse været nede i snart 48 timer :-S Det gik først og fremmest galt med at forbindelsen blev lukket 1 dag for tidligt af Cybercity, og der har været knas med DNS-opsætningen i en kort periode efterfølgende vi fik Fullrate forbindelsen igang som jeg dog har fået styr på. Nu lader alt til næsten at være på plads igen, dog måske pånær www.schøler.net der fortsat er ude af drift fra Fullrate’s DNS servere. Har du problemer med at tilgå siden, benyt da istedet www.famschoeler.dk eller michael.hinnerup.net. Vi har været glade nok for Cybercity, men deres priser er simpelthen ikke længere konkurrencedygtige. Den 20 mbit/s ned og 1 mbit/s op forbindelse samt ip-telefoni vi har hos Fullrate nu er langt billigere end den tidligere 8 mbit / 768 kbit forbindelse (uden ip-telefoni) hos Cybercity.

Update / opdatering (12-01-2008 12:40):
The domain www.schøler.net should work again now.
Så virker www.schøler.net vist igen.

Wordpress opgraderet fra 2.0.9 til 2.0.10

Så er endnu en opgradering gennemført uden gnidninger. Denne gang er der tale om flere sikkerhedsmæssige opdateringer, og du bør derfor hurtigst muligt opdatere din Wordpress installation.

Ligesom sidst skulle diff filen blot hentes og placeres i roden af din Wordpress installation, denne gang dog kun en – fra version 2.0.9 til 2.0.10. Husk at ændre fra UNIX CR format til DOS CR format, f.eks. med Ultraedit.

Kør så kommandoen:

patch -p 0 --dry-run < wordpress-2.0.9-to-2.0.10-changes.diff
og, hvis alt går godt kør så:
patch -p 0 < wordpress-2.0.9-to-2.0.10-changes.diff