Van KPN Internet Thuis Instap naar Alles-in-1 Standaard

Helaas is op het adres waar ik woon geen TV kabel beschikbaar dus zijn we aangewezen op internet via de telefoonlijn. Hiervoor heb ik jaren gebruik gemaakt van het KPN Internet Thuis Instap pakket. Dit pakket heeft een download snelheid van 20 Mbit/s en een upload snelheid tot 2 Mbit/s.

Als webdeveloper merk ik zo nu en dan toch dat de 20 Mbit/s niet heel snel is. Vandaag ben ik daarom overgestapt naar het Alles-in-1 Standaard pakket van KPN. Dit pakket heeft een download snelheid van 60 Mbit/s en een een upload snelheid tot 6 Mbit/s. Bij het bestellen stond echter wel de volgende opmerking:

Op dit adres is de maximaal haalbare internetsnelheid 36 Mbit/s down en 6 Mbit/s up.

Ik ben erg benieuwd of na de upgrade, die pas over een paar weken actief zal zijn, mijn internetsnelheid is verbeterd. Ik heb daarom de snelheid even gemeten met een aantal tools:

Speedtest.net

Speedtest.net geeft momenteel een download snelheid van 8,66 Mb/s en een upload snelheid van 1,41 Mb/s.

http://www.speedtest.net/my-result/5537965661 Speedtest.net resultaten

Speedtest.nl

Speedtest.nl resultaten

KPN Speedtest

KPN Speedtest geeft momenteel een download snelheid van 12,56 Mbps en een upload snelheid van 1,54 Mbps.

kpn-speedtest-results

Ik ben erg benieuwd of na de upgrade de download snelheid in de buurt komt van de 36 Mbit/s. Zodra de upgrade door KPN is uitgevoerd zal ik dit bericht voorzien van een update.

Problemen met MariaDB versie 10.1.16 op OS X El Capitan

In het bericht “Problemen met MariaDB versie 10.1.8 op OS X El Capitan” schreef ik al eerder over problemen met MariaDB. Inmiddels heb ik MariaDB bijgewerkt naar versie 10.1.16 met behulp van Brew. Helaas kreeg ik nu ook weer fouten bij het opstarten van MariaDB:

