SlideShare a Scribd company logo
1 of 20
Self-hosting multiple WordPress blogsMy experience, tips and tricks Martin Buckley ezs@evilzenscientist.comtwitter: @ezs
Some history and context First on-line presence way back in 1993 Evolution over 16 years: Static HTML  something a little more automated  blogging Also my extended family are in the UK/NZ – keeping the Grandparents up to date is important.
Technology evolution Way back - ftp upload of html/content to some Unix host Since 2000 – static IP and self hosting 2000 – NetWare (!) + static content 2003 – SLES 8 + Apache + static content 2005 – SLES 9 + Apache + mysql + WordPress 1.5 2009 – virtualised web + mysql on SLES
Why self-hosting I’m a technology geek.  Self hosting means live servers, a great sandbox and a real learning environment. (I also run the home infrastructure..) I get ultimate flexibility and control. Hosting elsewhere is cheaper – with the usual issues around security, platform, updates etc
Hosting for friends and family The ultimate scope creep. Started with the ‘family blog’ – added my ‘personal blog’ … … then added various additional blogs for family members; three blogs for friends and my sisters Cub Scout pack. Now over a dozen in total.
Understanding the ‘stack’.. And it all needs testing and patching Gallery2 Themes Plugins – ‘Core’ and ‘Per site’ WordPress Core Database + data Graphics helpers for Gallery2 Apache/PHP/mysql/libs SLES Hardware
Old school patching Check on a semi-regular basis for updates to WordPress (e.g. 1.5  1.6) Download; unpack; test. Check for Linux updates on a regular basis Download; update; test.
Patching today Plugins seem to be updated on an almost daily basis. WordPress at last has a more regular cadence for updates; expect the flurry of point releases after a major rev.
The challenge Each blog is built of a ‘core’ set of plugins – with some specific functionality added on top. There are a couple of hand-coded modifications in place (theme and php-exec plugin) How to keep ‘secure’ and functional – without spending 20 hours a week patching..
Change control is key Discipline keeps things sane. Consistent core blog structure Document changes; test the changes; deploy the changes Have a rollback/backup plan Plan for major, grouped updates My last one was to 2.8.3 Expect the short notice security fixes 2.8.4!
Typical change control matrix
Test, test – test again. Something unexpected will always happen. e.g. libxml2/PHP bug – trac 7771 http://core.trac.wordpress.org/ticket/7771 http://www.evilzenscientist.com/blog/2009/08/05/php-xml-parsing-bug-and-a-workaround/
Backup and recovery Backup is really important. Understand everything that needs to be archived for recovery. Mysql dump; filesystem dump Configuration files from server Documentation
Backup Weekly dump of mysql and configto offline disk. Monthly dump of photos to offline disks. Full archive every quarter. Stored in a fire safe. Looking at going back to tape to make this easier and faster.
Restore Fire/theft/hackers/malware/bad hardware. Something will eat the data. Since 2000 I have rebuilt the web servers over a dozen times – upgrade OS, moving OS, moving hardware, replacing failed hardware, upgrading hardware – all the usual reasons. Practice your data rebuild before the emergency!
Security Having anything internet facing invites intruders. Everything from casual inquiries to more serious hacking and DOS attempts. At some point someone will try and hack/attack you. Be prepared.
Security The basics ,[object Object]
Have an edge firewall and intrusion detection.
Understand your normal traffic patterns in and out
NAT helps a little

More Related Content

What's hot

Sharedhosting and WordPress
Sharedhosting and WordPressSharedhosting and WordPress
Sharedhosting and WordPress
Al Davis
 

What's hot (20)

Locking down word press
Locking down word pressLocking down word press
Locking down word press
 
WordPress security for everyone
WordPress security for everyoneWordPress security for everyone
WordPress security for everyone
 
Wordpress Security & Hardening Steps
Wordpress Security & Hardening StepsWordpress Security & Hardening Steps
Wordpress Security & Hardening Steps
 
Securing your WordPress site in 5 easy pieces
Securing your WordPress site in 5 easy piecesSecuring your WordPress site in 5 easy pieces
Securing your WordPress site in 5 easy pieces
 
WordPress Plugins and Security
WordPress Plugins and SecurityWordPress Plugins and Security
WordPress Plugins and Security
 
WordPress security 101 - WP Turku Meetup 2.2.2017
WordPress security 101 - WP Turku Meetup 2.2.2017WordPress security 101 - WP Turku Meetup 2.2.2017
WordPress security 101 - WP Turku Meetup 2.2.2017
 
Technical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 editionTechnical SEO for WordPress - 2017 edition
Technical SEO for WordPress - 2017 edition
 
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
WordPress security 101 - WP Jyväskylä Meetup 21.3.2017
 
