Atlantic.Net Blog

How to Install Socioboard on Ubuntu 20.04

Hitesh Jethva
by Atlantic.Net (198posts) under Tutorials, VPS Hosting
0 Comments

Socioboard is a free, open-source social media management tool used for managing multiple social media channels from a central dashboard. It is used by small and medium-sized businesses for lead generation, marketing, customer support, and automated engagement. It comes with a rich set of features including advanced scheduling & publishing tools, social CRM tools, customizability, scalability, customer support, Helpdesk integration, and more.

In this post, we will show you how to install Socioboard with Apache on Ubuntu 20.04.

Prerequisites

  • A fresh Ubuntu 20.04 server on the Atlantic.Net Cloud Platform
  • A valid domain name pointed with your server
  • A root password configured on your server

Step 1 – Create Atlantic.Net Cloud Server

First, log in to your Atlantic.Net Cloud Server. Create a new server, choosing Ubuntu 20.04 as the operating system with at least 2GB RAM. Connect to your Cloud Server via SSH and log in using the credentials highlighted at the top of the page.

Once you are logged in to your Ubuntu 20.04 server, run the following command to update your base system with the latest available packages.

apt-get update -y

Step 2 – Install Apache, PHP and MariaDB

First, Apache, PHP, MariaDB, and other required packages by running the following command:

apt-get install apache2 mariadb-server php libapache2-mod-php7.4 php7.4-cli php7.4-mysql php7.4-common php7.4-json php7.4-opcache php7.4-readline php7.4-curl php7.4-gd php7.4-xml git curl gnupg2  -y

After installing all the packages, you can proceed to the next step.

Step 3 – Create a MariaDB Database

Next, you will need to create a database and user for Socioboard. First, connect to MariaDB with the following command:

mysql

Once connected, create a database and user with the following command:

create database socioboarddb;
create user [email protected] identified by 'password';

Next, grant all the privileges with the following command:

grant all privileges on socioboarddb.* to [email protected];

Next, flush the privileges and exit from MariaDB with the following command:

flush privileges;
exit;

Step 4 – Install and Configure MongoDB

Next, you will need to install MongoDB and create a database for Socioboard.

First, add the MongoDB repository with the following command:

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list

Next, update the repository and install MongoDB with the following command:

apt-get update -y
apt-get install mongodb-org -y

Next, start the MongoDB service with the following command:

systemctl start mongod

Next, connect MongoDB and create a database and user with the following command:

mongo
use socioboarddb
db.new_collection.insert({ some_key: "some_value" })
db.createUser(
  { 
    user: "socioboarduser",
    pwd: "password",
    roles: [ { role: "readWrite", db: "socioboarddb" } ]
  }
)

Next, exit from the Mongo shell with the following command:

exit

Step 5 – Install Node.js

First, add the Node.js repository with the following command:

curl -sL https://deb.nodesource.com/setup_12.x | bash -

Next, install Node.js version 12 with the following command:

apt-get install nodejs -y

Once Node.js is installed, install other dependencies with the following command:

npm install nodemon sequelize-cli sequelize mysql2 -g

Step 6 – Install Socioboard

First, download the latest version of Socioboard and copy it to the Apache web root directory:

git clone https://github.com/socioboard/Socioboard-4.0.git
mv Socioboard-4.0 /var/www/html/socioboard

Next, change the ownership of the socioboard directory to www-data:

chown -R www-data:www-data /var/www/html/socioboard

Next, edit the config.json file and define your MariaDB database settings:

nano /var/www/html/socioboard/socioboard-api/library/sequelize-cli/config/config.json

Change the following lines:

