An Introduction to BuddyPress

Social Networking with BuddyPress

Automattic, the company behind WordPress, has recently acquired and will be releasing social networking software called BuddyPress. The software, built on top of WordPress, was created by Andy Peatling as way to start your very own social network similar to Facebook. Today, we will take a look at installing BuddyPress.

Step 1 – What is BuddyPress?

BuddyPress

BuddyPress is a social networking application built on top of WordPress Multi-User (MU) as a plugin. WordPress MU is the the software behind WordPress.com. It allows a user to host a network of blogs on a site. BuddyPress adds a large variety of new social interaction features to WordPress. The features can be added all at once or as individual components:

  • A WordPress blog
  • Individual profiles for members
  • Private Message (PM) functionality
  • Friend Networks
  • Groups, which include a blog, photos and other user generated content
  • "The Wire" (like the wall on Facebook)
  • Activity/Action streams of public actions on the site
  • Forums using bbPress
Features

A fully featured demo is available at the BuddyPress website.

Demo

Today, we will install a full installation of BuddyPress (all the bells and whistles), so we can start a social network from scratch.

The software is in its RC stage, but is nearing its final version. The current version will help you get started with social networking by providing an admin control panel and all the basic features outlined above. You will then be ready to upgrade to the final version when the time comes.

Step 2 – Requirements

Before you install the BuddyPress system, your server will require you have two components already in place:

  • a MySQL database to store all the BuddyPress information. If you do not have a database created, create one with a user who has all privileges (such as UPDATE, INSERT, DELETE, SELECT) on that database. Remember the username/password and database name for later steps.
  • a mod rewrite module so you can have clean URLS. If you have used WordPress or another piece of software that has clean URLs, then you should be ready to proceed without adding this component again.
phpMyAdmin

Step 3 – Download WordPress MU

Before you can start the BuddyPress installation you will need a copy of WordPress MU installed. Grab the latest version (ZIP) (TAR.GZ) and unzip it. You should see a folder with a name similar to "wordpress-mu".

Upload the files in this directory to the location where you want to access your site. This can be the main domain or a subfolder. Grab a cup of coffee or tea while you wait for the upload to finish.

FTP/Files

Step 4 – Install WordPress MU

Once the upload has completed you can go ahead and install WordPress MU.

Point your browser to the directory where you uploaded the files so that index.php is executed. You will be shown a screen to enter some details. The settings should be filled as given below:

  • Blog Addresses – For the purpose of this article we will select "sub-directories". If you happen to have Wildcard DNS records enabled, you can select the other option, but that is outside the scope of this article.
  • Database Name – The database name from Step 2
  • User Name – The username from Step 2
  • Password – The password from Step 2
  • Database Host – This is usually localhost if the MySQL server is on the same server as the web server. Only change this if the installation is returning errors about the server/host setting.
  • Server Address – The installer should be able to guess this setting, but double check that it is set to the server/domain you are installing to.
  • Site Title – This will be the name of the social network site, so name it whatever you want.
  • Email – Enter a valid email address to be used for the admin account.
Install

Once you have double-checked all the above settings, click Submit. If all goes well, you should be greeted with an "Installation Finished!" screen that includes your username and password. You have also been sent an email with the same details included.

Before you continue, follow the instructions for setting permissions on the Installation Finished page.

Install

Step 5 – Download BuddyPress

At this point, you can now install the BuddyPress system. Since we are installing the full system, you can download the "combo" archive here.

Unzip the combo file and upload all the contents of the extracted zip to the root mu-plugins folder located in wp-content. Upload ALL the folders and files located in the zip, and make sure these folders and files have been chmodded to 755.

Move the mu-plugins/bp-themes folder you just uploaded to wp-content. Make sure these folders have been chmodded to 755.

Files

Step 6 – Setup BuddyPress

Once the files are uploaded, log in to the WordPress MU admin control panel with the username and password you created earlier. The URL to log in (emailed to you when you installed WordPress MU) is in the form http://yourdomain.tld/folder/wp-login.php

Under the "Site Admin" menu find the "Themes" link and click it. You will be shown a list of installed WordPress MU themes, one of which is the BuddyPress theme. Select "Yes" for "BuddyPress Home Theme" and click "Update Themes".

Themes

Finally, you will need to enable registrations if you want users to be able to sign up for your site. Under the "Site Admin" menu go to "Options" and make sure the Enabled option is selected for "Allow new registrations".

Allow New Registration Settings

Congratulations! Your social network is now ready for use. When logged into the admin control panel, you can manage a few settings from the "BuddyPress" link under "Site Admin". To view your new network and profile click "My Account" from the admin bar at the top of the screen and select "Activity" or "Profile".

