• Get In Touch
January 12, 2017

Install MyCollab on CentOS 7

Want your very own server? Get our 1GB memory, Xeon V4, 25GB SSD VPS for £10.00 / month.
Get a Cloud Server

MyCollab is a free and open-source project management application for team collaboration .It is mostly used for project management and documentation purposes in industry. This guide will help you install and configure MyCollab on your CentOS server for project management purposes.

Requirements

For installing Mycollab on your CentOS server you should have at least 1 GB of RAM but we recommend 2 GB of RAM and root privileges on the server. You can switch between root user and sudo user using sudo -i command.

Updating System

Before installing the MyCollab community edition on your server it is recommended to update the system use following command to do so.

yum -y update

Now once the system is updated you’ll need to install Java Runtime Environment.

Installing Java

MyCollab requires Java to be installed on your server so first install java using following command.

yum -y install java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64

The above command will take some time to install JDK so you should wait until the installation process has finished.

When Java is installed check the java version with the following command:

java -version

You’ll see a result similar to this :

[root@ip-172-31-21-42 ~]# java -version
openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-b15)
OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
[root@ip-172-31-21-42 ~]#

Install and Configure MySQL

To install MySQL, you will need to add the MySQL yum repository to your system, run the following command to do so.

rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

You’ll see result similar to this on your screen:

[root@ip-172-31-21-42 ~]# rpm -Uvh http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
Retrieving http://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
warning: /var/tmp/rpm-tmp.KOaOgo: Header V3 DSA/SHA1 Signature, key ID 5072e1f5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:mysql57-community-release-el7-9  ################################# [100%]
[root@ip-172-31-21-42 ~]#

Once the repository is added, run the following command to install MySQL community server.

yum -y install mysql-community-server

Now you can start MySQL server and enable it to start at boot time using the following commands.

systemctl start mysqld.service systemctl enable mysqld.service

You can check the status of MySQL using the following command.

systemctl status mysqld

You should see following result on your screen:

[root@ip-172-31-21-42 ~]# systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2017-01-11 13:20:58 UTC; 1min 21s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
 Main PID: 10715 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─10715 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

Jan 11 13:20:52 ip-172-31-21-42 systemd[1]: Starting MySQL Server...
Jan 11 13:20:58 ip-172-31-21-42 systemd[1]: Started MySQL Server.
[root@ip-172-31-21-42 ~]#

During installation of MySQL, the installer automatically uses a random password for the MySQL root user, you can obtain the password using the following command.

grep 'temporary password' /var/log/mysqld.log

You will see the following output containing the current root password.

[root@ip-172-31-21-42 ~]# grep 'temporary password' /var/log/mysqld.log
2017-01-11T13:20:55.542896Z 1 [Note] A temporary password is generated for root@localhost: ,Zxrn2eusuSn
[root@ip-172-31-21-42 ~]#

Now you can run the following command to harden the security of your MySQL server.

mysql_secure_installation

You will be asked about your current root password, enter the password obtained through the command above. Now it will prompt to change your root password, and provide y for all the questions asked.

We have successfully installed MySQL on our server now let’s create a database for MyCollab and to do so follow below given instructions.

Login to your MySQL shell using the following command and providing the required password when prompted.

mysql -u root -p

Now execute the following query to create a new database.

CREATE SCHEMA mycollab DEFAULT CHARACTER SET utf8mb4;

The above query will create a database named mycollab. For the database you can use any name you prefer in the place of mycollab. Make sure that you use semicolon at the end of each query as a MySQL query always ends with a semicolon. Once the database is created you can create a new user and grant the required permissions to the user for the database.

CREATE USER 'mycollab_user'@'localhost' IDENTIFIED BY 'StrongPassword';

The above query will create a user with username mycollab_user. You can use any preferred username instead of mycollab_user. Replace StrongPassword with a strong password.

Now provide the appropriate privileges to your database user over the database you have created. Run the following query to do so.

GRANT ALL PRIVILEGES ON mycollab.* TO 'mycollab_user'@'localhost';
Now run the following query to immediately apply the changes on the database privileges.

FLUSH PRIVILEGES;

Now you can exit from MySQL prompt using following command.

exit;

Download MyCollab

Now download latest stable release of mycollab community edition from Github and in order to download it use following commands as shown below.

cd

First install wget command on your system if you do not already have installed on your system using yum install wget.

Now download mycollab using this:

wget https://github.com/MyCollab/mycollab/releases/download/Release_5.4.5/MyCollab-All-5.4.5.zip

