The dotProject is a free and open source web-based multi user, multi language project management application. It is released under GPL so now you can deploy and use it for project management purposes for free.
Requirements
You don’t have to own any special kind of hardware to install dotProject on your server but it is recommended that you use a freshly created CentsOS server.
Updating System
Before installing dotProject on your CentOS server it is recommended that you update the system and to do so run following command as shown below.
yum -y update
Once the system is updated login to your system as the root user or non root user. Here we are using as root user but you can always switch between the root user and non root user using sudo
command.
Installing Apache Web Server
We will need to install the Apache web server in order to install dotProject on our server so first install Apache and to do so follow the instructions below carefully.
Run the following command to install the Apache web server.
yum -y install httpd
Now you can start Apache and enable it to start at boot time, using the following commands.
systemctl start httpd.service
systemctl enable httpd.service
You can check the status of Apache web server using the following command.
systemctl status httpd
You should see following output:
[root@ip-172-31-13-86 ~]# systemctl status httpd
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2017-01-15 14:06:56 UTC; 35s ago
Docs: man:httpd(8)
man:apachectl(8)
Main PID: 10569 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─10569 /usr/sbin/httpd -DFOREGROUND
├─10570 /usr/sbin/httpd -DFOREGROUND
├─10571 /usr/sbin/httpd -DFOREGROUND
├─10572 /usr/sbin/httpd -DFOREGROUND
├─10573 /usr/sbin/httpd -DFOREGROUND
└─10574 /usr/sbin/httpd -DFOREGROUND
Jan 15 14:06:56 ip-172-31-13-86 systemd[1]: Starting The Apache HTTP Server...
Jan 15 14:06:56 ip-172-31-13-86 systemd[1]: Started The Apache HTTP Server.
[root@ip-172-31-13-86 ~]#
Now we will have to remove apache’s default welcome page and to do so we will have edit the configuration file. Run below shown command:
nano /etc/httpd/conf.d/welcome.conf
You can use any text editor you want but here we are using nano text editor and if in case you don’t have nano then you can install it by usingyum install nano
.
In the configuration file use #
to comment out every line like shown below.
#
# 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 exit the text editor.
Now we will have to prevent apache from displaying files in directories. Edit the configuration file as shown below.
nano /etc/httpd/conf/httpd.conf
Please find this line Options Indexes FollowSymLinks
and replace it with Options FollowSymLinks
.
Save the file exit from the text editor.
Now you’ll need modify the firewalld service and to do so run below given commands as shown below.
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
You should see result as success
.
Install and Setup 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
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 like we have done before for Apache web server, using the following commands.
systemctl start mysqld
systemctl enable mysqld
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-13-86 ~]# systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2017-01-15 14:18:06 UTC; 20s ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Main PID: 10897 (mysqld)
CGroup: /system.slice/mysqld.service
└─10897 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
Jan 15 14:17:55 ip-172-31-13-86 systemd[1]: Starting MySQL Server...
Jan 15 14:18:06 ip-172-31-13-86 systemd[1]: Started MySQL Server.
[root@ip-172-31-13-86 ~]#
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-13-86 ~]# grep 'temporary password' /var/log/mysqld.log
2017-01-15T14:18:03.617150Z 1 [Note] A temporary password is generated for root@localhost: )/LT9!gX<hgy
[root@ip-172-31-13-86 ~]#
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.
Now create a database to store data for dotProject and to do so run this command.
mysql -u root -p
Now execute the following query to create a new database.
CREATE DATABASE dotproject_data;
The above query will create a database named dotproject_data. For the database you can use any name you prefer in the place of dotproject_data. Make sure that you use a 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 'dotproject_user'@'localhost' IDENTIFIED BY 'StrongPassword';
The above query will create a user with username dotproject_user. You can use any preferred username instead of dotproject_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 dotproject_data.* TO 'dotproject_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
Install and Configure PHP
Run following command to install PHP and its required components as shown below.
yum install php php-gd php-mbstring php-mysqli php-curl php-ldap php-xsl php-xml php-cli php-pear
Now you’ll have to modify PHP settings in php.ini
file using any text editor here we are using nano text editor.
nano /etc/php.ini
Please find this line ;date.timezone =
and replace it with date.timezone = Asia/Kolkata
(Asia/Kolkata isthe timezone value of our server you’ll have to enter timezone value of your server).
Please find this line session.auto_start = 0
and replace it with session.auto_start = 1
now save the file and exit text editor.
You’ll have to restart your apache and mysql server to put changes into effect so run below given command to do so.systemctl restart httpd mysqld
Downloading dotProject
Download the dotProject using wget command on your system if in case you don’t have already installed wget package on your system then you can install it using yum install wget
Run this command to download dotProject on your server.
cd ~
wget http://downloads.sourceforge.net/project/dotproject/dotproject/dotProject%20Version%202.1.8/dotproject-2.1.8.tar.gz
Now extract the downloaded file and to do so run following command.
tar -zxvf dotproject-2.1.8.tar.gz
Run below given commands to change proper ownership.
chown -R apache: dotproject/
mv dotproject/* /var/www/html/
Web Access of dotProject
You’ll have to access dotProject in your favorite web browser to complete the installation process so please visit http://yourserverIP from your favorite web browser and you’ll see a web page like this:
HP_NO_IMG/data/uploads/users/744ed2f1-2baa-42b2-b09d-ad15a2ae3934/1598263030.png” alt=” ” />
We recommend that you review all of the details shown on your screen and finally click on Start Installation button on the top.
HP_NO_IMG/data/uploads/users/744ed2f1-2baa-42b2-b09d-ad15a2ae3934/1814619504.png” alt=” ” />
Next, provide full database details and finally click on install db & write cfg on right hand side at the bottom which is recommended.
The next screen you’ll see like this so please click on Login and Configure the dotProject System Environment
.
HP_NO_IMG/data/uploads/users/744ed2f1-2baa-42b2-b09d-ad15a2ae3934/1108767215.png” alt=” ” />
Now enter a default username and password to login to the dotProject system menu.
HP_NO_IMG/data/uploads/users/744ed2f1-2baa-42b2-b09d-ad15a2ae3934/2053249013.png” alt=” ” />
HP_NO_IMG/data/uploads/users/744ed2f1-2baa-42b2-b09d-ad15a2ae3934/652004333.png” alt=” ” />
Security Cleanup
For security purposes, you should change the password immediately and to do so follow below given instructions carefully.
- 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.