Local development in a Macbook (part 2)

I had a number of issues regarding my local development VirtualBox loaded ubuntu that I installed a few years back. Using a VirtualBox installed Ubuntu for development

Getting frustrated of trying to fix the problem (which I couldent really identify) I upgraded and updated and changed loads of stuff in the Ubuntu installation. Nothing worked.

As all my actual work is in my Dropbox, I opted for removing the Development box in the VirtualBox, and look for another solution.

http://mallinson.ca/osx-web-development/
Has a nice guide for installing Homebrew, MySQL, and use the apache2.4 and PHP delivered by OSX (yosemite)
Im just running my sites off the subdirectories in the Dropbox folder, so I skipped the dnsmasq part of that guide.

This is a LOCAL development machine, so I dont have many security conserns, this allows me to skip some fears and modify where I need.
To be able to use the Dropbox folder in apache on the Mac, I had to change the user and group for the http deamon, to my mac user:

sudo vi /etc/apache2/httpd.conf
default is _www for both user and group, but I changed it to emil/staff

Also, creating a “username.conf” in the directory:
cd /private/etc/apache2/users
sudo vi emil.conf

inserting

Thirdly, changing
sudo vi /private/etc/apache2/httpd.conf

From

To

and remember to restart the apache server to effectuate changes:
sudo apachectl restart

While trying to setup the dropbox folder as the source for my local development, I already described the solutions above, however I did run into some permission issues, and threads like these helped me get it right:
No permission to access / on this server
– And including your username as the webserver deamon executer No permission to access /~username/

WordPress brutefore login forsøg

Jeg har et par servere, hvorpå jeg får emails med advarsel om at nu er der xx antal forsøg på login.
Det plugin jeg benytter hedder “Login Security Solution” som sætter en tidsbegrænser op for hvor ofte et login kan prøves.

Nu bruger jeg så hverken “admin” eller “administrator” brugernavnene, som er dem der indtil videre er kørt “bruteforce” forsøg med, så nu vil jeg i stedet hygge mig med at logge de passwords de forsøger sig med.

Dertil har jeg lavet nedenstående filter til WordPress login funktion, og indsat i mit temas functions.php fil:

add_filter('authenticate', 'log_bruteforce_login', 100, 3);
function log_bruteforce_login($user, $username, $password)
{
$upload_dir = wp_upload_dir();
$unamearray = array('admin','administrator');
$date = date("Y-d-m H:i");

if ( in_array($username, $unamearray) )
{
$stringToAppend = $date .' '. $username .' '. $password .PHP_EOL;
file_put_contents( $upload_dir['basedir'].'/brugeforce.log', $stringToAppend, FILE_APPEND);
}
return $user;
}

og ja det er bare for sjov, jeg kunne jo også lave andre drengestreger med folk som forsøger at logge på med brugernavne som slet ikke eksistere på serveren. fx ved at smidde dem over på en anden server eller til et radom adsence click?

Add your googleplus profile image to search results for your wordpress

You can use this method to include your google+ profile image to search results on your WordPress blog.

All it takes are a few new lines of code to your functions.php file in your theme folder.
You need to allow the users to add their google+ profile link on their wordpress user profile page.
And you need to add the google+ profile author link to the header.php via the filter included in the functions.php

Then you have to make a relation between the Google+ profile and your website.

Now you need to add your website to your Google+ profile:
https://plus.google.com/u/1/user-id/about/edit/co
This will make the link between your google+ profile and your website, and it works as a kind of authentication.

Test that it is working by entering a page or a post that you authored via:
http://www.google.com/webmasters/tools/richsnippets

Ubuntu as a virtual web server using VirtualBox on MacBook Air

“Less is more” – I want to install only the absolutely necessary programs on my new MacBook Air. I believe keeping things simple is more productive. As a web developer I create a lot of projects in my web directory. I do projects for customers, some as a sourced resource, and then projects for my self. This article by Dan Adams inspired me to setup a local web server using Ubuntu on VirtualBox sparing my MBA from cluttering up – and leaving my DropBox directory as an easily sharable holder for web projects.

Download VirtualBox here and the Ubuntu LTS server here.

VirtualBox configuration