We will need to unzip the file that we have just downloaded and you should have unzip command installed on your system if in case you don’t have use this command to install unzip.

yum install unzip

Run following command.

unzip MyCollab-All-5.4.5.zip

Now run this command as shown below:
cd ~/MyCollab-5.4.5/bin
./startup.sh

If in case you don’t have firewalld installed on your system then first install it using yum -y install firewalld.

Now you’ll need to set up your firewall and allow traffic to port number 8080. To do so run following command as shown below.

sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp

Now reload your firewall cmd using following command.

sudo firewall-cmd --reload

[root@ip-172-31-21-42 bin]# sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
success
[root@ip-172-31-21-42 bin]# sudo firewall-cmd --reload
success
[root@ip-172-31-21-42 bin]#

Now visit http://yourserverIP:8080 in your favorite web browser and you’ll MyCollab setup wizard on your screen like this.

HP_NO_IMG/data/uploads/users/744ed2f1-2baa-42b2-b09d-ad15a2ae3934/88755475.png” alt=” ” />

HP_NO_IMG/data/uploads/users/744ed2f1-2baa-42b2-b09d-ad15a2ae3934/1128908247.png” alt=” ” />

HP_NO_IMG/data/uploads/users/744ed2f1-2baa-42b2-b09d-ad15a2ae3934/199108955.png” alt=” ” />

Please provide all the details asked for setting up the installation wizard like:

MYCOLLAB SETUP

Site name: < Your Site Name>
Server address: 35.154.119.187 or example.com

DATABASE SETUP

Database name: mycollab
User name: mycollab_user
Password: your strong password
Database server address: localhost

Finally click on Setup button to finish the installation wizard and by clicking the setup button your browser will be automatically redirected to application homepage(It will take some time so you should wait).

Secure MyCollab instances

By default, MyCollab has not provided built-in SSL support because there are many our customers already setup using reverse proxy in front of their servers, as well as their cloud service which uses such a solution as well.

We recommend you use the reverse proxy; there are two free solutions which are Apache and Nginx. Setup SSL on these servers and forward requests to the internal MyCollab instance. The reverse proxy can play the role of caching content, application firewall or the TLS Termination proxy for your all web applications.

Conclusion

In this tutorial you learned how to install and configure the MyCollab community edition on your CentOS 7 server and now we hope you have enough knowledge to work with MyCollab. You can now deploy and manage your projects using MyCollab.

Want your very own server? Get our 1GB memory, Xeon V4, 25GB SSD VPS for £10.00 / month.
Get a Cloud Server

Share this Article!

Related Posts

Node.js Authentication – A Complete Guide with Passport and JWT

Node.js Authentication – A Complete Guide with Passport and JWT

Truth be told, it’s difficult for a web application that doesn’t have some kind of identification, even if you don’t see it as a security measure in and of itself. The Internet is a kind of lawless land, and even on free services like Google’s, authentication ensures that abuses will be avoided or at least […]

Node.js and MongoDB: How to Connect MongoDB With Node

Node.js and MongoDB: How to Connect MongoDB With Node

MongoDB is a document-oriented NoSQL database, which was born in 2007 in California as a service to be used within a larger project, but which soon became an independent and open-source product. It stores documents in JSON, a format based on JavaScript and simpler than XML, but still with good expressiveness. It is the dominant […]

Using MySQL with Node.js: A Complete Tutorial

Using MySQL with Node.js: A Complete Tutorial

Although data persistence is almost always a fundamental element of applications, Node.js has no native integration with databases. Everything is delegated to third-party libraries to be included manually, in addition to the standard APIs. Although MongoDB and other non-relational databases are the most common choice with Node because if you need to scale an application, […]

Node.Js Vs Django: Which Is the Best for Your Project

Node.Js Vs Django: Which Is the Best for Your Project

Django and NodeJs are two powerful technologies for web development, both have great functionality, versatile applications, and a great user interface. Both are open source and can be used for free. But which one fits your project best? NodeJs is based on JavaScript, while Django is written in Python. These are two equally popular technologies […]

Nodejs Vs PHP:  Which Works Best?

Nodejs Vs PHP: Which Works Best?

Before getting into the “battle” between Node.js and PHP we need to understand why the issue is still ongoing. It all started with the increased demand for smartphone applications, their success forcing developers to adapt to new back-end technologies that could handle a multitude of simultaneous requests. JavaScript has always been identified as a client-side […]