I changed my hosing provider – actually I moved from him, I rented my own dedicated server and Sendy stopped working, at the beginning I thought that there is problem with database connection or something, but soon after I double checked my suspicions went towards .htaccess file, I turned out not to be a problem, so I went to see, as a proud owner of my new server, whats in the logs.
My error was page server error 500, in Firefox this error was handled very differently than in Chrome, Firefox actually did load the www.example.com/sendy, I have seen login screen, when I entered wrong credentials, I got a bad username / password warning (Sendy did actually respond) and when I entered my correct credentials, Firefox displayed white screen, no error, Chrome was little bit more honest with me it did nothing, just displayed grey screen with 500 error warning.
After a little search, I dug into Apache2 settings to see, where is my log file, I opened it and filtered out “sendy”, I found the root of my problem.
$ cd /var/log/apache2
$ sudo cat error.log | grep sendy
The cat directive will print out file content on your screen and | grep sendy means only lines that contain “sendy” string.
Output of the $ sudo cat error.log | grep sendy line was:
[Fri Jun 14 10:45:04 2013] [error] [client 85.79.165.235] PHP Fatal error: Call to undefined function curl_init() in /var/www/mywebsite.com/sendy/includes/functions.php on line 5
After little searching, i found out, that I need to install php5-curl module, because Sendy was using a function that required it, so I did
$ sudo apt-get install php5-curl
$ sudo service apache2 reload
That did not help, so I find out thanks to Google, that more libraries are needed, the correct way to install php5-curl was:
$ sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
$ sudo service apache2 reload
Sendy worked just fine after, this is a lesson for me, to always check a logs first, so you do not have to spend hours doing stuff that don’t help. I changed at least million settings and had to un-change them because I was lazy to check logs.