Create a Host-only bridge network and attach as adaptor 2 on the Virtual machine:
Virtualbox Preferences
Select “Network” tab
click the small “add host only network” icon
insert IPv4 address: 192.168.56.1
insert IPv4 Network mask: 255.255.255.0
At the DHCP tab, UNTICK the “enable server”

Create new Virtual Machine
On the “Network” tab, Enable Adapter 2
Select “Host only adapter”
The Adaptor name should be auto-populated with “vboxnet01”.
On the “Storage” tab, select the Ubuntu iso to be mounted in the cd-rom.
I selected 1 GB memory for this server – should be enough for OS, database, web server and APC.
Start the virtual machine, and begin Ubuntu installation.

Installing Ubuntu

Select installation language
Select to install
Select locale (language) for installed system
Select primary network eth0 (eth1 is the bridged-host, we configure this later)
Choose a hostname for your server (here we use “testhost”)
enter your full name
enter login name
enter a password x 2
select no to encrypt your home directory (you are not really going to use it)
verify the time zone
choose “guided – entire disk”
select the disk that are presented
verify the disk selection

You do not need a external http proxy
Select Install security updates automatically
Select OpenSSH server and LAMP Server
Enter a password for root/MySQL user

accept GRUB boot loader on the drive
installation is complete (press continue)

Configure the server

login using your login name and password
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install dkms build-essential linux-headers-generic module-assistant
sudo m-a prepare
sudo apt-get install uml-utilities bridge-utils
sudo modprobe tun
sudo apt-get install xserver-xorg xserver-xorg-core
sudo apt-get install virtualbox-ose-guest-x11

Installing the VirtualBox Guest Addon


This will allow sharing files between your host (mac osx) and the guest (ubuntu).
For virtualbox reference / how to setup reference.
Now on the VirtualBox window, select the icon for the cd, if the ubuntu iso is mounted, remove it. Then via the VirtualBox administration menu, select “devices -> install guest addons” – this only mounts the guest addon iso in the virtual cd-rom (it does not install it!).
In the terminal logged into the guest, enter the command
sudo mount /dev/cdrom /media/cdrom
cd /mount/cdrom
sudo sh ./VBoxLinuxAdditions.run
yes continue to overwrite some other installation (the virtualbox-ose-guest-x11)

Configure network

(using this as a reference: http://christophermaier.name/blog/2010/09/01/host-only-networking-with-virtualbox)
sudo vi /etc/hosts
insert 192.168.56.102 testhost (or whatever your hostname is)
sudo ifconfig eth1 192.168.56.102 netmask 255.255.255.0 up
sudo vi /etc/network/interfaces
insert below the others
# my testhost interface
auto eth1
iface eth1 inet static
address 192.168.56.102
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255

You also need to make sure the eth1 interface is started automatically when server restarts:
sudo vi /etc/init.d/rc
insert this at last line but ABOVE the “exit 0” line! (press G to go to last line)
ifup eth1
In your Mac terminal (the host system also needs to know the IP-address)
sudo vi /etc/hosts
and insert
192.168.56.102 testhost

Use MAC Terminal to administer your server

Now you can connect to your server via SSH, so open your mac terminal and enter
ssh testhost
accept the RSA key
enter your username and password
Now you can use copy paste which makes administration a little easier.

Removing MySQL

We do not want to use MySQL so we remove it and install MariaDB instead – its a complete substitution and everything will be working as expected, just faster :)

dpkg –get-selections | grep mysql
Remove all of the packages listed by the above command, it will most likely look like this:
sudo apt-get remove libdbd-mysql-perl libmysqlclient18 mysql-client-5.5 mysql-client-core-5.5 mysql-common mysql-server mysql-server-5.5 mysql-server-core-5.5 php5-mysql

Verify they are all removed, if not – repeat the action on the packages with the “purge” command instead:
dpkg –get-selections | grep mysql
sudo apt-get purge package-name-a package-name-b
If asked, KEEP the mysql databases – do not delete them (you do not have any data right now, but if you did this on a system that had been running for a while you could destroy your work…)

Installing MariaDB, phpMyAdmin and APC