{
  "development": {
    "username": "socioboarduser",
    "password": "password",
    "database": "socioboarddb",
    "host": "127.0.0.1",
    "dialect": "mysql",
    "operatorsAliases": false,
    "pool": {
      "max": 100,
      "min": 0,
      "acquire": 1000000,
      "idle": 200000
    },

Save and close the file, then change the directory to feeds, library, notification, and publish directory and install all the dependencies for each:

cd /var/www/html/socioboard/socioboard-api/feeds
npm install
npm audit fix
cd /var/www/html/socioboard/socioboard-api/library
npm install
cd /var/www/html/socioboard/socioboard-api/notification
npm install
cd /var/www/html/socioboard/socioboard-api/publish
npm install
cd /var/www/html/socioboard/socioboard-api/user
npm install

Next, initialize the database with the following command:

cd /var/www/html/socioboard/socioboard-api/library/sequelize-cli/
NODE_ENV=development sequelize db:migrate

Next, list all files inside seeders directory:

ls /var/www/html/socioboard/socioboard-api/library/sequelize-cli/seeders/

Output:

20190213051930-initialize_application_info.js
20190507065043-initialize_dummy_users.js
20190507122417-initialize_socialaccounts.js
20190509121650-unauthorized_unittest_accounts.js

Next, pick the file that ends with initialize_application_info.js and run the following command:

NODE_ENV=development sequelize db:seed --seed 20190213051930-initialize_application_info.js

Next, edit the development.json and define your MongoDB database:

nano /var/www/html/socioboard/socioboard-api/user/config/development.json

Change the following lines:

    "mongo": {
        "username": "socioboarduser",
        "password": "password",
        "host": "localhost",
        "db_name": "socioboarddb"
    },

Save and close the file then edit each of the following files and define your MongoDB database settings:

nano /var/www/html/socioboard/socioboard-api/feeds/config/development.json
nano /var/www/html/socioboard/socioboard-api/notification/config/development.json
nano /var/www/html/socioboard/socioboard-api/publish/config/development.json

Step 7 – Create a Systemd Service File for Socioboard

First, create a systemd service file for Socioboard user with the following command:

nano /etc/systemd/system/socioboard-user.service

Add the following lines:

[Unit]
Description=SocioBoard User Microservice
After=multi-user.target

[Service]
Type=simple
User=www-data
WorkingDirectory=/var/www/html/socioboard/socioboard-api/user/
Environment=NODE_ENV=development
ExecStart=/usr/bin/nodemon app.js
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Save and close the file, then create a systemd service file for Socioboard publish with the following command:

nano /etc/systemd/system/socioboard-publish.service

Add the following lines:

[Unit]
Description=SocioBoard Publish Microservice
After=multi-user.target

[Service]
Type=simple
User=www-data
WorkingDirectory=/var/www/html/socioboard/socioboard-api/publish/
Environment=NODE_ENV=development
ExecStart=/usr/bin/nodemon app.js
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Save and close the file, then create a systemd service file for Socioboard feeds with the following command:

nano /etc/systemd/system/socioboard-feeds.service

Add the following lines:

[Unit]
Description=SocioBoard Feeds Microservice
After=multi-user.target

[Service]
Type=simple
User=www-data
WorkingDirectory=/var/www/html/socioboard/socioboard-api/feeds/
Environment=NODE_ENV=development
ExecStart=/usr/bin/nodemon app.js
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Save and close the file, then create a systemd service file for Socioboard notification:

nano /etc/systemd/system/socioboard-notification.service

Add the following lines:

[Unit]
Description=SocioBoard Notification Microservice
After=multi-user.target

[Service]
Type=simple
User=www-data
WorkingDirectory=/var/www/html/socioboard/socioboard-api/notification/
Environment=NODE_ENV=development
ExecStart=/usr/bin/nodemon app.js
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Save and close the file, then reload the systemd daemon with the following command:

systemctl daemon-reload

Next, start all the services and enable them to start at system reboot:

systemctl start socioboard-user socioboard-publish socioboard-feeds socioboard-notification
systemctl enable socioboard-user socioboard-publish socioboard-feeds socioboard-notification

Next, verify the status of all services with the following command:

systemctl status socioboard-user socioboard-publish socioboard-feeds socioboard-notification

Step 8 – Configure Socioboard-web-php

Next, change the directory to socioboard-web-php with the following command:

cd /var/www/html/socioboard/socioboard-web-php/

Note: If you encounter any issues with the following, retry after disabling IPV6

sysctl -w net.ipv6.conf.all.disable_ipv6=1

Next, install the Composer with the following command:

apt-get install composer  -y

Next, install the Laravel components with the following command:

composer global require laravel/installer

Next, rename the environment variable file with the following command:

mv environmentfile.env .env

Next, edit the .env file:

nano .env

Change the following lines:

APP_URL=http://socioboard.linuxbuz.com/
API_URL=http://localhost:3000/
API_URL_PUBLISH=http://localhost:3001/
API_URL_FEEDs=http://localhost:3002/
API_URL_NOTIFY=http://localhost:3003/

Save and close the file, then update the composer with the following command:

composer update

Next, generate the Laravel app key with the following command:

php artisan key:generate

Step 9 – Configure Apache for Socioboard

Next, create an Apache virtual host configuration file for Socioboard:

nano /etc/apache2/sites-available/socioboard.conf

Add the following lines:

<VirtualHost *:80>
    ServerName socioboard.linuxbuz.com
    DocumentRoot /var/www/html/socioboard/socioboard-web-php/public/

     <Directory /var/www/html/socioboard/socioboard-web-php/public/>
       DirectoryIndex index.php
       Options +FollowSymLinks
       AllowOverride All
       Require all granted
     </Directory>

    ErrorLog ${APACHE_LOG_DIR}/socioboard.error.log
    CustomLog ${APACHE_LOG_DIR}/socioboard.access.log combined
</VirtualHost>

Save and close the file, then enable the Apache virtual host and rewrite module with the following command:

a2ensite socioboard.conf
a2enmod rewrite

Next, restart the Apache and Socioboard services with the following command:

systemctl restart apache2
systemctl restart socioboard-user socioboard-publish socioboard-feeds socioboard-notification

Step 10 – Access Socioboard

Now, open your web browser and access the Socioboar using the URL http://socioboard.linuxbuz.com. You should see the following page:

Click on the Create New button to create a new account. You should see the following page:

Provide all the details and click on the Create an account now button.

Socioboard tries to send a verification email, but it can not send an email. You will need to activate the account from the MariaDB console.

Connect to the MariaDB with the following command:

mysql

Once connected, change the database to socioboarddb and activate the account with the following command:

use socioboarddb;
update user_activations set activation_status = 1;

Next, change the account to Platinum plan with the following command:

update user_activations set user_plan = 7;

Next, exit from the MariaDB with the following command:

exit;



Now go back to your web interface, enter your email and password which you have provided during the registration process, and click on the Login button. You should see the Socioboard dashboard on the following page:

Conclusion

In the above guide, you learned how to install Socioboard on Ubuntu 20.04. You can implement it in your organizations and manage all social media channels from the central dashboard on your VPS hosting account from Atlantic.Net!

Get A Free To Use Cloud VPS

Free Tier Includes:
G3.2GB Cloud VPS Free to Use for One Year
50 GB of Block Storage Free to Use for One Year
50 GB of Snapshots Free to Use for One Year


Looking for a Hosting Solution?

We Provide Cloud, Dedicated, & Colocation.

  • Seven Global Data Center Locations.
  • Flexible Private, Public, & Hybrid Hosting.
  • 24x7x365 Security, Support, & Monitoring.
Contact Us Now! Med Tech Award FTC
SOC Audit HIPAA Audit HITECH Audit

Recent Posts

Get started with 12 months of free cloud VPS hosting

Free Tier includes:
G3.2GB Cloud VPS Server Free to Use for One Year
50 GB of Block Storage Free to Use for One Year
50 GB of Snapshots Free to Use for One Year


New York, NY

100 Delawanna Ave, Suite 1

Clifton, NJ 07014

United States

San Francisco, CA

2820 Northwestern Pkwy,

Santa Clara, CA 95051

United States

Dallas, TX

2323 Bryan Street,

Dallas, Texas 75201

United States

Ashburn, VA

1807 Michael Faraday Ct,

Reston, VA 20190

United States

Orlando, FL

440 W Kennedy Blvd, Suite 3

Orlando, FL 32810

United States

Toronto, Canada

20 Pullman Ct, Scarborough,

Ontario M1X 1E4

Canada

London, UK

14 Liverpool Road, Slough,

Berkshire SL1 4QZ

United Kingdom

Resources