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 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:

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.

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.

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.

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.

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.

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".

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".

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:

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.