You have to do a few manual steps to enable downloading MariaDB
Visit mariadb/repositories and select ubuntu, precise (ubuntu version 12), 5.5 (mariaDB version, latest)
sudo vi /etc/apt/sources.list.d/mariadb.list
insert the text
# MariaDB repository list – created 2012-07-16 15:10 UTC
# http://downloads.mariadb.org/mariadb/repositories/
deb http://mirror3.layerjet.com/mariadb/repo/5.5/ubuntu precise main
deb-src http://mirror3.layerjet.com/mariadb/repo/5.5/ubuntu precise main

And then get the pgp key from http://kb.askmonty.org/en/installing-mariadb-deb-files/
sudo apt-key adv –recv-keys –keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
sudo apt-get update
sudo apt-get install mariadb-server
enter password for mariadb root x 2

Verify installed packages
dpkg –get-selections | grep maria

Install phpmyadmin
sudo apt-get install phpmyadmin

sudo vi /etc/apache2/conf.d/fqdn
insert
ServerName localhost

Install APC
sudo apt-get install php-apc
sudo /etc/init.d/apache2 restart

Mounting your Host web directory on your Guest web directory

While switching my development computer from a PC to MAC, I moved lots of files to my Dropbox account. While my files are moved to this location, I figure the Dropbox account / local directory can host my files instead of duplicating them to a web directory. (I also backup to TimeMachine, in case something weird happens to the Dropbox account).

Get the ID of your apache2 user/group (its most likely 33 for both)
id www-data

Then mount the web filesystem from your host system on a directory created for the occasion on the guest os (the ubuntu server)
sudo mkdir /mnt/www
sudo mount -t vboxsf -o uid=33,gid=33 web /mnt/www
We want to make sure the filesystem is mounted automatically on system restart
sudo vi /etc/init.d/rc
Insert at the line below “ifup eth1” (and ABOVE the “exit 0” line)
mount -t vboxsf -o uid=33,gid=33 web /mnt/www

The apache2 server defaults to look for websites in /var/www
We want to use the mounted /mnt/www files, this is how:
sudo rm -r /var/www
sudo rmdir /var/www
now link the mounted directory to the apache http directory
sudo ln -s /mnt/www /var/www
sudo /etc/init.d/apache2 restart

Now you can edit your MAC files in the shared directory, and use the Ubuntu web-server to configure and serve websites and host the databases.

wordpress 3.3 wp_enqueue_scripts i tema og plugins

WordPress 3.3 har introduceret en simplificering af hvorledes scripts og styling loades i temaer.

Nu er der en logisk opdeling i “det en besøgende ser” / “når man vil logge på” / “når man er i dashboard (kontrolpanel)”.
Dette gør det nemmere, når man vil enqueue scripts og styling. Før skulle man benytte 2 filter hooks for at tildele dette, men nu kan man gøre dette således:

“wp_enqueue_scripts” benyttes til scripts / styling som vises til besøgende.
“login_enqueue_scripts” til at tilpasse login siden.
“admin_enqueue_scripts” hvis du vil loade scripts til på administrations siden.

Installer SSL på dit Surftown hostede domæne

Nu hvor Facebook kræver at ens Facebook sides iframe canvas loader via SSL (fra 1.okt 2011) har jeg haft en lille øvelse for recreative.dk som skulle overgå til SSL. (dvs. HTTPS).

Surftown har naturligvis nogle udemærkede vejledninger som kan følges til de indledende øvelser. Men jeg konstaterede at det var svært at forstå hvordan “INTERMEDIATE CA” skulle installeres, mest fordi der åbenbart benyttes forskellige termer om nogle af de “keys” man får i forbindelse med bestilling / installation af SSL.

Jeg er ingen ekspert i SSL, og på den baggrund er det måske også sjovere at gå igang med opgaven – skulle der være en fejl, eller nogle tekniske termer jeg har misforstået så sig endeligt til. Hovedsagen for mig er at løsningen virker. :)
NB: Jeg har skiftet surftowns kontrolpanel SPROG ud til ENGELSK.

Sådan gjorde jeg for at installere “DNS Validated” SSL på et domæne hostet ved surftown erherv.

1: Dit domæne skal have egen IP adresse.
Dette tilbydes kun til Surftown ERHVERV kunder.
Se vejledning “Hvordan får jeg en dedikeret ip adresse

