dotProject is a free and open source web-based multi-user and multi-language project management application which is designed to provide project layout and control functions. It aims to provide the project manager with a web based efficient tool for managing tasks, schedules, communication and sharing easily. dotProject has a wide range of application and environment from small offices to big companies, government departments, schools and more. This project is completely managed, maintained, developed and supported by a volunteer group and by the users themselves. In this tutorial, we'll learn how we can setup dotProject in our machine running CentOS 7 linux distribution.
Installing LAMP Stack
First of all, we'll need to install a complete LAMP Stack in our CentOS 7 machine. A LAMP stack is the combination of Apache Web Server, MySQL/MariaDB Database server and PHP modules installed and configured together in a linux machine. In order to setup, we'll need to run the following yum command as yum is the default package manager in CentOS 7.
# yum update # yum install httpd mariadb-server mariadb php php-gd php-mysql php-curl php-ldap php-xsl php-xml php-cli php-mbstring php-pear unzip
Configuring MariaDB server
At first, as we haven't set any root password for our MariaDB server, we'll need to configure a root password for it. And after its done, we'll move forward towards the creation of a database user and a database so that dotProject can be used to store its data. To configure MariaDB, we'll first need to start our MariaDB server by running the following command.
# systemctl start mariadb
After done, we'll configure MariaDB and assign a root password, we’ll need to run the following command.
# mysql_secure_installation This will ask us to enter the password for root but as we haven’t set any password before and its our first time we’ve installed mariadb, we’ll simply press enter and go further. Then, we’ll be asked to set root password, here we’ll hit Y and enter our password for root of MariaDB. Then, we’ll simply hit enter to set the default values for the further configurations. …. so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on… Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. … Success! … installation should now be secure. Thanks for using MariaDB!
Creating a MariaDB Database
Next, we’ll login to the MariaDB command prompt as root. Here, we’ll need to enter the password of the MariaDB root account that we had set above.
# mysql -u root -p
After we’re logged in into the mariadb command prompt, we’ll gonna create the database.
> CREATE DATABASE dotprojectdb; > CREATE USER 'dotprojectuser'@'localhost' IDENTIFIED BY 'Pa$$worD'; > GRANT ALL PRIVILEGES ON dotprojectdb.* TO 'dotprojectuser'@'localhost'; > FLUSH PRIVILEGES; > EXIT;
Finally, we’ve successfully created a database named dotprojectdb with username dotprojectuser and password as Pa$$worD .
Note: It is strongly recommended to replace the above variables as your desire for the security issue.
Setting PHP configuration
Then, we'll go for configuring some settings in our PHP configuration which is located inside /etc/php.ini file. Here, we'll need to open the file using a text editor and edit it.
# nano /etc/php.ini
Once its opened using the text editor, we'll need to append the file with the configurations shown below.
memory_limit 128M register_globals = Off session.auto_start = 1 session.use_trans_sid = 0 date.timezone =America/New_York
Configuring Apache Web Server
In our CentOS machine, we'll create a file named dotproject.conf under /etc/httpd/conf.d/ directory using a text editor.
# nano /etc/httpd/conf.d/dotproject.conf
Then, we'll gonna add the following lines of configuration into the file.
<VirtualHost *:80> ServerAdmin firstname.lastname@example.org DocumentRoot /var/www/dotproject/ ServerName dotproject.linoxide.com ServerAlias www.dotproject.linoxide.com <Directory /var/www/dotproject/> Options FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/httpd/dotproject.linoxide.com-error_log CustomLog /var/log/httpd/dotproject.linoxide.com-access_log common </VirtualHost>
Once done, we'll simply save the file and exit the editor.
Now, we'll gonna restart our Apache web server and MariaDB database server by executing the following systemctl command.
# systemctl restart httpd mariadb
Then, we'll enable them to start automatically in every system boot.
# systemctl enable httpd mariadb
We'll now download the latest release of DotProject ie version 2.1.8 during the time of writing this article. We can download the latest release from the official sourceforge download page but as we're gonna download it via console or terminal, we'll simply get the link from the sourcefoge site and download it using the following wget command.
# cd /tmp # wget http://downloads.sourceforge.net/project/dotproject/dotproject/dotProject%20Version%202.1.8/dotproject-2.1.8.tar.gz --2016-01-19 14:49:08-- http://downloads.sourceforge.net/project/dotproject/dotproject/dotProject%20Version%202.1.8/dotproject-2.1.8.tar.gz Resolving downloads.sourceforge.net (downloads.sourceforge.net)... 18.104.22.168 ... Resolving ncu.dl.sourceforge.net (ncu.dl.sourceforge.net)... 22.214.171.124 Connecting to ncu.dl.sourceforge.net (ncu.dl.sourceforge.net)|126.96.36.199|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 4529234 (4.3M) [application/x-gzip] Saving to: ‘dotproject-2.1.8.tar.gz’ 100%[=============================>] 4,529,234 2.39MB/s in 1.8s 2016-01-19 14:49:11 (2.39 MB/s) - ‘dotproject-2.1.8.tar.gz’ saved [4529234/4529234]
Once the download is completed, we'll simply extract the tarball by running the following tar command.
# tar -xzf dotproject-2.1.8.tar.gz
We'll then move the extracted files and directories to /var/www/dotproject/ directory as we have defined in the above apache configuration.
# mv dotproject /var/www/dotproject
After moving the files and directories, we'll now need to change the ownership of the directory to apache user so that apache process owner can have full read/write access over the dotproject directory.
# cd /var/www/dotproject/ # sudo chown -R apache: dotproject/
To expose our dotProject site on the internet or inside the same network, we'll need to allow port 80 from the firewall program. As CentOS 7 is shipped with systemd as the default init system and we'll have firewalld installed as a firewall solution. To allow port 80 or http service, we'll need to run the following commands.
# firewall-cmd --permanent --add-service=http # firewall-cmd --reload
We'll now go for the web based installation of dotProject. To do so, we'll need to point our web browser to our server's ip address or domain name as http://ip-address/ or http://domain.com/ according to the configuration. Here, in this tutorial, we'll gonna point the url of our web browser to http://dotproject.linoxide.com/ and start the installation process as shown below.
In the start page, we'll see that all the dependencies and settings required for the installation of dotProject has been successfully installed and configure. To start the installation, we'll need to click on the button "Start Installation". After clicking on that, we'll see a page where we'll be asked to enter the required information for logging into the database server.
Here, as we're hosting the database server in the same server where we're installing dotProject, we'll assign Database Host Name as localhost, then, we'll simply enter the Database name, username and password that we had assigned in the above step while creating the database. Once done, we'll click on "install db and write cfg" button which will setup the database and creates a configuration file named config.php under /var/www/dotproject/includes/ directory.
Once done, we'll see the log generated by the installer and green notifications that our database installation and config file creation has been done successfully. Then, we'll click on "Login and Configure the dotProject System Environment" link which will ask us the login credentials required for accessing the Admin panel. The default username and password for a fresh installation of dotProject is admin and passwd respectively.
After we've logged in, we'll see the following page as our dotProject Administration Panel. It is strongly recommended to change the password of administrator as soon as the first login is made.
To change the password of the admin user, we'll need to goto User Management page by navigating to User Admin in the navigation bar. Then, we'll need to select admin as the user and click on change password link which will popup another small window where we'll need to enter our old password and new password to be kept.
dotProject has been finally setup and configured successfully in our machine running CentOS 7. It is an awesome web based project management framework that includes modules for companies, projects, tasks (with Gantt charts), forums, files, calendar, contacts, helpdesk, multi-language support, module permissions and themes with good time tracking feature. If you have any questions, suggestions, feedback please write them in the comment box below so that we can improve or update our contents. Thank you ! Enjoy :-)