Testing and updating WordPress - Advanced techniques for avoiding regressions
Testing and updating WordPress - Advanced techniques for avoiding regressionsTesting and updating WordPress - Advanced techniques for avoiding regressions
Testing and updating WordPress - Advanced techniques for avoiding regressions
 
The moment my site got hacked - WordCamp Sofia
The moment my site got hacked - WordCamp SofiaThe moment my site got hacked - WordCamp Sofia
The moment my site got hacked - WordCamp Sofia
 
Wordpress best practices
Wordpress best practicesWordpress best practices
Wordpress best practices
 
Sharedhosting and WordPress
Sharedhosting and WordPressSharedhosting and WordPress
Sharedhosting and WordPress
 
Open source technologies in Microsoft cloud
Open source technologies in Microsoft cloudOpen source technologies in Microsoft cloud
Open source technologies in Microsoft cloud
 
B wapp – bee bug – installation
B wapp – bee bug – installationB wapp – bee bug – installation
B wapp – bee bug – installation
 
8 Simple Ways to Hack Your Joomla
8 Simple Ways to Hack Your Joomla8 Simple Ways to Hack Your Joomla
8 Simple Ways to Hack Your Joomla
 
WordPress Security - Kulpreet Singh
WordPress Security - Kulpreet SinghWordPress Security - Kulpreet Singh
WordPress Security - Kulpreet Singh
 
Keep Your SIte Secure
Keep Your SIte SecureKeep Your SIte Secure
Keep Your SIte Secure
 
Vagrant + Veewee : Barcampboston April 10-2011
Vagrant + Veewee : Barcampboston April 10-2011Vagrant + Veewee : Barcampboston April 10-2011
Vagrant + Veewee : Barcampboston April 10-2011
 
Automate IBM Connections Installations and more
Automate IBM Connections Installations and moreAutomate IBM Connections Installations and more
Automate IBM Connections Installations and more
 
Find WordPress performance bottlenecks with XDebug PHP profiling
Find WordPress performance bottlenecks with XDebug PHP profilingFind WordPress performance bottlenecks with XDebug PHP profiling
Find WordPress performance bottlenecks with XDebug PHP profiling
 

Viewers also liked

Caribbean higher education seen with European eyes
Caribbean higher education seen with European eyesCaribbean higher education seen with European eyes
Caribbean higher education seen with European eyes
Fabio Nascimbeni
 
高専カンファレンスというエコシステムの一歩先
高専カンファレンスというエコシステムの一歩先高専カンファレンスというエコシステムの一歩先
高専カンファレンスというエコシステムの一歩先
Ryoichi SEKIGUCHI
 
Whistler Real Estate Company 2009 Sales Stats Comparison
Whistler Real Estate Company 2009 Sales Stats ComparisonWhistler Real Estate Company 2009 Sales Stats Comparison
Whistler Real Estate Company 2009 Sales Stats Comparison
dlinnell
 
TRG Capabilities Statement 2009
TRG Capabilities Statement 2009TRG Capabilities Statement 2009
TRG Capabilities Statement 2009
bpolzak
 
Westernciv Danandtom
Westernciv DanandtomWesternciv Danandtom
Westernciv Danandtom
guest14803c
 

Viewers also liked (20)

Stretching Your Food Dollars
Stretching Your Food DollarsStretching Your Food Dollars
Stretching Your Food Dollars
 
Blogspot
BlogspotBlogspot
Blogspot
 
Email and Social Media 2010
Email and Social Media 2010Email and Social Media 2010
Email and Social Media 2010
 
Bio Powerpoint
Bio PowerpointBio Powerpoint
Bio Powerpoint
 
Victorian Era
Victorian EraVictorian Era
Victorian Era
 
Caribbean higher education seen with European eyes
Caribbean higher education seen with European eyesCaribbean higher education seen with European eyes
Caribbean higher education seen with European eyes
 
Presentazione Touchword
Presentazione TouchwordPresentazione Touchword
Presentazione Touchword
 
Reactions And Mixtures
Reactions And MixturesReactions And Mixtures
Reactions And Mixtures
 
Olaf Janssen on benefits of collaboration between Europeana and archives duri...
Olaf Janssen on benefits of collaboration between Europeana and archives duri...Olaf Janssen on benefits of collaboration between Europeana and archives duri...
Olaf Janssen on benefits of collaboration between Europeana and archives duri...
 
Social media observations in Asia
Social media observations in AsiaSocial media observations in Asia
Social media observations in Asia
 
Id
IdId
Id
 
Artistic Hub Overview
Artistic Hub OverviewArtistic Hub Overview
Artistic Hub Overview
 
高専カンファレンスというエコシステムの一歩先
高専カンファレンスというエコシステムの一歩先高専カンファレンスというエコシステムの一歩先
高専カンファレンスというエコシステムの一歩先
 
