WordPress MU 101

3,421 views

Published on

WordPress MU 101: An Introduction to WordPress MU and What it Takes to Efficiently Run a Large Network

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,421
On SlideShare
0
From Embeds
0
Number of Embeds
54
Actions
Shares
0
Downloads
44
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

WordPress MU 101

  1. 1. Pete Mall @petemall [email_address] WordPress MU 101
  2. 2. What is WordPress MU <ul><li>Underlying software for wordpress.com </li></ul><ul><li>Multi-user version of WordPress </li></ul><ul><li>Unlimited users and blogs </li></ul><ul><li>Scalable </li></ul><ul><li>Independent permissions, themes & plugins </li></ul><ul><li>Powerful CMS </li></ul><ul><li>WordPress and WordPress MU to be merged </li></ul>
  3. 3. Who is WPMU for? <ul><li>Newspapers and Magazines </li></ul><ul><li>Universities </li></ul><ul><li>Blog Networks </li></ul><ul><li>Niche-specific blog hosts </li></ul><ul><li>You? </li></ul>
  4. 4. Why use WordPress MU? <ul><li>Supports multiple blogs and bloggers </li></ul><ul><li>Easily switch between blogs </li></ul><ul><li>Single install – easy to update </li></ul><ul><li>Easy to manage plugins and themes </li></ul><ul><li>Content Management System </li></ul>
  5. 5. WordPress MU Requirements <ul><li>PHP version 4.3 or greater </li></ul><ul><li>MySQL version 4.0 or greater </li></ul><ul><li>Apache mod_rewrite (Linux Hosting Recommended) </li></ul><ul><li>Wildcard CNAME record for subdomain </li></ul><ul><li>Avoid Shared Hosting </li></ul>
  6. 6. Configure Apache <ul><li>Add the following to httpd.conf </li></ul><ul><li>/usr/lib/apache2/modules/mod_rewrite.so </li></ul><ul><li>Virtual Host  <Directory> directive </li></ul><ul><li>Replace “AllowOverride None” with “AllowOverride FileInfo Options” </li></ul>
  7. 7. Installing WordPress MU <ul><li>Create database for WordPress MU </li></ul><ul><li>Download and extract </li></ul><ul><li>Set permission to / and /wp-content to 777 </li></ul><ul><li>Run WordPress MU installation script </li></ul><ul><li>Wait for the Magic! </li></ul><ul><li>Reset the permission to / and /wp-content to 755 </li></ul>
  8. 8. Configuration <ul><li>Sub-domain vs Sub-directory </li></ul><ul><li>Sub-domain: blog.domain.com </li></ul><ul><li>Sub-directory: domain.com/blog </li></ul>
  9. 9. Configuration: Sub-domains <ul><li>DNS Wildcard Record </li></ul><ul><li>*.domain.com. 14400 IN A 76.74.254.126 </li></ul><ul><li>Add the following to httpd.conf under <VirtualHost> </li></ul><ul><li>ServerAlias *.domain.com </li></ul>
  10. 10. Plugins <ul><li>Regular Plugins: wp-content/plugins </li></ul><ul><li>MU Plugins: wp-content/mu-plugins </li></ul><ul><li>Site-wide plugins </li></ul><ul><li>Blog specific plugins </li></ul>
  11. 11. Installing Regular Plugins <ul><li>/wp-content/plugins </li></ul><ul><li>Enable plugin access: </li></ul><ul><li>Site Admin > Options > Menus > Plugins </li></ul><ul><li>Download and extract to wp-content/plugins </li></ul><ul><li>Activate plugins sitewide </li></ul><ul><li>Activate plugins on a per-blog basis </li></ul>
  12. 12. Installing MU Plugins <ul><li>/wp-content/mu-plugins </li></ul><ul><li>Not recommended for WordPress plugins </li></ul><ul><li>Download and extract to wp-content/mu-plugins </li></ul><ul><li>Plugins are automatically activated sitewide </li></ul><ul><li>Plugins don’t appear wp-admin > plugins </li></ul><ul><li>Blogs owners have no control over plugins </li></ul><ul><li>Core site plugins </li></ul>
  13. 13. Installing Themes <ul><li>Download and extract to wp-content/themes/ </li></ul><ul><li>Activate themes before they can be used </li></ul><ul><li>Activate themes sitewide: </li></ul><ul><li>Site Admin > Themes > “yes under activate” </li></ul><ul><li>Blog specific themes: </li></ul><ul><li>Site Admin > Blogs > Edit > Blog Themes </li></ul>
  14. 14. Site Options <ul><li>Site Admin > Options </li></ul><ul><li>Allow blog owners to add new users </li></ul><ul><li>Allow new registrations * </li></ul><ul><li>Banned Names </li></ul><ul><li>Restrict new registrations to certain domains </li></ul><ul><li>Limit blog upload space </li></ul><ul><li>Limit upload file types </li></ul><ul><li>Limit upload file size </li></ul>
  15. 15. Caching <ul><li>MU caching framework allows third party caching engines </li></ul><ul><li>Two types of caching frameworks: </li></ul><ul><ul><li>Object Cache: </li></ul></ul><ul><ul><ul><li>Store commonly accessed data in a rapid access container (RAM / filesystem) </li></ul></ul></ul><ul><ul><li>Full Page Cache: </li></ul></ul><ul><ul><ul><li>Store complete web pages </li></ul></ul></ul><ul><ul><ul><li>Generally faster, less flexible </li></ul></ul></ul>
  16. 16. Spam <ul><li>Spam Comments </li></ul><ul><ul><li>Akismet </li></ul></ul><ul><ul><li>Hashcash </li></ul></ul><ul><li>Spam Signups </li></ul><ul><ul><li>CAPTCHA </li></ul></ul><ul><ul><li>.htaccess hack </li></ul></ul>
  17. 17. Code Backup <ul><li>backup: tar czf backup_html_$(date +%Y_%m_%d-%H_%M).tar.gz html/ </li></ul><ul><li>exec ./backup </li></ul><ul><li>backup_html_2009_10_10-11_43.tar.gz </li></ul>
  18. 18. Database Backup <ul><li>backupdb: mysqldump -h <hostname> -qp --all-databases | gzip > all-databases_$(date +%Y_%m_%d-%H_%M).sql.gz </li></ul><ul><li>exec ./backupdb </li></ul><ul><li>all-databases_2009_10_10-11_45.sql.gz </li></ul>
  19. 19. Domain Mapping <ul><li>Allow users to map their blog to a domain </li></ul><ul><li>myblog.com vs myblog.domain.com </li></ul><ul><li>User points A record to MU site </li></ul><ul><li>Domain Mapping plugin maps their domain to their blog </li></ul>
  20. 20. Multi-DB Plugin <ul><li>Standard MU installation requires only one db </li></ul><ul><li>Multi-DB plugin splits single db into multiples </li></ul><ul><li>Easy to manage </li></ul><ul><li>Performance boost </li></ul>
  21. 21. PHP Settings <ul><li>Don’t display error messages on production </li></ul><ul><li>php_flag display_errors 0 (.htaccess) </li></ul><ul><li>register_globals = Off (php.ini) </li></ul><ul><li>Increase memory limit to 32MB or 64MB </li></ul><ul><li>Turn GLOBAL variables off </li></ul><ul><li>php_flag register_globals 0 (.htaccess) </li></ul><ul><ul><li>display_errors = Of </li></ul></ul><ul><li>Turn error logging on </li></ul>
  22. 22. Questions? <ul><li>[email_address] </li></ul><ul><li>@petemall </li></ul><ul><li>developersmind.com </li></ul>

×