Disclosure: I get commissions for purchases made through links in this post. This helps keep this website running.
You don't need to be a technical wizard to make a social network that works beautifully for your users on desktop, laptop, tablet or mobile. There is free open-source software that you can use to make this, and best of all, it's point-and-click. That's right - you can literally point and click your way to create a social network site! Here I'll take you through how to do this, every step of the way, with illustrations.
Best of all, the total cost of everything is cheaper than a cup of coffee per month. That's for your domain and web hosting which you'd need for any type of website you run. There are no costs besides that.
Imagine how wonderful it will be to have your own site where your friends can join. Or maybe it'll be a place for a community around a shared interest. In our step by step example, I'll show the creation of a network all about recipes and cooking, but you can make it about anything you want.
Let's take a quick look at the costs first. The good news is that it will add up to less than a cup of coffee per month. Putting up any website has some cost, and that's where your costs come in. In fact, the social network part of it is free. The costs (in US dollars) are:
- Domain name purchase: about $10 (per year)
- Hosting: less than $5 per month
I'll cover the how-to's of these 2 things next, and then we'll move on to the fun part of setting up the social network. It won't take much time, and as mentioned before, it takes zero technical know-how.
Step 1: Get a domain name
This is fun! Your site needs to have a web address, so you need to buy a domain name, for example allaboutrecipes.com or whatever you want to call it. You can even call it something generic like jotsplash.com if you're not quite sure exactly what direction you want to go with it.
Once you think of a name, go over to NameSilo.com and search to see if it's available. You may have to try some variations of your domain name if it's already taken.
NameSilo is a reliable and reputable registrar and I've bought domain names there before. Some people like GoDaddy, but honestly their site is confusing to use. It's like jumping through hoops just to buy the domain name! If for whatever reason you don't like NameSilo, I'd recommend Namecheap instead, it's also very reputable and easy to use.
Both of the registrars I just mentioned make it very easy to go buy a domain name, but if you want a bit more guidance you can check out my illustrated tutorial on how to buy a domain name with screenshots at each step of the way.
OK, let's assume you now have your domain name. What's next?
Step 2: Set up web hosting
Web hosting is very easy to set up, but you'll need to pick one that has cPanel (a point-and-click back end to your website) and Softaculous (1-click software installer). I recommend A2 Hosting or GreenGeeks; they each have both those features already bundled into their plans. Both have plans starting under $5 per month and I've used both at different times and been thrilled with them. This whole tutorial will work identically for both hosts by the way; the screenshots I show here will be the same on both, so you can't go wrong with either one.
It's going to be extremely hard if you're with a host that doesn't have cPanel and Softaculous: this tutorial makes heavy use of those. The bottom line: you're welcome to pick any other host you like, but make sure it has those things so that you can follow along the tutorial.
For whatever host you pick, you'll just need the cheapest level of shared hosting to start out with - typically found under the host's "web hosting" or "shared hosting" menu. There's no need to spend extra if you don't need to. You can always upgrade later if you need to. So for actual plans, I recommend going with A2 Hosting on the Startup plan or GreenGeeks on the Lite plan; those are the cheapest level of plan at those hosts. I've used both hosts and attest they are fast, reliable, reputable, and easy to use.
However, if budget is a major concern and you need absolute rock-bottom pricing, you could try Asura Hosting on their Starter cPanel plan (NOT the Starter DirectAdmin plan - you need cPanel). Note that I have never used Asura so I can't attest one way or another to its performance.
Step 3: Connect your domain to your web host
Now you just need to connect your domain name up to your hosting. No matter what host you use, after you purchase your hosting plan, you’ll need to log into your domain name registrar (e.g. NameSilo) and point your domain to your host. It’s a very simple and easy 1-step thing that you only ever need to do once.
In the welcome email from your web host, it will tell you the names of the nameservers that you’ll need to type in at your domain name registrar, so ignore all the other info in the email and look for the nameservers - they'll look something like ns1.yourhost.com and ns2.yourhost.com.
The exact place to enter these names at your domain name registrar will be different at different registrars, so if unsure, check in your registrar’s knowledgebase for how to update nameservers for a domain.
If you'd like a little extra help, don't worry, I have written a step by step tutorial for you here!
Step 4: Wait a bit for changes to propagate
Go have a cup of coffee at this point. You'll need to wait anywhere from 1 hour (NameSilo is pretty good about this) to 48 hours (your ISP can also have an effect on how long this takes). I recommend waiting the 1 hour.
Step 5: Log into cPanel
Now you want to log into the back end of your website. First, go back to that welcome email you received from your web host. In there somewhere will be a username and password for you to log in to cPanel. Again, don't worry about everything else in the email - just look for a mention of cPanel and the username and password for that.
In your browser, navigate to the name of your website with /cpanel at the end. So if your domain name is allaboutrecipes.com then you type in the top bar of your browser allaboutrecipes.com/cpanel
You can alternatively try adding :2083 instead of cpanel e.g. allaboutrecipes.com:2083
Either way should take you to a page that looks like the pic below. If it does not, it may mean that you didn't wait long enough in step 4. If that's the case, clear your browser history from the past hour and wait longer and try again. If unsure or if you've been waiting more than a few hours, contact your web host's support on live chat - they'll help you out.
Log in with the cPanel username and password that you got in your welcome email. We're getting so close to installing your social network! The actual installation is very easy, so if you're at this point, you've totally got this.
Step 5: From inside cPanel, open Softaculous
Now you should be inside cPanel. There's a lot of stuff there!
One of the options is to set up email for your domain, which you can do now if you like (just click on "email accounts" and then "create" and it's pretty straightforward). You can do it later if you prefer. Let's move on with our tutorial though.
To set up the social network, scroll down until you see something called "Softaculous" or "Softaculous App Installer", like this:
In the lower row of the Softaculous box, click on "Social Networking". Important note: if you do not see Social Networking, don't stress! Just use the side arrows until you find it, or if not, just click on any of the ones in that lower row (e.g. "Blogs") and in the next screen you'll be able to select "Social Networking" from the menu on the left.
Step 6: Find Elgg from inside Softaculous
At this point, you're inside Softaculous in the Social Networking category. Scroll down until you find something called Elgg 3 (it may be just called Elgg on your screen). Your screen will look like this:
Elgg is the social networking software we'll be using, so click the Install button. This will take you to a screen with some details to fill out. Don't worry, I'll go over every one of those fields with you.
Step 7: Install the Elgg social networking software
At this point, your screen will look like this. Below the image, I'll explain what needs to go in each field.
1. Choose protocol - this is a dropdown menu that lets you choose https, http and www or non-www versions. The quick answer is that if you're unsure, pick http (without the www). You can always switch toward https later using other methods. But the best answer is to first check if your site has https - to do this, open a new browser or tab. Then type in https://yourdomainname.com e.g. https://allaboutrecipes.com Make sure to actually type the https in front of the domain name! If the browser does not complain at you (a blank page is totally fine, as is "Index of cgi-bin" or any other default page), then your site already has https. In that case, in "choose protocol" on your Elgg fields you can safely select "https" knowing it will all work fine. If on the other hand the browser complained about a missing certificate or a non-secure site, then select "http" and move on, but also fill out a support ticket to your host asking them to install an SSL certificate for you.
2. Choose domain - self-explanatory. Select your domain name from the drop-down.
3. In directory - leave this blank! Yes really. No matter how tempting it is to put something there, you don't want to do that. Leaving it blank ensures that your social network will appear on your domain's home page, which is generally what you'd want.
4. Choose the version you want to install. This is what version of Elgg you want to install. Here I picked 3.3.24 and to follow along the tutorial you may like to pick that one too. You certainly don't want anything older than that because 3.3.24 patches some important security issues. You may certainly pick whatever newer version may be available, but as a heads-up, I couldn't get version 4 of Elgg to work when I tried it. It just gave me an error page. Note that at the time I tried it, version 4 had just been freshly released, so it's certainly possible that a newer patch has fixed those issues. For this tutorial, let's go ahead with 3.3.24 since it worked just fine.
5. Site name - this is what will show up on the main menu of your new site and on the browser tab title. Keep it relevant to your topic and super-simple and short! In this case, I switched mine from the default "My Elgg site" to "Recipe Fans" since our example site is about recipes and cooking.
6. Site description - this description is mainly for search engines and can be a bit longer than the site name. Make sure it contains some keywords that are of interest to your topic. I switched from the default "Welcome to your Elgg site!" to "All about cooking and recipes".
7. Site email - this can be any email address that you can access. It need not be an email address at your domain. It could be your ordinary personal email address at gmail, yahoo etc, for example. If you plan on setting up an email address at your domain for this, don't pick something boring! We have an article showing how to pick exciting role-based email addresses for your business.
8. Admin username - make this be something that identifies you as an admin in case you need to make an announcement on the site. I switched from the default of "admin" to "Administrator".
9. Admin password - whatever you do, don't accept the default! Make your own highly secure unique password. This sounds obvious, but make sure you also write this down or can remember it. Most of the subsequent site settings will be done as admin so you'll need to know your admin username and password.
10. Admin email - as for site email, this can be any email address that you can access.
11. Advanced options [optional] expand that out. The main thing to attend to is that it'll have some defaults for the database name and prefix. I recommend for security reasons to go ahead and switch those for something with the same number of letters and digits, but just different ones so that you don't have the default settings. It just gives you a little added security. It's not an issue if you leave it set to the default, but I always change this. In this section you can also optionally select if you want to auto back-up, so you can choose to have the site automatically back itself up, which I do recommend doing if your web host allows it. If your host doesn't allow it you won't get the option to change that, so don't worry.
FINALLY! Press the Install button, wait a few minutes, and then hey! Congratulations! You now have a social network site.
Stop 8: Log in to your social network and customize the settings
Besides your main site URL (e.g. allaboutrecipes.com), you should remember or bookmark the admin URL, which is your site URL followed by /admin (e.g. allaboutrecipies.com/admin ).
Initially, nothing is going on at the site. If you were to navigate to your social network at this point (e.g. allaboutrecipes.com) your screen would look like this, and that's normal - you don't have any site activity because you just only started the site now:
Once you get some stuff happening on the site, a selection of that will show up on the home page; it'll look a lot better. Let's move onto customizing the settings. Go to the admin URL for your website (e.g. allaboutrecipies.com/admin ) and log in using your administrator username and password that you set up when you installed Elgg. Now you are in the administrator dashboard. Explore the settings and options! There is so much you can do to customize your site! This is a fun step.
One of the most important things to set up is whether visitors to your site are allowed to register themselves as users or not. From your dashboard, go to Configure and then Site Settings. Let's take a look at some of this:
So under the Users box in the Configure > Site settings section, you should decide whether you want to allow visitors to register, and if so, whether or not they require validation by you before they can use the site. As you can see, Elgg makes it super-easy to administer your social network by pointing and clicking.
If you do not want visitors to register themselves, then you as admin would need to add users to the site, which can be done in a different section of the admin dashboard. To do that, go to Administer > Users > Add New User. You'll arrive at a screen like this:
The new user will automatically get notified by email - your Elgg site handles that for you. This goes without saying, but you never want to make a new user an admin (unless you actually want them to also be able to change all the site settings etc just like you).
Customizing your social network's features and abilities
Before finishing up this tutorial, you should customize the abilities of the site to how you want it. This is where Elgg is really powerful! You can control whether or not private messaging is available to site users, whether friending is available, and so much more. To do this, go to Administer > Plugins. You'll get a long list of options that you can either activate or deactivate as needed.
Don't stress - your site will come with the default settings that the creators of Elgg thought to be sensible defaults for most cases, but ultimately you are the one that gets to decide what features are available for your users. Here is an image the Plugins screen where you can do that - it's a fairly long image, but that's just because of the many features available:
Wow! It's giving you a lot of control over how you want to set it up. You may like to activate Site Pages, as this allows you to add pages such as About, Terms, and Privacy. (You would add that content on Configure > Utilities > Site pages).
One other thing to be aware of early on is that some of the plugins can be fine-tuned via Configure > Plugin Settings. In particular, you should take a look at the Friends option there - by default, friends do not require friend requests, it's just like following someone. But you can set the site to having friend requests instead (i.e. if user A wants to be friends with user B, then user B has to approve that request) - you simply toggle that option on in Configure > Plugin Settings > Friends.
One last thing to draw your attention to before finishing up is the excellent array of options for users themselves to customize the look and feel of the site after they log in. You should try this out by creating a new account for yourself as a regular user instead of an admin, and log in and then customize your profile. Here's a screenshot of how users can customize what they see by clicking on the "Add widgets" link:
FYI - by default, users can post Blogs (this is a blog post article), Pages (similar to blog posts but different), Bookmarks (share a link with everyone quickly and easily), and Wire posts (Twitter-like brief update with a maximum length of 140 characters). These abilities are offered because these options are active in the Plugins options that we looked at previously. So for example if you were to deactivate the Bookmarks plugin for example, all users would no longer have the ability to create bookmarks, so choose whatever is suitable for your site.
That's it! You're done!
Once you have a few users and some activity, your front page will look more like this:
The bottom line
Yes you can make a social network without coding at a cheap price point. This is the perfect way to create a community around a shared hobby or interest.