Whistler Real Estate Company 2009 Sales Stats Comparison
Whistler Real Estate Company 2009 Sales Stats ComparisonWhistler Real Estate Company 2009 Sales Stats Comparison
Whistler Real Estate Company 2009 Sales Stats Comparison
 
Id
IdId
Id
 
TRG Capabilities Statement 2009
TRG Capabilities Statement 2009TRG Capabilities Statement 2009
TRG Capabilities Statement 2009
 
Blogspot
BlogspotBlogspot
Blogspot
 
Westernciv Danandtom
Westernciv DanandtomWesternciv Danandtom
Westernciv Danandtom
 
Sepsis Guidelines 2007
Sepsis Guidelines 2007Sepsis Guidelines 2007
Sepsis Guidelines 2007
 
Sesión 1
Sesión 1Sesión 1
Sesión 1
 

Similar to Ignite - selfhosting WordPress - tips and tricks

Neo word press meetup ehermits - how to keep your blog from being hacked 2012
Neo word press meetup   ehermits - how to keep your blog from being hacked 2012Neo word press meetup   ehermits - how to keep your blog from being hacked 2012
Neo word press meetup ehermits - how to keep your blog from being hacked 2012
Brian Layman
 
Word Camp Ph 2009 Word Press In The Wild
Word Camp Ph 2009   Word Press In The WildWord Camp Ph 2009   Word Press In The Wild
Word Camp Ph 2009 Word Press In The Wild
rebelpixel
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
Michael Peacock
 
WordCamp Philippines 2009: WordPress In The Wild
WordCamp Philippines 2009: WordPress In The WildWordCamp Philippines 2009: WordPress In The Wild
WordCamp Philippines 2009: WordPress In The Wild
rebelpixel
 
Midwest php 2013 deploying php on paas- why & how
Midwest php 2013   deploying php on paas- why & howMidwest php 2013   deploying php on paas- why & how
Midwest php 2013 deploying php on paas- why & how
dotCloud
 
Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009
Helgi Þormar Þorbjörnsson
 

Similar to Ignite - selfhosting WordPress - tips and tricks (20)

Neo word press meetup ehermits - how to keep your blog from being hacked 2012
Neo word press meetup   ehermits - how to keep your blog from being hacked 2012Neo word press meetup   ehermits - how to keep your blog from being hacked 2012
Neo word press meetup ehermits - how to keep your blog from being hacked 2012
 
Migrating to WP Engine
Migrating to WP EngineMigrating to WP Engine
Migrating to WP Engine
 
Word Camp Ph 2009 Word Press In The Wild
Word Camp Ph 2009   Word Press In The WildWord Camp Ph 2009   Word Press In The Wild
Word Camp Ph 2009 Word Press In The Wild
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
 
Automated Deployment
Automated DeploymentAutomated Deployment
Automated Deployment
 
Presentation_On_25June09
Presentation_On_25June09Presentation_On_25June09
Presentation_On_25June09
 
Sanjay and Ganesh Work Report 25.06.09
Sanjay and Ganesh Work Report 25.06.09Sanjay and Ganesh Work Report 25.06.09
Sanjay and Ganesh Work Report 25.06.09
 
Introducing Wordpress Multitenancy
Introducing Wordpress MultitenancyIntroducing Wordpress Multitenancy
Introducing Wordpress Multitenancy
 
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
 
Connections install in 45 mins
Connections install in 45 minsConnections install in 45 mins
Connections install in 45 mins
 
WordCamp Philippines 2009: WordPress In The Wild
WordCamp Philippines 2009: WordPress In The WildWordCamp Philippines 2009: WordPress In The Wild
WordCamp Philippines 2009: WordPress In The Wild
 
WordPress Setup and Security (Please look for the newer version!)
WordPress Setup and Security (Please look for the newer version!)WordPress Setup and Security (Please look for the newer version!)
WordPress Setup and Security (Please look for the newer version!)
 
Midwest php 2013 deploying php on paas- why & how
Midwest php 2013   deploying php on paas- why & howMidwest php 2013   deploying php on paas- why & how
Midwest php 2013 deploying php on paas- why & how
 
Rock Solid WordPress
Rock Solid WordPressRock Solid WordPress
Rock Solid WordPress
 
Simple flexible deployments with openstack ansible
Simple flexible deployments with openstack ansibleSimple flexible deployments with openstack ansible
Simple flexible deployments with openstack ansible
 
J+s
J+sJ+s
J+s
 
Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009Website releases made easy with the PEAR installer, OSCON 2009
Website releases made easy with the PEAR installer, OSCON 2009
 