2: Installer et temporert certifikat via surftowns kontrolpanel.
Se vejledning: Hvordan bestiller jeg SSL certifikat.
(husk at notere indholdet ned i et text dokument!)

3: På dit domæne som skal have SSL, opret email adressen “hostmaster@dit-domæne.dk”
Se vejledning: Hvordan opretter jeg en email adresse

4: Afvent at DNS for din nye IP adresse er slået igennem
– Ja der KAN gå 24 timer, så sov på det! Utålmodighed er ikke din ven. Du kan ikke fremprovokere en hurtigere løsning ved at skrive til surftown support – det er DNS servere rundt omkring i verden som også skal opdateres.
– VIGTIGT: kontroller at du kan MODTAGE email til den nye “hostmaster@dit-domæne.dk” adresse

5: Bestil dit eget certifikat
Jeg benyttede GratisDNS.dk til at bestille mit SSL (RapidSSL 2 år)
Nu hvor jeg har haft mere tid til at kigge mig omkring, ville jeg nok vælge The SSL Store som har samme varer bare billigere :)
Jeg bestilte “RapidSSL” altså UDEN Wildcard. Du skal indtaste din “hostmaster@dit-domæne.dk” som modtager af certifikatet. Og du skal bruge ØVERSTE del af den information du fik i 2 (altså den del som indeholder “BEGIN CERTIFICATE REQUEST”).
Når købs ordren er gennemført vil du modtage en email, hvor du validerer at du har købt et SSL certifikat, og at dette er din email. Herefter vil du modtage endnu en email med selve certifikatet!

6: Installer dit eget certifikat!
Og det er så her hvor Surftowns vejledning ikke stemmer – dvs følg IKKE denne vejledning: Hvordan installerer jeg mit SSL certifikat
I stedet for at følge surftowns egen vejledning (du skal IKKE disable/slette nuværende certifikat), så skal du…
a) Log på surftown kontrolpanelet.
b) Vælge “domæne Indstillinger”.
c) I domæne listens venstre side klik på pågældende domæne.
d) Udfor “SSL Support” trykker du på “Edit SSL” (på hammeren)
e) I feltet “Certificate Chain File” skal du copy/paste indholdet i “INTERMEDIATE CA” fra din email!
– husk at trykke “INSTALL”
f) I feltet for “Install Certificate based on previously generated Certificate request” copy/paster du indholdet i “Web Server CERTIFICATE” – husk at trykke “UPLOAD”

7: Verificer at certifikatet virker
– eller se hvad der mon er galt ved at benytte FairSSL.dk’s udemærkede test værktøj!
Hvis FairSSL’s værktøj viser en fejl med dit “chain” certifikat, kan du logge på RapidSSL’s hjemmeside, og få en udviddet udgave. – åben .pem filen i en tekst editor og benyt denne (som har 2 områder med krypteret indhold) i feltet beskrevet i punkt 6,e).

8: Når du har SSL installeret…
– Og hvis du benytter WordPress, så læs videre her Tips til WordPress og SSL HTTPS

Tips til WordPress og SSL HTTPS

Der skal heldigvis ikke så meget til, når du vil bruge WordPress på en sikker url (https) med SSL.
(Du har installeret SSL for dit domæne)

Selvfølgeligt kræver det, at dit TEMA er programmeret korrekt.
Interne links skal kaldes på den rigtige måde.
Når dit tema benytter WordPress funktionerne “bloginfo()” eller “get_bloginfo()”, så har WordPress allerede registreret hvilken Protocol (HTTP eller HTTPS) der benyttes. derfor bliver:

automatisk til:

Hvis du skal benytte SSL er du sikkert ikke totalt nybegynder på nettet, og har erfaring med at redigere dit tema uden at gå i panik – ellers tag kontakt til mig, eller din faste konsulent som kan hjælpe med dit WordPress problem :)

Aktiver SSL for alle urler til din hjemmeside
Først ændre du i WordPress opsætning under “Indstillinger -> Generelt” for at sætte “default url” for din hjemmeside:
a) “WordPress-adresse (URL)” samt b) “Webstedets adresse (URL)” skal begge erstatte “http” med “https” for urlen.