➜  ~ mysqld
2016-07-27  9:12:38 140735199690752 [Note] mysqld (mysqld 10.1.16-MariaDB) starting as process 7611 ...
2016-07-27  9:12:38 140735199690752 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2016-07-27  9:12:38 140735199690752 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2016-07-27  9:12:38 140735199690752 [Note] InnoDB: The InnoDB memory heap is disabled
2016-07-27  9:12:38 140735199690752 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-07-27  9:12:38 140735199690752 [Note] InnoDB: Memory barrier is not used
2016-07-27  9:12:38 140735199690752 [Note] InnoDB: Compressed tables use zlib 1.2.5
2016-07-27  9:12:38 140735199690752 [Note] InnoDB: Using SSE crc32 instructions
2016-07-27  9:12:38 140735199690752 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2016-07-27  9:12:38 140735199690752 [Note] InnoDB: Completed initialization of buffer pool
2016-07-27  9:12:38 140735199690752 [Note] InnoDB: Highest supported file format is Barracuda.
2016-07-27  9:12:38 140735199690752 [Note] InnoDB: 128 rollback segment(s) are active.
2016-07-27  9:12:38 140735199690752 [Note] InnoDB: Waiting for purge to start
2016-07-27  9:12:38 140735199690752 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.30-76.3 started; log sequence number 3504876906
2016-07-27  9:12:38 123145313034240 [Note] InnoDB: Dumping buffer pool(s) not yet started
2016-07-27  9:12:38 140735199690752 [Note] Plugin 'FEEDBACK' is disabled.
2016-07-27  9:12:38 140735199690752 [Note] Recovering after a crash using tc.log
2016-07-27  9:12:38 140735199690752 [ERROR] Recovery failed! You must enable all engines that were enabled at the moment of the crash
2016-07-27  9:12:38 140735199690752 [ERROR] Crash recovery failed. Either correct the problem (if it's, for example, out of memory error) and restart, or delete tc log and start mysqld with --tc-heuristic-recover={commit|rollback}
2016-07-27  9:12:38 140735199690752 [ERROR] Can't init tc log
2016-07-27  9:12:38 140735199690752 [ERROR] Aborting

Dit keer kon ik het probleem echter oplossen door het tc log bestand te verwijderen:

mv /usr/local/var/mysql/tc.log /usr/local/var/mysql/tc.log.bak

Hier na kon ik MariaDB zonder problemen opstarten:

➜  ~ mysql.server start

WordPress SAVEQUERIES invloed op performance

Voor debug en ontwikkel doeleinden kan het soms handig zijn om alle WordPress queries op te slaan. Dit kan gerealiseerd worden door in je code de SAVEQUERIES constante op true te zetten. Vaak wordt dit toegevoegd aan het WordPress configuratie bestand wp-config.php. Er zijn echter ook plugins die deze constante op true zetten, bijvoorbeeld: Query Monitor. Het wil dan ook wel eens voorkomen dat maatwerk code de define( 'SAVEQUERIES', true ); definitie bevat. Voor productie omgevingen is dit echter vaak niet gewenst om dit impact kan hebben op de performance van een website. Het kan soms echter lastig zijn om te achterhalen waar de SAVEQUERIES constante op true is gezet. Gelukkig kan met grep eenvoudig gezocht worden naar alle bestanden met daarin SAVEQUERIES:

grep -r -H "SAVEQUERIES" *

Savvii VPS productie en staging

Gebruikers van een Savvii VPS hebben de mogelijkheid om SSH toegang te krijgen. Dit kan erg handig zijn om bijvoorbeeld snel een backup te maken of een kopie te maken van een website. Voor het opzetten van een nieuwe actuele staging omgeving kun je als volgt te werken gaan:

Productie | staging

Allereerst is het handig dat productie en staging omgevingen met elkaar kunnen communiceren via SSH. Hiervoor is het handig om een nieuwe SSH key aan te maken op de productie omgeving en deze toe te voegen aan de staging omgeving.

Productie

ssh user1@user1.savviihq.com

ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/pronamic_rsa

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/pronamic_rsa

Localhost

scp user1@user1.savviihq.com:~/.ssh/pronamic_rsa.pub ~/Downloads/pronamic_rsa.pub

scp ~/Downloads/pronamic_rsa.pub user2@user2.savviihq.com:~/tmp/pronamic_rsa.pub

Staging

ssh user2@user2.savviihq.com

cat ~/tmp/pronamic_rsa.pub >> ~/.ssh/authorized_keys

rm ~/tmp/pronamic_rsa.pub

Productie » staging

ssh user1@user1.savviihq.com

cd ~/wordpress/current

echo "wp-config.php" > staging-exclude.txt
echo "wp-content/infinitewp/backups" >> staging-exclude.txt
echo "wp-content/mu-plugins" >> staging-exclude.txt
echo "wp-content/mysql" >> staging-exclude.txt
echo "wp-content/uploads/2002" >> staging-exclude.txt
echo "wp-content/uploads/2003" >> staging-exclude.txt
echo "wp-content/uploads/2004" >> staging-exclude.txt
echo "wp-content/uploads/2005" >> staging-exclude.txt
echo "wp-content/uploads/2006" >> staging-exclude.txt
echo "wp-content/uploads/2007" >> staging-exclude.txt
echo "wp-content/uploads/2008" >> staging-exclude.txt
echo "wp-content/uploads/2009" >> staging-exclude.txt
echo "wp-content/uploads/2010" >> staging-exclude.txt
echo "wp-content/uploads/2011" >> staging-exclude.txt
echo "wp-content/uploads/2012" >> staging-exclude.txt
echo "wp-content/uploads/2013" >> staging-exclude.txt
echo "wp-content/uploads/2014" >> staging-exclude.txt
echo "wp-content/uploads/2015" >> staging-exclude.txt
echo "wp-content/uploads/backwpup*" >> staging-exclude.txt
echo "wp-content/uploads/gravity_forms" >> staging-exclude.txt
echo "wp-content/uploads/sites" >> staging-exclude.txt

# wp db export current.sql
mysqldump --user=user1 --password=******** --add-drop-table user1 > current.sql

rsync -avuz --exclude-from=staging-exclude.txt . user2@user2.savviihq.com:~/wordpress/current

Het staging-exclude.txt bestand kun je in principe eenmalig aanmaken en in bijhouden welke mappen niet mee hoeven naar de staging omgeving. In bovenstaand voorbeeld heb ik veel uploads mappen uitgesloten.

Staging omgeving

ssh user2@user2.savviihq.com

cd ~/wordpress/current

# wp db reset
# wp db import current.sql
# wp search-replace 'http://user1.savviihq.com' 'http://user2.savviihq.com'

mysql --user=user2 --password=******** user2 < current.sql

WP-CLI

Helaas werkt WP-CLI momenteel niet op onze Savvii VPS’en. Hierdoor is het exporteren en importeren van de database nog wat omslachtig. Met WP-CLI zou dit vereenvoudig kunnen worden wp db export, wp db reset, wp db import en wp search-replace.

Resources

Problemen met MariaDB versie 10.1.8 op OS X El Capitan

Na het updaten van MariaDB via Brew naar versie 10.1.8 had ik problemen met het opstarten van de MySQL server.

~  mysqld
2015-10-28 10:45:19 140735257919488 [Note] mysqld (mysqld 10.1.8-MariaDB) starting as process 1069 ...
2015-10-28 10:45:19 140735257919488 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: The InnoDB memory heap is disabled
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Memory barrier is not used
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Compressed tables use zlib 1.2.5
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Using CPU crc32 instructions
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Completed initialization of buffer pool
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Highest supported file format is Barracuda.
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: The log sequence numbers 2407038528 and 2407038528 in ibdata files do not match the log sequence number 2407038728 in the ib_logfiles!
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Database was not shutdown normally!
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Starting crash recovery.
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Reading tablespace information from the .ibd files...
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Restoring possible half-written data pages
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: from the doublewrite buffer...
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: 128 rollback segment(s) are active.
2015-10-28 10:45:19 140735257919488 [Note] InnoDB: Waiting for purge to start
2015-10-28 10:45:19 7000008b1000  InnoDB: Assertion failure in thread 123145311424512 in file btr0cur.cc line 5341
InnoDB: Failing assertion: rb_ctx != RB_NONE
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
151028 10:45:19 [ERROR] mysqld got signal 6 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.

To report this bug, see http://kb.askmonty.org/en/reporting-bugs

We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

Server version: 10.1.8-MariaDB
key_buffer_size=134217728
read_buffer_size=131072
max_used_connections=0
max_threads=153
thread_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 467104 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0x0 thread_stack 0x48000
0   mysqld                              0x000000010f93bd21 my_print_stacktrace + 61
0   mysqld                              0x000000010f3dfffc handle_fatal_signal + 632
0   libsystem_platform.dylib            0x00007fff9501552a _sigtramp + 26
0   ???                                 0x0000000000000009 0x0 + 9
0   libsystem_c.dylib                   0x00007fff9f50237b abort + 129
0   mysqld                              0x000000010f782e39 _ZL28btr_check_blob_fil_page_typemmPKhm + 0
0   mysqld                              0x000000010f8cf80d _Z14row_purge_stepP9que_thr_t + 2334
0   mysqld                              0x000000010f8a2a1a _Z15que_run_threadsP9que_thr_t + 822
0   mysqld                              0x000000010f8f9862 _Z9trx_purgemmb + 2812
0   mysqld                              0x000000010f8eccb1 srv_purge_coordinator_thread + 2484
0   libsystem_pthread.dylib             0x00007fff94b169b1 _pthread_body + 131
0   libsystem_pthread.dylib             0x00007fff94b1692e _pthread_body + 0
0   libsystem_pthread.dylib             0x00007fff94b14385 thread_start + 13
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.

Aangezien ik geen MariaDB/MySQL expert ben heb ik niet de oorzaak van dit probleem kunnen vinden. Gelukkig kun je met Brew eenvoudig terug naar een oudere versie.

brew switch mariadb 10.0.21

Hiermee was het probleem direct opgelost.

Brew update PHP 5.6 tidy: Unable to initialize module

Na het update van Brew pakketten liep ik tegen de volgende foutmelding aan:

PHP Warning: PHP Startup: tidy: Unable to initialize module
Module compiled with build ID=API20131226,NTS
PHP compiled with build ID=API20131226,NTS,debug
These options need to match
 in Unknown on line 0

Dergelijke problemen zijn vaak eenvoudig op te lossen door pakketten even opnieuw te installeren vanuit de bron:

brew reinstall php56-tidy --build-from-source

HostGator cURL outdated, disappointing support

Today i came in contact with an Pronamic IDEAL plugin user who was getting “Problem with the SSL CA cert (path? access rights?)” errors. The website was hosted at HostGator and after a quick Google search I noticed that more WordPress users had similar issues. The problems are caused by an outdated cURL library version 7.19.7. I requested HostGator to update to the latest stable version of cURL but their support doesn’t really help.

I think it’s very clear that the cURL library is outdated and needs an update. HostGator support however requires me to send the billing details of our client. How will the billing details help to get cURL updated? Since I don’t have these details HostGator support is not really helping. The helpdesk also forwarded me to their “What Software and Program Versions Does HostGator Offer?” page. On this page HostGator clients can read that they run cURL version 7.15.x:

cURL 7.15.x (also libcurl and PHP/CURL)

Right after that the helpdesk is saying:

We do our best to keep software and program versions as up to date as possible. Our technical team regularly evaluates software updates and pushes updates across HostGator’s servers as they are deemed secure and appropriate for HostGator’s shared hosting environment.

How credible is that since cURL version 7.15 was launched 8.9 years ago? Below you can find the whole chat conversation with HostGator. I don’t have further experience with HostGator but my advice would be to not host at HostGator.

Chat ID: 14642039.
Question: Problem with the SSL CA cert (path? access rights?)

(1:30:55pm) System: Customer has entered chat and is waiting for an agent.

(1:31:49pm) William L.: Hello and welcome to Hostgator LiveChat. My name is William and I’d be glad to assist you with any questions you may have today. How are you?

(1:33:29pm) Remco: Hello William, i’m good. Only have an issue on http://**********.com/ with remote request to an https:// URL. We use WordPress and are getting an HTTP request failed error.

“Problem with the SSL CA cert (path? access rights?)

(1:34:11pm) Remco: Did soms research on Google and see other users of Hostgator had also this issue

(1:34:14pm) Remco: https://wordpress.org/support/topic/http-error-problem-with-the-ssl-ca-cert-path-access-rights

(1:34:18pm) Remco: https://wordpress.org/support/topic/http-error-problem-with-the-ssl-ca-cert-path-access-rights-1

(1:34:47pm) Remco: I quote: “Asking Hostgator to update CURL to the latest stable version will fix this issue, it’s an easy thing for a host to do. A hosting company that size should know what to do..”

(1:35:45pm) William L.: For security reasons, before I am allowed to make changes or provide information to a user’s account, I am required to verify that this is the owner of the account. Please enter your billing login information in the verification box. Thank you.

(1:37:15pm) Remco: I’m not the owner of this account, i’m contacting you on behalf of our client. She however already had contact about this earlier.

(1:37:16pm) William L.: May I have your primary email address on account please?

(1:37:39pm) William L.: Unfortunately, in order to further investigate, I will need full verification in order to proceed to look into this.

(1:38:51pm) Remco: Our client doesn’t have an technical background… so it’s a bit hard for her to give you all the details. I think it’s clear that you have to update the cURL library. I don’t see why you need full verification for this…

(1:39:45pm) William L.: Okay. Regardless, I would still need the full verification details so I can pull up your account, as well as seeing if there is a SSL installed on the site itself.

(1:40:03pm) William L.: I apologized for the trouble but it would be required.

(1:40:14pm) William L.: All i need would only be the email address on account and the password.

(1:40:38pm) Remco: Ok, i have the e-mailadress ******@**********.com

(1:40:55pm) Remco: And the following details

(1:40:58pm) Remco: https://*********.hostgator.com:2083 <https://*********.hostgator.com:2083/>
User: ********
Password: ***********

(1:41:23pm) William L.: May I have your account security pin please? It is a 4 to 8 digits when you first registered for this account.

(1:42:01pm) Remco: I don’t have that information, you just said you would only need the email address and the password :).

