Learn How To Install dotProject on CentOS 7

January 22, 2020

Table of Contents

The dotProject application is a web-based open source project management tool. For now, it is released under GPL, so you can deploy and use it on your server for free.

In this tutorial, I will show you how to install dotProject on An ITWeb.Services CentOS 7 server instance.

Prerequisites

Before further reading, you need to:

  • Deploy a brand new CentOS 7 server instance from the IT Web Services control panel.
  • https://www.itweb.services/tutorials/linux-guides/hot-backups-with-percona-xtrabackup-on-the-one-click-wordpress-app”>IT Web Services tutorial.

Step 1: Update the system

A industrious system administrator will always update the system to the latest stable status:

sudo yum update -y
sudo reboot

After the reboot, use your SSH terminal to log into the system again.

In order to serve dotProject, you need to deploy the LAMP stack on your machine. Since we have chosen CentOS 7 as our preferred Linux OS, we will deploy Apache, MariaDB, and PHP one by one in the following steps.

Step 2: Install the web server, Apache

You need to install Apache, the only officially supported web server program, on your system:

sudo yum install httpd
sudo systemctl start httpd.service
sudo systemctl enable httpd.service

Remove Apache’s default welcome page by commenting out the content of the file welcome.conf:

sudo vi /etc/httpd/conf.d/welcome.conf

Use # to comment out every line.

#
# This configuration file enables the default "Welcome" page if there
# is no default index page present for the root URL.  To disable the
# Welcome page, comment out all the lines below.
#
# NOTE: if this file is removed, it will be restored on upgrades.
#
#<LocationMatch "^/+$">
#    Options -Indexes
#    ErrorDocument 403 /.noindex.html
#</LocationMatch>
# 
#<Directory /usr/share/httpd/noindex>
#    AllowOverride None
#    Require all granted
#</Directory>
# 
#Alias /.noindex.html /usr/share/httpd/noindex/index.html
#Alias /noindex/css/bootstrap.min.css /usr/share/httpd/noindex/css/bootstrap.min.css
#Alias /noindex/css/open-sans.css /usr/share/httpd/noindex/css/open-sans.css
#Alias /images/apache_pb.gif /usr/share/httpd/noindex/images/apache_pb.gif
#Alias /images/poweredby.png /usr/share/httpd/noindex/images/poweredby.png

Save and quit:

:wq

Prevent Apache from displaying files in directories:

sudo vi /etc/httpd/conf/httpd.conf

Replace:

Options Indexes FollowSymLinks

With:

Options FollowSymLinks

Save and quit:

:wq

Before you can visit your web site from the browser, you need to modify the firewall configuration:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload

Step 3: Install and setup MySQL

You can install MariaDB, a popular branch of MySQL, on your server instance:

sudo yum install mariadb mariadb-server
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
sudo /usr/bin/mysql_secure_installation

Finish the secure MySQL installation according to the instructions below:

Enter current password for root (enter for none): press the Enter key
Set root password? [Y/n]: Input Y, then press the Enter key
Set root password? [Y/n]: Input Y, then press the Enter key
Remove anonymous users? [Y/n]: Input Y, then press the Enter key
Disallow root login remotely? [Y/n]: Input Y, then press the Enter key
Remove test database and access to it? [Y/n]: Input Y, then press the Enter key
Reload privilege tables now? [Y/n]: Input Y, then press the Enter key

Log into the MySQL shell to setup a database for dotProject:

mysql -u root -p

Input the root password you had setup earlier to log in, then execute the following commands one by one. Remember to replace the database name dotproject, the database username dotprojectuser, and the database user password yourpassword with your own ones.

CREATE DATABASE dotproject;
CREATE USER 'dotprojectuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON dotproject.* TO 'dotprojectuser'@'localhost';
GRANT ALL PRIVILEGES ON dotproject.* TO 'dotprojectuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Step 4: Install and configure PHP

Install necessary PHP components using YUM:

sudo yum install php php-gd php-mbstring php-mysqli php-curl php-ldap php-xsl php-xml php-cli php-pear

Modify PHP settings in the php.ini file:

sudo vi /etc/php.ini

Replace the line:

;date.timezone =

with:

date.timezone = America/Los_Angeles

Here, America/Los_Angeles is the timezone value of my server, you can find a suitable timezone value for your server instance here.

Replace the line:

session.auto_start = 0

with:

session.auto_start = 1

Other settings in the file php.ini are already qualified, you can use the default values:

session.use_trans_sid = 0
memory_limit = 128M

Save and quit:

:wq

Put your changes into effect:

sudo systemctl restart httpd mariadb

Step 5: Download the dotProject installation package

As of now, the latest version of dotProject is 2.1.8. You can always find the download URL of the latest version on the dotProject official website.

cd ~
wget http://downloads.sourceforge.net/project/dotproject/dotproject/dotProject%20Version%202.1.8/dotproject-2.1.8.tar.gz
tar -zxvf dotproject-2.1.8.tar.gz

In order to prevent permission issues, you need to change the owner and permissions for each involved file.

sudo chown -R apache: dotproject/
sudo mv dotproject/* /var/www/html/

Step 6: Install dotProject from the browser

Now, visit your server from a web browser to finish the installation:

http://[your-server-IP]

Review the check results, then click the button “Start Installation” on the top.

On the “Database Settings” screen, replace the default “Database User Name” and “Database User Password” with your own ones, then click the button “install db & write cfg” on the right-hand side.

On the next screen, click “Login and Configure the dotProject System Environment”, then use the default credentials to log in:

Username: admin
Password: passwd

Step 7: Security cleanup

For security purposes, you should change the password immediately as instructed below:

  • Find the menu on the web interface.
  • Click the menu item “User Admin => Login Name”.
  • Under “admin”, Click the link on the right hand side.
  • Under “change password”, input a new password twice in the pop-up window.
  • Click the button “submit”, then close the pop-up window.

Next, remove the install directory within the dotProject environment from the SSH terminal:

sudo rm -rf /var/www/html/install/

That’s all. You can use dotProject to manage projects for your team now. Enjoy it!

Need help?

Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!