Familien Schøler’s blog

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

Test indlæg skrevet fra min Android

Jeg sidder i Jakob’s nye Toyota Avensis på vej hjem fra Billund, med Jakob bag rattet. Mens han tester hans nyvundne kørekort/køreevner, kan Jeg da passende lige teste om man kan blogge mens man er på farten via min Android baserede HTC Hero.

Hent Wordpress fra Android market hvis du selv vil lege med.

Server opgraderet og nyt layout til hjemmesiden

Så er serveren der trækker læsset opgraderet. En ekstra fordel (meget COP15 agtigt) er at vi burde slippe afsted med at bruge væsentligt mindre strøm, da strømforsyningen på den nye server skulle være meget bedre og trække færre Watt (ca. 65W) end vores 6 år gamle server der kunne bruge helt op til 450W ved maksimal ydelse og i gennemsnit lå på et 120W forbrug alle 24 timer i døgnet, 7 dage om ugen, og 365 dage om året.

Yderligere er wordpress temaet/layoutet udskiftet. Nu ser vi om det holder ved, eller om det gamle skal retur igen. Lad endeligt høre hvad du/I synes om det nye layout i kommentarfeltet.

Wordpress 2.9

Så er der ganske begivenhedsløst opgraderet til wordpress v2.9.

Opdatering 12-01-2010: Og nu er der opgraderet til v2.9.1.

Wordpress 2.8 og opgradering fra PHP 5.2.1 til 5.3.0

Så kører dette site med wordpress 2.8 (opgraderet fornyligt, og iøvrigt helt uden problemer) og nu også med PHP 5.3.0 som udkom dags dato.

PHP 5.2.1 til 5.3.0 opgraderingen var langt fra problemfri, så her følger lige en uddybning af de skridt der var nødvendige for at gennemføre opgraderingen til evt. gavn for andre.

Start med at tage en backup af ALT. Både din apache installation, mysql installation + export af alle data, din php installation og din htdocs mappe. Så er du rimelig godt stillet skulle alt fejle.

MySQL opsætning

Check om MySQL password tilstanden kører med den gamle eller den nye password-længde:

Hvis din MySQL daemon kører som en service så stop den.
Start “mysqld.exe –skip-grant-tables” fra en kommando prompt.
I en ny kommando prompt skal du nu starte “mysql.exe -u root”, og indtast så følgende:

c:\mysql\bin>mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 1 to server version: 5.0.27-community

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select PASSWORD('helloworld');
+----------------------------+
| PASSWORD('helloworld')     |
+----------------------------+
| 6c755a9e66debe8a           |
+----------------------------+
1 row in set (0.02 sec)

Hvis OG KUN HVIS du ser ovenstående resultat anvender din mysql installation den gamle password-længde, og du skal derfor opgradere dine privilege tabeller. Kig efter i script mappen i din mysql rodmappe, her bør du kunne finde filen “mysql_fix_privilege_tables.sql”. Kopier denne fil ind i mysql/bin mappen, og start så mysql.exe med følgende parametre fra en kommando prompt:

c:\mysql\bin>mysql -u root --force mysql < mysql_fix_privilege_tables.sql
...
ERROR 1060 (42S21) at line 282: Duplicate column name 'Create_routine_priv'
ERROR 1060 (42S21) at line 283: Duplicate column name 'Create_routine_priv'
ERROR 1060 (42S21) at line 284: Duplicate column name 'Create_routine_priv'
ERROR 1060 (42S21) at line 289: Duplicate column name 'Alter_routine_priv'
ERROR 1060 (42S21) at line 290: Duplicate column name 'Alter_routine_priv'
ERROR 1060 (42S21) at line 291: Duplicate column name 'Alter_routine_priv'
ERROR 1060 (42S21) at line 293: Duplicate column name 'Execute_priv'
ERROR 1060 (42S21) at line 294: Duplicate column name 'Execute_priv'
ERROR 1060 (42S21) at line 306: Duplicate column name 'max_user_connections'
@hadCreateUserPriv:=1
...
ERROR 1060 (42S21) at line 315: Duplicate column name 'Create_user_priv'

