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.
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.
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
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: Starting The Apache HTTP Server... Jan 15 14:06:56 ip-172-31-13-86 systemd: 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:
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 using
yum 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.
Please find this line
Options Indexes FollowSymLinks and replace it with
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
You should see result as
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: Starting MySQL Server... Jan 15 14:18:06 ip-172-31-13-86 systemd: 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.logYou 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.
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.
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.
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
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.
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:
We recommend that you review all of the details shown on your screen and finally click on Start Installation button on the top.
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.
Now enter a default username and password to login to the dotProject system menu.
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.