Installer WordPress plugin WordPress HTTPS (SSL), og aktiver dette.
Jeg benytter KUN 2 options for dette plugin:
a) “Internal HTTPS Elements” & b) “HTTPS Front Page”

Opdater din .htaccess og redirect trafik til https
Nu kan man STADIG besøge din hjemmeside UDEN https, vil du tvinge alle over på https, kan du opdatere din .htaccess fil.
Der ER nogle SEO grunde til IKKE at redirecte ALT over på din nye HTTPS. Og hvis du er SEO interreseret, så læs her SEO HTTPS and HTTP Tips.
Men hvis dit website er NYT, og der ikke er noget særligt SEO juice at beholde, så kan du ummidelbart opdater din .htaccess med 2 linier for at tvinge alle besøgende over på SSL.
Editer filen og under “BEGIN WordPress” indsætter du det sidste RewriteCond/RewriteRule par:

Hvis du oplever “https mixed mode” problemer
Så skyldes det at der stadig er referencer til HTTP (altså ikke HTTPS) i dit wordpress tema eller plugins.
Det kan være besværligt at sidde og lede efter hvad der er problemet. Du må gennemgå dine template filer, husk javascript filerne også!
kontroller bla. at dit link til google+ scriptet er HTTPS, at facebook like er HTTPS osv.. eksempel:

Test din hjemmeside og clear så cachen!
Når du som administrator har verificeret at dit TEMA er i orden – dvs: at du har besøgt hjemmesidens forskellige områder og ser at det er korrekt, at dine links i din menu virker og at der ikke mangler billeder i indæg, funktioner ved kommentarer eller kontaktformularer virker osv.. – Så skal du clearer cachen!
– Når du er logget på som administrator i WordPress, vises siderne typisk direkte – altså ikke de cachede. Men besøgende vil stadig se de cachede sider. Det udnytter vi her, så du kan lave ændringer til url struktur uden at eventuelle besøgende vil opleve ændringerne før du har verificeret at det virker.

Nu kan du så benytte dit domæne (og din wordpress) til, fx at hoste din facebook iframe canvas side :)

Din wordpress hjemmeside kører langsomt

Oplever du at din hjemmeside er langsom?
Hastighed er en relativ sag – er dine hjemmesidebesøgende lokale, eller fra den anden side af jordkloden?
Og du kan ikke regne med at fordi du bor i en boligforening med 100 mbit netværk, at så har dine besøgende også fuld fart på netværket.
Her er et par ting du kan gøre for at optimere hastigheden på din wordpress hjemmeside

  • Ryd op i temaer og plugins!
  • Hold wordpress opdateret!
  • Brug billeder i webformat!
  • Installer et cache plugin!

1. Ryd op i temaer og plugins

Du har sikkert prøvet forskellige plugins og temaer af. Nu er du tilfreds med opsætning og funktion – og har ingen planer om at ændre noget.
Slet de plugins og temaer som du ikke bruger!
Det skal du gøre fordi wordpress kontrollerer om der er kommet nye opdateringer til alle plugins og temaer, som du har liggende sammen med din wordpress installation på serveren.
Når du aktiverer et plugin eller et tema, benyttes ofte nogle “options” som gemmes i databasen. Disse bliver ikke slettet når du de-aktiverer et plugin – først når du sletter (via wordpress) bliver disse options fjernet igen. (hvis ellers plugin / tema udvikleren har styr på teknikken)
Du får altså genvundet plads på webserveren. Fjernet ubrugte opsætnings parametre. Reduceret wordpress versions check. Fjernet filer og scripts som potentielt kunne være skadelige (specielt hvis det er plugins/temaer som du ikke opdaterer fordi du ikke bruger dem).

2. Hold WordPress opdateret

Det er vigtigt for din hjemmesides sikkerhed, at du holder wordpress opdateret.

Den gratis version af wordpress som du benytter hviler på viden, teknologi og udvikling som som wordpress.com gennemgår.
Udvikling af wordpress.com står Automattic for. At det ikke “kun” er et opensource, men at der faktisk står et stort firma produktet, hjælper dig på flere måder.
Ud over at softwaren vedligeholdes og sikkerheden forbedres, så får du flere og flere fantastiske funktioner. Du får optimeret koden bag wordpress, og du kan være sikker på at softwaren har en lang levetid – du skal ikke skifte til noget andet foreløbigt!

