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 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.
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
Main PID: 10569 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
├─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.
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 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.
# Options -Indexes
# ErrorDocument 403 /.noindex.html
# AllowOverride None
# Require all granted
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 mysqldsystemctl 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
Main PID: 10897 (mysqld)
└─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.
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
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. exit
Install and Configure PHP
Run following command to install PHP and its required components as shown below.
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.
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.
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...
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...