(1:42:29pm) William L.: The password would refer to the billing password.

(1:42:31pm) William L.: Do you have that as well?

(1:42:36pm) William L.: If so, I will re-send the pop up box.

(1:42:45pm) William L.: The security pin is an alternative method of verifying for the account fully.

(1:42:50pm) Remco: Nope, this is all the information i have.

(1:43:03pm) William L.: Sure. Let me see what I can do with those information. Just a moment.

(1:45:18pm) William L.: May I ask what plugin are you attempting to use for the remote request to the HTTPS:// URL?

(1:46:01pm)Remco:The “Pronamic iDEAL” plugin… for an Dutch payment provider connection

(1:46:25pm) William L.: Thank you, Remco.

(1:46:31pm) William L.: Please bear me with a few minutes over here.

(1:50:36pm) William L.: In order to update curl, unfortunately you would need root access to complete this. As such you will want to look into upgrading to a VPS ( http://www.hostgator.com/vps-hosting/ ) or dedicated server ( http://www.hostgator.com/dedicated ) if this is something that is mission critical for you. I apologize for any inconvenience this has caused you.

You would either need to contact with the plugin developer in regards of such issue or update your server package to a VPS or a dedicated server in order to update cURL to the latest and stable version.

(1:52:52pm) Remco: Hmm, and why don’t you update cURL on this server to the latest and stable version? There is a bug in cURL version 7.19.7 so i think it’s your responsibility to update to fix the issue.

(1:55:16pm) William L.: I will be able to request of such for you. However, in order to do so, I will need to fully verify you. Are you able to obtain the billing password, or security pin?

(1:57:35pm) Remco: I probably can obtain this information, but again i don’t see why you need this. The cURL library is outdated, you guys just have to update. Version 7.19.7 o cURL was launched in 2009, we are now 2015. Can you guarantee an update if i get this billing password?

(1:58:23pm) William L.: I will not be able to guaranteed anything as this task will be performing by our support admin, which is why verification is mandatory prior to updating curl since we are going to be performing change on account.

(2:00:38pm) Remco: Hmm, this approuch is not very client friendly… it will only delay an solution… and you can’t even guarantee an solution… since it’s very clear that the cURL library is outdated…

(2:01:54pm) William L.: http://support.hostgator.com/articles/hosting-guide/hardware-software/what-software-and-program-versions-does-hostgator-offer

cURL 7.15.x (also libcurl and PHP/CURL)

We do our best to keep software and program versions as up to date as possible. Our technical team regularly evaluates software updates and pushes updates across HostGator’s servers as they are deemed secure and appropriate for HostGator’s shared hosting environment.

(2:03:54pm) Remco: That’s not really credible, cURL version 7.15 was launched 8.9 years ago. And still you say you do your best to keep software and program version as up to date as possible?

(2:04:03pm) William L.: Okay.

(2:04:08pm) William L.: I am sorry for the frustration.

(2:04:31pm) William L.: If you would like to proceed, please provide the billing details as the verification method and I would have this ticket generate for you so that our admins can work on it.

(2:05:59pm) Remco: I don’t have that information now, i think you have enough details to proceed anyway…

(2:06:47pm) William L.: Remco, please understand I am attempting to assist with you. However, without the verification details, I will not be able to proceed. You can always contact us when you do have the information and we will be glad to generate the ticket for you.

(2:10:00pm) William L.: I hate to bother, are you still with me?

(2:10:14pm) Remco: Ok, i’m disappointed in the way you handle this. I will ask my client to mail you this conversation so you can proceed and hopefully fix this issue asap. I will also recommend to consider switching to another hosting company.

(2:11:19pm) William L.: I am very sorry in regards of such experience you are currently experiencing. Please understand that we take account’s security matter very seriously hence the verification process before we perform changes on account.

Is there anything else you might need assistance with?

(2:12:54pm) Remco: I understand you take account’s security matter very seriously… maybe you contact the client yourself and make sure the problem is solved… i really think your client would appreciate that!

(2:13:19pm) William L.: Absolutely. I understand. May I ask if you have any further question for me today?

(2:15:37pm) William L.: This chat will now be terminated due to inactivity. If you need anything else, please start a new live chat session. We would be glad to assist you further. Take care and have a great day!

(2:15:42pm) System: This chat has ended. Click Rate And Exit to rate the representative and our company!

After this our client contacted HostGator for the cURL update, their response:

Hello, and thank you for contacting HostGator.com,

We maintain the same version of cURL across all of our shared servers. Unfortunately, we are unable to upgrade cURL for only your account as it would affect our other customers and their sites on the server. If you need an different version of cURL, you will need to upgrade to either a VPS or a dedicated server. We recommend these for our customers who are wanting specialized setups or different versions of software on their server.

If you are interested in upgrading, I would suggest looking ove rthe types of hosting that we offer: http://support.hostgator.com/articles/hosting-guide/hosting-plan-comparison/shared-environment-vs-dedicated-environment

http://support.hostgator.com/articles/hosting-guide/hosting-plan-comparison/articles/hosting-guide/hosting-plan-comparison/how-do-i-choose-which-hosting-plan-is-right-for-me

Read more about why you need to avoid HostGator on https://yoast.com/avoid-hostgator/.

Een WordPress multisite/network omzetten naar een single WordPress installatie

Als je een WordPress site binnen een WordPress multisite/network wilt omzetten naar een individuele WordPress installatie zul je na een zoektocht op internet al snel het advies krijgen om de content te exporteren en te importeren. Dit heeft echter als nadeel dat gebruikers, instellingen, plugins, thema’s, etc. niet meegenomen worden. In de blog “The Return from Multiste” is te lezen hoe dit ook via enkele database queries gerealiseerd kan worden.

Aangezien ik veel gebruik maak van Gravity Forms, Pronamic iDEAL en Redirection moest ik nog de volgende extra queries uitvoeren:

RENAME TABLE 
OLDPRE_OLDNUM_rg_form TO NEWPRE_rg_form, 
OLDPRE_OLDNUM_rg_form_meta TO NEWPRE_rg_form_meta, 
OLDPRE_OLDNUM_rg_form_view TO NEWPRE_rg_form_view, 
OLDPRE_OLDNUM_rg_lead TO NEWPRE_rg_lead, 
OLDPRE_OLDNUM_rg_lead_detail TO NEWPRE_lead_detail, 
OLDPRE_OLDNUM_rg_lead_detail_long TO NEWPRE_lead_detail_long, 
OLDPRE_OLDNUM_rg_lead_meta TO NEWPRE_rg_lead_meta, 
OLDPRE_OLDNUM_rg_lead_notes TO NEWPRE_rg_lead_notes;
RENAME TABLE 
OLDPRE_OLDNUM_rg_ideal_feeds TO NEWPRE_rg_ideal_feeds, 
OLDPRE_OLDNUM_pronamic_ideal_configurations TO NEWPRE_pronamic_ideal_configurations, 
OLDPRE_OLDNUM_pronamic_ideal_payments TO NEWPRE_pronamic_ideal_payments;
RENAME TABLE 
OLDPRE_OLDNUM_redirection_404 TO NEWPRE_redirection_404, 
OLDPRE_OLDNUM_redirection_groups TO NEWPRE_redirection_groups,
OLDPRE_OLDNUM_redirection_items TO NEWPRE_redirection_items,
OLDPRE_OLDNUM_redirection_logs TO NEWPRE_redirection_logs,
OLDPRE_OLDNUM_redirection_modules TO NEWPRE_redirection_modules;

Daarnaast heb ik via de active_sitewide_plugins meta key in de OLDPRE_sitemeta tabel en http://www.unserialize.com/ nog even gecontroleerd welke plugins sitewide geactiveerd waren.

Rabobank OmniKassa automaticResponseUrl betalingstatus updates

De Rabobank OmniKassa oplossing heeft ondersteuning voor een zogenaamde automaticResponseUrl parameter. Bij het starten van een transactie kan hier een URL in opgegeven worden. Vervolgens zal de OmniKassa betalingsstatus updates doorgeven aan deze URL.

Nu krijg ik als ontwikkelaar van de Pronamic iDEAL plugin regelmatig klachten over dat de betalingsstatus updates van de OmniKassa niet functioneren. Blijkbaar worden de betalingsstatus updates van de OmniKassa dan niet correct verwerkt. Het is echter lastig om te achterhalen wat wanneer mis gaat.

Het betalingsstatus request van de OmniKassa kan namelijk op verschillende locaties niet goed verwerkt worden. Allereerst moet de automatische response URL natuurlijk bereikbaar zijn voor de OmniKassa. Maar hoe controleer je of de OmniKassa je website goed kan bereiken?

De server logboeken zijn vaak een goed startpunt om dit te onderzoeken. De automatisch OmniKassa betalingsstatus updates requests zien er in een Apache logboek vaak zo uit:

160.92.133.135 - - [06/Feb/2015:12:12:45 +0100] "POST / HTTP/1.0" 302 283 "-" "Java/1.6.0_45"
160.92.133.135 - - [06/Feb/2015:12:12:46 +0100] "GET / HTTP/1.0" 200 58249 "-" "Java/1.6.0_45"

Belangrijke en opvallende punten hierin zijn het IP-adres 160.92.133.135 en de User-Agent Java/1.6.0_45. Na een zoektocht op internet kwam ik al snel de volgende Twitter conversatie tegen met een goede tip:

Mochten de automatisch OmniKassa betalingsstatus updates niet correct functioneren dan is het verstandig om te informeren of je hostingprovider de volgende IP-adress kan ‘whitelisten’:

  • 160.92.133.135
  • 193.56.46.18