3. Optimer dine billeder til nettet

Vi får alle sammen bedre og flere muligheder for selv at tage billeder. Og det er en rigtigt god ide at bruge billeder på hjemmesiden, men husk at tænke på den besøgende som skal hente billederne før de kan vises i deres browser!
Der findes mange måder at redigere et billede på. Nogle gange skal dele af billedet skæres helt væk. Måske skal det roteres en smule så det er horisontalt. Andre gange er det farverne som skal justeres.
Se f.eks Ole Rode’s artikler om foto til nettet, hvor han bla. beskriver hvad pixels er – og hvad de betyder for din hjemmeside.
Når du vil bruge billeder på din hjemmeside, så husk at de ikke behøver være større end de kan vises i forholdet 1:1. Dvs. hvis dit WordPress tema har en sidebredde på 600 px – så giver det ikke nogen mening at bruge dine 12 Mpix billeder i 4000 x 3000 pixels. Rediger dem så de bliver tilpasset til 600px i bredden, og gem dem enten med jpeg eller png kompression før du bruger dem på hjemmesiden.

Hvis du ikke selv kan redigere dine billeder, så kan du evt. benytte en service som
picasaweb.google.com eller mere kendte Flickr som kan bruges sammen med forskellige WordPress plugins – bonus er at du derved sparer plads og trafik på din lokale webserver.
Se også clever JPEG optimization / Clever PNG optimization

4. Installer cache på din blog

Din hjemmeside er en omgang data der sendes fra webserveren til din besøgendes browser.
Jo mindre data, jo hurtigere vises hjemmesiden!
Jeg benytter primært Hyper Cache Extended som er nemt at installere, bliver opdateret når det er nødvendigt og som ikke kræver at du skal tage stilling til alt muligt teknisk (det kan du godt, men du behøver ikke).
cache wordpress giver hurtig svartid
Når en besøgende henter din hjemmeside og caching er slået til, så vil data blive serveret via en fil eller serverens hukommelse. Caching gør at wordpress ikke skal bruge tid på at hente samme data frem fra databasen og formatere indholdet, hver gang en besøgende kigger forbi din hjemmeside.


Hvis du skal have et webhotel, så anbefaler jeg Surftown.
Surftown tilbyder et Billigt webhotel uden bøvl, høj oppetid, god kundeservice og fokus på kunderne!


Flyt WordPress til ny server

Benyt denne simple fremgangsmåde til at flytte din WordPress fra en server til en ny, fra en web host til en anden, eller fra din test computer til din kundes domæne.
– Dette er altså IKKE en vejledning i at migrere en enkeltstående WordPress ind i en Multisite WordPress installation.

Her kalder vi den WordPress du vil flytte for “GAMMEL” og din nye installation for “NY”.

Før du går igang, skal du have have adgang til både GAMMEL og NY server via FTP – det er ikke strengt nødvendigt, men det vil lette din opgave betydeligt (sparer tid).

Oprydning:
Det er god skik at når du skal flytte data, så rydder du lige op først – der er ingen grund til at flytte skraldet med over i det nye hjem.
Du kan derfor benytte denne mulighed til fx. at SLETTE indlæg / sider som du ikke har haft publiceret (draft/kladde) – husk at tømme papirkurven.
Slet billeder som du aldrig fik brugt i et indlæg/sider. (du har dem sikkert på din egen computer, og kan altid uploade dem igen).
Via WordPress administration – Slet Plugins og Temaer som du ikke bruger!
– Hvis fx. disse Plugins havde oprettet tabeller til eget brug, BØR disse også blive automatisk fjernet – dette er dog ikke 100% sikkert da mange plugin udviklere ikke har tænkt på dette.