Containers for grownups migrating traditional & existing applications[1...
Containers for grownups   migrating traditional & existing applications[1...Containers for grownups   migrating traditional & existing applications[1...
Containers for grownups migrating traditional & existing applications[1...
 
A Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container PlatformsA Survey of Container Security in 2016: A Security Update on Container Platforms
A Survey of Container Security in 2016: A Security Update on Container Platforms
 
Security, more important than ever!
Security, more important than ever!Security, more important than ever!
Security, more important than ever!
 

Recently uploaded

Recently uploaded (20)

Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Agentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdfAgentic RAG What it is its types applications and implementation.pdf
Agentic RAG What it is its types applications and implementation.pdf
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
The UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, OcadoThe UX of Automation by AJ King, Senior UX Researcher, Ocado
The UX of Automation by AJ King, Senior UX Researcher, Ocado
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 

Ignite - selfhosting WordPress - tips and tricks

  • 1. Self-hosting multiple WordPress blogsMy experience, tips and tricks Martin Buckley ezs@evilzenscientist.comtwitter: @ezs
  • 2. Some history and context First on-line presence way back in 1993 Evolution over 16 years: Static HTML  something a little more automated  blogging Also my extended family are in the UK/NZ – keeping the Grandparents up to date is important.
  • 3. Technology evolution Way back - ftp upload of html/content to some Unix host Since 2000 – static IP and self hosting 2000 – NetWare (!) + static content 2003 – SLES 8 + Apache + static content 2005 – SLES 9 + Apache + mysql + WordPress 1.5 2009 – virtualised web + mysql on SLES
  • 4. Why self-hosting I’m a technology geek. Self hosting means live servers, a great sandbox and a real learning environment. (I also run the home infrastructure..) I get ultimate flexibility and control. Hosting elsewhere is cheaper – with the usual issues around security, platform, updates etc
  • 5. Hosting for friends and family The ultimate scope creep. Started with the ‘family blog’ – added my ‘personal blog’ … … then added various additional blogs for family members; three blogs for friends and my sisters Cub Scout pack. Now over a dozen in total.
  • 6. Understanding the ‘stack’.. And it all needs testing and patching Gallery2 Themes Plugins – ‘Core’ and ‘Per site’ WordPress Core Database + data Graphics helpers for Gallery2 Apache/PHP/mysql/libs SLES Hardware
  • 7. Old school patching Check on a semi-regular basis for updates to WordPress (e.g. 1.5  1.6) Download; unpack; test. Check for Linux updates on a regular basis Download; update; test.
  • 8. Patching today Plugins seem to be updated on an almost daily basis. WordPress at last has a more regular cadence for updates; expect the flurry of point releases after a major rev.
  • 9. The challenge Each blog is built of a ‘core’ set of plugins – with some specific functionality added on top. There are a couple of hand-coded modifications in place (theme and php-exec plugin) How to keep ‘secure’ and functional – without spending 20 hours a week patching..
  • 10. Change control is key Discipline keeps things sane. Consistent core blog structure Document changes; test the changes; deploy the changes Have a rollback/backup plan Plan for major, grouped updates My last one was to 2.8.3 Expect the short notice security fixes 2.8.4!
  • 12. Test, test – test again. Something unexpected will always happen. e.g. libxml2/PHP bug – trac 7771 http://core.trac.wordpress.org/ticket/7771 http://www.evilzenscientist.com/blog/2009/08/05/php-xml-parsing-bug-and-a-workaround/
  • 13. Backup and recovery Backup is really important. Understand everything that needs to be archived for recovery. Mysql dump; filesystem dump Configuration files from server Documentation
  • 14. Backup Weekly dump of mysql and configto offline disk. Monthly dump of photos to offline disks. Full archive every quarter. Stored in a fire safe. Looking at going back to tape to make this easier and faster.
  • 15. Restore Fire/theft/hackers/malware/bad hardware. Something will eat the data. Since 2000 I have rebuilt the web servers over a dozen times – upgrade OS, moving OS, moving hardware, replacing failed hardware, upgrading hardware – all the usual reasons. Practice your data rebuild before the emergency!
  • 16. Security Having anything internet facing invites intruders. Everything from casual inquiries to more serious hacking and DOS attempts. At some point someone will try and hack/attack you. Be prepared.
  • 17.
  • 18. Have an edge firewall and intrusion detection.
  • 19. Understand your normal traffic patterns in and out
  • 20. NAT helps a little
  • 21.
  • 24. Have good quality passwords
  • 25.
  • 26. Resources Microsoft/Web – WordPress http://www.microsoft.com/web/gallery/WordPress.aspx Microsoft WebsiteSpark http://www.microsoft.com/web/websitespark/ OpenSUSE http://www.opensuse.org/en/ OpenSUSE software search/multi distro http://software.opensuse.org/search