Ignorer alle advarsler og fejlbeskeder der kommer efter at have afviklet kommandoen. Alt er godt.

Nu bør du kunne se en længere hash-værdi for passwords i mysql klienten:

c:\mysql\bin>mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.27-community

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select PASSWORD('helloworld');
+-------------------------------------------+
| PASSWORD('helloworld')                    |
+-------------------------------------------+
| *D35DB127DB631E6E27C6B75E8D376B04F64FAF83 |
+-------------------------------------------+
1 row in set (0.00 sec)

Slutteligt skal du resette alle dine mysql bruger passwords. Typisk har man kun root brugeren oprettet til en simpel apache/wordpress installation, men har du selv oprettet flere brugere skal du huske at opdatere disse. Dette gøres således:

c:\mysql\bin>mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.27-community

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> UPDATE mysql.user SET Password=PASSWORD('myNewPw') WHERE User='root';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

Hvis du benytter mysql som en service, luk så mysqld.exe ned, og genstart din daemon service igen.

Installation af PHP5.3.0

Stop din apache daemon.

Omdøb din gamle php mappe til fx php521.

Opret en ny php mappe og kopier alle filerne fra den nye PHP 5.3.0 distribution herind. Du skal hente VC60 udgaven til apache, da det er den eneste der fungerer hertil. Jeg valgte Thread safe udgaven der kan hentes herfra.

Slet dine gamle php.dll og lib filer fra din apache/bin mappe (disse kan ved nyere installationer også være placeret direkte i php mappen, i så fald kan du springe dette punkt over). Kopien af din gamle php.ini skal du lige holde fast i, for der skal muligvis skrues på nogle indstillinger i den php.ini-production der medfølger PHP 5.3.0 der er specifkke for din gamle opsætning der ikke dækkes af denne opsætningsgennemgang.

Kopier php.ini-production filen ind hvor din gamle php.ini lå og omdøb filen til php.ini.

Følgende værdier skal ændres i php.ini filen (husk at checke om du evt. selv har sat yderligere tilpassede værdier i din gamle php.ini):

short_open_tag = On
zlib.output_compression = On
post_max_size = 16M
extension_dir = "C:\php\ext\"        (Sæt til stien for din php installation!)
mysql.default_port = 3306
mysql.default_host = localhost
mysqli.default_host = localhost

Følgende extensions er rare at have aktiveret pr. default i php.ini (og visse er påkrævet af wordpress og mysql):

extension=php_exif.dll
extension=php_gd2.dll
extension=php_gettext.dll
extension=php_imap.dll
extension=php_mbstring.dll
extension=php_ming.dll
extension=php_mssql.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_soap.dll
extension=php_sockets.dll
extension=php_sqlite.dll
extension=php_xmlrpc.dll
extension=php_xsl.dll
extension=php_zip.dll

Start nu din apache daemon igen.

Placer en fil i htdocs mappen med følgende indhold (navngiv f.eks. phpinfo.php):

<?php phpinfo(); ?>

Åben nu filen i din browser, f.eks. fra adressen http://localhost/phpinfo.php, eller hvor du nu har placeret filen.

Check at følgende extensions er aktiverede: gd2, gettext, mysql, mysqli og mysqlnd.

Placer nu en testdb.php fil i din htdocs mappe med følgende indhold (jf. det login du har opdateret i mysql, eller som du iforvejen har anvendt i din opdaterede mysql installation):

<?php
$link = mysql_connect(
  'localhost:3306',
  'root',
  'myNewPw'
);
if (!$link) {
    die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>

Check at http://localhost/testdb.php viser teksten “Connected successfully”.

Så skulle du være klar, og din wordpress kører nu med PHP 5.3.0 og en ny mysql password authentication metode.