Step 7 – Additonal Plugins and Themes

The plugin space for BuddyPress is small right now, but it will probably explode with new activity like WordPress once did. However, there are a few cool plugins available for BuddyPress right now:

  • bpGroups which includes improvements to the group system.
  • Invite Friends which adds some functionality to allow you to add friends from other social networking applications like Twitter, Facebook and GMail.
  • Twitter To Wire which adds your tweets to your wire (the BuddyPress version of Facebook's Wall) automatically.

There is also a page for themes, but no themes have yet been made available for download. If you are curious about the power of the theming system, you can view a few examples at WannaNetwork, GrungePress, and Flokka.

Extend Screen Shot

Closing

I hope this tutorial has been successful in introducing you to BuddyPress and has opened up an opportunity for you to start your own social network site. The WordPress MU / BuddyPress configuration provides more social functionality than can be provided by a simple forum or blog network setup.

Remember, this tutorial is meant to familiarize you with the software and its installation before its final release. If you want to continue with your BuddyPress installation on the programming side of things, the BuddyPress Codex has some developer documentation.

  • Subscribe to the NETTUTS RSS Feed for more daily web development tuts and articles.


Add Comment

Discussion 81 Comments

Comment Page 1 of 21 2
  1. BroOf says:

    Hey this looks really cool! I think I will try it!

  2. Wow, this article is great. I liked it, and I am thinking about using Buddypress.

  3. Darren says:

    I’ve just been looking at BuddyPress for a project last week.

    Test install was perfect first time. It really is a good setup.

    Nice write up.

  4. That great, i need this tutorial.

  5. Shane says:

    Nice overview – for those who don’t know, the creators of WordPress have also created forum software called bbPress.

  6. Nate says:

    But I’ve already installed regular WordPress, is there a version for that? Why do I need to get MU?

  7. John Deszell says:

    I looked into this a few months ago, I need to play around with it…when I get some some lol

    I have an idea on what I want to use it for.

  8. Lee Rickler says:

    I’ve been experimenting with BP for some time now – A lot of good elements mixed with a beta feel.
    Slowly we find time to work some more and enjoy it when we can.

  9. Matt says:

    One thing I would like to see is a good out-of-thebox solution to real-time instant messaging like you see facebook now. Private messaging is different those are like secret messages found in a users inbox( a standard feature in forums )

  10. VINAY says:

    One More wonderful masterpiece from wordpress…

  11. Kevin Martin says:

    Wow, pretty concise and thorough. Never knew there was a MU version of WP available to the public. I had thought of making my own script similar to BuddyPress before I found out it existed.
    Good Job.

  12. Alen says:

    great tutorial ! tnx ;)

  13. Thanks for the good tutorials

  14. Al says:

    News to me.
    Thanks.

  15. Ryan Hickman says:

    Been using buddypress for a few months now, i must say its very cool. I just have issues with wordpress mu — as its not as stable as the regular release

  16. paul says:

    this is like the second best day of my life..the flash tuts one was the first!

    life just get better everyday….

  17. Jash Sayani says:

    Wow! Great tutorial!!

    However “start your own social networking site” sounds futile with giants like Facebook, Friendfeed and Twitter.

    But this can be great as companies’ internal social network platform…

    • w1sh says:

      You’d be surprised how many companies are launching social networking sites every single day.

      Check out some freelance job-posting sites (scriptlance, guru) and you’ll see these going off for $1,200 a pop. ;)

  18. I’m working at this moment on social network based on MU + BBpress. What I’ve found so far that is a little bit “not perfect”:
    1. Instalation process – the way is explain in documents is confusing – if you don’t do things right in the first place the best way is to install once again from zero and,
    2. Somehow it’s very slow. On the same hosting I’ve got few more WP based sites and they run nice and smoothly but MU-WP + BBpress very often work dead slow.

  19. xx says:

    something screwed up with the directions. The read me with buddypress says to do this with the themes not what you said above.

    step 3: Move the themes to their correct locations

    Move the home theme:
    From: ‘wp-content/mu-plugins/buddypress-theme/buddypress-home’
    To: ‘wp-content/themes/buddypress-home/’

    Move the member theme:
    From: ‘wp-content/mu-plugins/buddypress-theme/member-themes/buddypress-member/’
    To: ‘wp-content/member-themes/buddypress-member/’

  20. Paris Vega says:

    Definitely going to try this out.

  21. milo says:

    Seems like you forgot the member themes set up…

  22. Thanks for the link to WannaNetwork.com

    It’s definitely been an interesting building the network off of WordPress MU and BuddyPress (especially since BP is pre1.0), but we’re glad that we made the decision.

    Thanks.
    Dustin Dempsey
    WannaNetwork.com Developer

  23. been following buddypress for awhile, haven’t had a chance to mess around with it yet

  24. Rob says:

    For social networking platforms, there are sites/services like Ning.com and competitor SocialGo.com that bundle it all together. Of course, the blogging system is in no way as solid as WP, but these services are headed in the direction of “build-your-own-facebook” sites. Ranges from free to premium services with tons of features — definitely worth a look if you’ve wanted to build something along those lines.

  25. Mason Sklut says:

    Thanks for the tut, I’m glad Automattic came out with this. They’ve done a great job with WordPress, so this should be great.

  26. Andy Gongea says:

    Don’t know if we need any other social networks.
    Anyway, I’ve tested BP and it looks OK.

  27. sid says:

    does this means that registered users can have their own blog within the social network?

  28. josheat says:

    Oh man.
    I’m not sure if I look forward to a flood of new social networking sites.
    Myspace and Facebook are enough to deal with already!

    Sweet app though

  29. Ariyo says:

    This is awesome. Exactly what I needed. Thanks!

  30. B. Ackles says:

    Great Tutorial! Would you be willing to do a follow-up on how to set up the wildcard DNS for the ‘blog address’? I’d love to see how to set up my social networks for custom sub-domains.

  31. Jack F says:

    Great tutorial. Any idea if BBpress might intergrate in as well?

  32. Martyn says:

    If any one needed proof that social media is here to stay then this is it.

    I wish I had enough time to test this out for myself and really come up with something great.

    I Look forward to see how it goes

  33. Evan Byrne says:

    I tried BP out a while ago, ran into some stupid errors, then gave up on it. Hopefully it is more stable now.

  34. Paul Morales says:

    Wow, that’s pretty cool for a wordpress site ;)

  35. Andrea_R says:

    Actually, there have been themes released for BuddyPress over at freebpthemes.com and buddydress.com.

  36. ORiOn says:

    Where the hell is the “Site Admin” menu go to “Options”…

    I can’t find it… lol

    Can someone give me an example link?

  37. was just thinking, Huh i wonder what ever happened to buddypress then i saw this. Huh. :)

  38. ORiOn says:

    I really need help!

    “Where’s the “Site Admin” => “Options”…

    I can’t find it… lol

    Can someone give me an example link?”

    • Elliot says:

      I’m adding my link because the ORiOn user asked for an example link. Check my tutorial, what you need to look at is on the third screen capture:
      http://www.ilovecolors.com.ar/starting-with-buddypress-wordpress-mu/

      This article doesn’t address the issues of installing in a local Windows server like WAMP. You can’t just use localhost as your host, instead, you must use localhost.localdomain or something like that, and you must add the new hostname to the hosts file located in c:\windows\system32\drivers\etc.

      Other than that, nice tutorial.

  39. Hmmm… sounds like BuddyPress is a good script to install. Thanks for the tutorial!

  40. OMGItsIsaias says:

    I kept having a hard time getting the css files linked up, so it would just display nasty div’s. >:(

    Btw, I am currently working on developing a BuddyPress theme I will be using for a site (in the works), so if anyone needs help with buddypress, let me know! ;)

    Great Tutorial Thanks!

  41. darkShizzle says:

    the only thing they have missing is photo albums…. i hope they implement that very soon

  42. oto kiralama says:

    Studies for a long time I’d been really great. We thank you very much
    I wish you continued success of the site administrator

  43. kunal says:

    I just installed my social network. It is not the most obvious of procedures but I trust the company that runs wordpress. Now to figure out how to customize it.

  44. mike says:

    they have recently launched it but have to work on it more

  45. Good instructions!

    Any Plugin for Google Analitics that would work with BuddyPress ( or WPMU)?

  46. In the step 6 – missing part is wher to put each BP Theme. :)

  47. chand says:

    Hi everyone,
    Is it possible to connect it to Flex, and if we connect wordpress with Flex then please let me know. WordPress is also opensource like drupal.

    Thanks

  48. Photowork says:

    How to integrate bbpress forum with WMU? Anybody know?

  49. praful says:

    Thanks for ur instructions

  50. Student Talk says:

    Thank you for sharing. Student Talk, Students Social Network Community and Utility that Help Students Socialize Around the world for Teacher Education and Meet, Exchange and Share Essays, Graphic Designs, Presentations, PowerPoint Projects. Students Looking to Educate in School College University Organization Institute Association, Totally Educational.

Comment Page 1 of 21 2

Add a Comment

To add a code snippet to your comment, please wrap your code like so: <pre name="code" class="html">YOUR CODE</pre>. You can replace the class name with "js," "css," "sql," or "php." If there are any "<" or ">" within your code, please search and replace them with: &lt; and &gt; respectively.