My Magento performance testing tool Magento Speed Test uses a Google sitemap.xml to determine which urls should be tested. Having only just released the latest version I have been keeping an eye on the testing over the last few days and have noticed a few tests that never got results. This sometimes happens because of a mistake by me, but more often it’s because people find creative ways to muck up their sitemap.xml, and so the test then runs on no urls, and thus – no results. Here are some tips to check for problems.
Update July 2013: I have since released a premium extension for sending email using Amazon SES called MageSend, if you’re having toruble sending email with Magento, please check it out, it was created to solve many common Magento email issues.
In my last big post on Magento deployment there were a number of simple little tidbits that on their own may be useful to people who might not be ready to jump headlong into the sort of project structure I described.
So with that in mind I thought I’d pull out the first of the useful tips, this time installing Magento 1.5 on MAMP (OSX) all via the command-line, it saves time and is nicely repeatable for scripting. Plus OSX is a unix system, why not make use of it!
In this little guide we’ll be installing Magento into your webserver’s document root. If that doesn’t mean anything to you, it may be worth checking out a couple of my earlier MAMP guides.
Ok, so we’re ready to begin. These commands should be copy-pastable, if anything goes wrong let me know.
# If you do not have wget installed (see above) you can use curl.wget http://www.magentocommerce.com/downloads/assets/18.104.22.168/magento-22.214.171.124.tar.gz
tar xzf magento-126.96.36.199.tar.gz
#This assumes your document root is ~/Documents/webmv magento ~/Documents/web/magento/188.8.131.52
# If you do not have wget installed (see above) you can use curl.
tar xzf magento-184.108.40.206.tar.gz
#This assumes your document root is ~/Documents/web
mv magento ~/Documents/web/magento/220.127.116.11
Now we create the database, again we can do this on the commandline, to save time fluffing around with phpMyadmin.
# Your password is probably still 'root', unless you changed it./Applications/MAMP/Library/bin/mysql -uroot-p-e"create database magento1501"# Put your own ulta secure password in place of 'password' below/Applications/MAMP/Library/bin/mysql -uroot-p-e"grant all on magento1501.* to magento1501@'localhost' identified by 'password'"
# Your password is probably still 'root', unless you changed it.
/Applications/MAMP/Library/bin/mysql -uroot -p -e "create database magento1501"
# Put your own ulta secure password in place of 'password' below
/Applications/MAMP/Library/bin/mysql -uroot -p -e "grant all on magento1501.* to magento1501@'localhost' identified by 'password'"
Now we run the actual Magento install on the commandline. It pays to set the permissions before installing.
chmod-R o+w media var
chmod o+w app/etc
chmod -R o+w media var
chmod o+w app/etc
This next command runs the actual install. There are several things you need to change to match. others are optional, for example timezone, currency and locale can all be changed later in the admin, but for a local development environment the defaults are probably fine. The admin email/username/password, database details and base url are all important. Screwing these up will render the install broken – happily it won’t take you long to re-run the above commands and start over if that happens, right?
Update: Thanks to Nathan for pointing out that the latest version of MAMP has a two versions of PHP in it. You’ll need to run:/Applications/MAMP/bin/php5.3/bin/php in the above command.
If it worked you’ll see something like SUCCESS: 183748... with a big long hash code. Now you should be able to see the default Magento start page here: http://127.0.0.1:8888/magento/18.104.22.168/ and log in to the admin panel at /admin.
Let me know if you have any troubles with getting these commands to work. I ran through them myself doing an install and everything was just fine, but if your environment is set up differently there could be some subtle issues.
There have been severalreports of my SMTP Pro email extension failing on Magento 1.5. I hadn’t tested or recommended installing it on Magento 1.5 and wasn’t going to for a little while. You could say I’m not really an early adopter when it comes to Magento versions.
However, the ever helpful Rhonda (@rondata) from Magento got in touch with me late last week to report there may have been a packaging problem with my extension that has made it unable to be used on the new Magento Connect. So I thought if I was going to repackage it, I may as well also fix it up for Magento 1.5 – and so here is SMTPPro version 1.4.2.
I have tested the extension on Magento 1.4.2 and 22.214.171.124, also tested a Magento Connect install on 126.96.36.199. Everything seems to be in order. The change in 1.5 was a move to array based email addresses and names in the Email_Template class.
I still feel like it’s shoddy OO that I have to override an entire method and duplicate all the logic in it just to swap in my SMTP transport configuration. For those that care, I did try some techniques to avoid it, but the default transport is explicitly set by the core code if a return path is set, which invalidates anything I can do in a subclass – short of temporarily hijacking the return path configuration, which I may resort to doing in the next release.
In the process of testing a Magnto Connect install I did see a very cool feature in the latest Magento, and I may just have missed it in the earlier releases as I seldom use Magento Connect anymore.
Installing a package directly from within the downloader module will surely make the day of many commercial extension developers – at least until they can sell extensions directly on Magento Connect*.
Anyway, that’s about it – the new version supports 1.5, and can be downloaded/installed on Magento Connect. Go enjoy some free SMTP/Google Apps/Gmail email sending! Please let me know if you have any problems or spot any bugs.
* Speaking of which, I wonder what % Magento will take… Apple set a pretty high benchmark at 30%. Magento doesn’t quite have the same kung-fu grip on distribution though so maybe it’ll be lower.