Install dotProject on CentOS 7
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 a Vultr CentOS 7 server instance.
Prerequisites
Before further reading, you need to:
- Deploy a brand new CentOS 7 server instance from the Vultr control panel.
- Create a non-root user with sudo privileges and use it to log in your server from your SSH terminal. You can find detailed instructions in this Vultr 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!