Forberedelse
Du skal kontrollere hvorvidt din GAMMEL WordPress har “custom tables” – dvs tabeller som typisk er oprettet i forbindelse med aktivering af plugins. Altså tabeller i databasen som ikke er WordPress egne tabeller. Hvordan kan du vide om din installation har hjemmestrikkede tabeller?
– Den eneste sikre måde er at kigge i databasen, og se om der er tabeller som ikke er leveret af wordpress.. codex / 11 wp tabeller
Et WordPress Multisite har endnu flere tabeller ( 11 WP + 9 generelle Multisite relaterede + 9 tabeller for hver nyt Site ) – Igen, denne vejledning er IKKE for Multisite installationer.
Hvis du har “custom tables” bør du IKKE benytte denne metode, da WordPress eget export/import værktøj ikke kender tabellerne – og ikke vil blive behandlet.

Proceduren beskrevet her, benytter WordPress egne værktøjer til selve operationen med at eksportere data fra GAMMEL, til en FIL, og importere FIL ind i NY – og det er fedt, for så skal du ikke ud og have fat i databasen for at lave en export / søg-erstat i en sql fil efter domænenavne osv / import på ny server.

Så går vi igang!

1: FTP til GAMMEL server, og download alle filer fra din WordPress Installation.
2: På NY server: Opret eller noter database adgang – den information du skal bruge når du installerer WordPress.
3: I de FTP-hentede filer, find “wp-config.php” og ret database informationerne så de passer med dem du lige har noteret i punkt 2:
define(‘DB_NAME’, ‘din-database’);
define(‘DB_USER’, ‘database-brugernavn’);
define(‘DB_PASSWORD’, ‘brugernavns-kodeord’);
define(‘DB_HOST’, ‘localhost’);
4: Hvis der er en .htaccess fil i samme bibliotek som wp-config.php biblioteket, så SLET den!
5: I de FTP-hentede filer, SLET filerne som er i wp-content/uploads
6: På NY server: FTP upload WordPress filerne du lige har hentet fra GAMMEL server, samt den wp-config.php du lige har rettet.
– du skal “installere” wordpress, og det er som du kender det – indtast Blog-navn osv…
– log på denne NY WordPress, og se at den kører “default”
– slet WordPress default indhold (dvs. indlæg / sider / links – også fra papirkurven!)
7: På NY WordPress: Aktiver plugins og tema, se hjemmesiden og konstater at “det virker” selv uden uden indhold.
8: På GAMMEL server: Udfør en export af indhold via “Dashboard->Tools->Export” ( på dansk: Kontrolpanel->Værktøkjer->Eksporter ) – du får nu en fil gemt på din computer.
9: På NY WordPress: Benyt Import via “Dashboard->Tools->IMPORT” ( på dansk: Kontrolpanel->Værktøkjer->Importer ).
– Her bliver du bedt om at Installere pluginnet “Importer” – det siger du JA til, samt “activate and run”.
– Så skal du vælge den FIL som du fik ved step 8.
– Og vælge at importere ALT
– Og vælge at DOWNLOADE attachemnts. (så får du også overført billeder/dokumenter til dit upload bibliotek igen!)
10: På NY WordPress: Rediger evt “pretty permalinks” og andre indstillinger så som datoformat.
11: Kik på din NYe hjemmeside – ser det rigtigt ud? super!

12: Mangler billeder? Hvis du flytter fra en lokal kopi, en udviklings udgave på din egen computer – så kan wordpress importeren IKKE hente billeder og medier op til internet udgaven automatisk. Du skal derfor selv FTP filerne fra din gamle (dvs. din lokale) /wp-content/uploads folder til din nye server. Derefter skal du installere og benytte et plugin “search and replace” for at rette databasens “gamle adresse” til din ny webserver.

Se også http://codex.wordpress.org/Moving_WordPress Som på en lang og kringlet måde beskriver forskellige procedurer for at flytte en WordPress blog samt Multisites.

Favorite CSS3 buttons and techniques to cut development time

Buttons
These buttons look great in chrome and other native css3 browsers, they work in IE but dont have rounded corners.

papermashup.com
http://papermashup.com/pretty-css3-buttons/

zurb.com
http://www.zurb.com/blog_uploads/0000/0617/buttons-03.html

Some contenders to use, If you dont care about Internet Explorer at all – these buttons dont work at all in IE – however they look outstanding in CSS3 browsers:
http://www.wearepico.com/buttons/

Menu
Crossbrowser CSS dropdown menu
http://www.webdesignerwall.com/demo/css3-dropdown-menu/

– building on this post when i find worthy elements i use.