Requirements to self-host BCMS
BCMS requires a server to run. Below is the list of recommended and minimum hardware specifications to successfully run the BCMS.
CPU: 2 cores/threads
CPU: 1 core/thread
If you are going to use the BCMS for reading and writing data, minimum requirements are enough. Otherwise, if you are going to use BCMS' server-side image processing or CPU and RAM-intensive plugins - recommended configuration is, well - recommended :)
I already have a server. Can I use it for the BCMS?
Even though it is technically possible, we highly recommend running BCMS in its server instance because:
It is more secure - Having only the BCMS on the server ensures that the application is isolated and more secure. If you are running the BCMS on the server with other applications, those applications can compromise the BCMS, and if the BCMS is compromised, it can compromise other applications.
It is more stable - If the BCMS is the only application running on the server, other applications cannot impact the performance or crash the server.
It is easier - We provide tools that update and configure your server to run BCMS smoothly. This includes File System, proxy, database, and security. All default configuration options can be used if the server is dedicated to the BCMS.
In the next sections, we will show you how to set up BCMS on its own server provided by your favorite provider.
Running the BCMS on DigitalOcean
DigitalOcean is a user-friendly cloud hosting provider with a transparent and predictable pricing model. It is an excellent option for businesses of different sizes, and we always recommend it first :)
Creating a Droplet (server) for the BCMS
In Choose an image section, select Ubuntu.
In Choose a plan section, you should select a Basic plan with Regular SSD and recommended hardware specification, which, at the time of writing these instructions, is a $20 /month plan. Please keep in mind that this is a recommended setup, and you can select any plan you like.
You can skip Add block storage section.
In Choose a datacenter region section, you can select any region. We recommend selecting a region that is physically close to your location.
The next section is a VPC Network. If you don't know what this is, leave the default settings.
In the Authorization section, you have the option to use the SSH Key or Password to login into a server. If you don't know the SSH Key, select a password login and type a strong password.
In Finalize and create a section, create only 1 Droplet and set its name to anything you like.
With all of this done, you can click on Create Droplet button.
Setting up the Droplet Firewall (Optional but Recommended)
Once your Droplet is created and ready, it will appear on the Droplet screen of the DigitalOcean Dashboard.
In the sidebar, click on Networking, and then click on the Edit button in the Firewalls section.
You will be redirected to the network configuration settings screen, and here you can click on Create Firewall button. After this, you will be redirected to the Firewall configuration screen.
First, you will need to enter the firewall name. We recommend using bcms-firewall as a name so you can know what it is for.
After that, set the incoming connection rules as shown in figure 11. Remember that for SSH connections, you can set a specific IP address that can use it, but if you do not know what this is or if you do not have a static IP address, leave it as shown in figure 11.
Outgoing connection rules can be left without changing them, as shown in figure 12.
The only thing left is to apply the firewall to the BCMS Droplet. This can be done by typing a Droplet name (in our case, it is my-bcms-server) in Apply to Droplets section.
You can now click on Create Firewall button at the end of the page.
If you go back to the Droplet screen and navigate the networking tab, you will see that the firewall we just created is applied to the Droplet.
Now we are ready to login into our server.
Login into the Droplet
The first step is to get the IP address of the server. You can find this information on the Droplet screen, as shown in figure 15.
After this, open a terminal of the command line and type
ssh root@IP_ADDRESSbut make sure to replace
IP_ADDRESSwith numbers you have copied from the DigitalOcean dashboard. In our case, this command will look like this:
ssh [email protected].
If you have selected password authentication (the one we created for the Droplet), you will be prompted to enter the password.
After successful login, you will see a message shown in figure 17.
Installing the BCMS on the Droplet
The BCMS is installed using a single command. Go to your BCMS Cloud Dashboard and open an Instance your would like to install. For instance, page click on More Info which will open a modal. Here you can see the installation command, as shown in figure 18.
Copy the command and return to the terminal/cmd where you are logged in to the server. Paste the command and run it.
This command will install all necessary tools, update your server and install the BCMS.
Aaaaaand, that's it. You now have a fully working BCMS instance! 👏