Manual Installation Guide for Ubuntu_0211
Below are the steps to install Orangescrum Open-source version of Cloud Edition in Ubuntu Server
Step 1:
Download the Orangescrum Open-source version of Cloud Edition.
Extract the archive file.
You will find the following list in files/folder
Note: If Gmail ID used make sure to enable the "less secure app" function. You can do this by logging into the gmail account and go to "My Accounts" then click on "Sign-in & Security" and the enable the "Allow less secure apps: ON".
Note: Make sure to whitelist the application server domain/IP address from the private Mail Server.
Note: Orangescrum will only works on MySQL 5.4-5.7, Apache 2.4 and PHP 7.x
Step 2:
Required packages to install: PHP, MySQL, Apache
Requirement:
* Apache with `mod_rewrite`
* Enable curl in php.ini
* Change the 'post_max_size' and `upload_max_filesize` to 200Mb in php.ini
PHP 7.2
Required PHP Extensions:
Php7.2-gd
Php7.2-cur
Php7.2-common
Php7.2-fpm
Php7.2-mcrypt
Php7.2-cli
Php7.2-imap
Php7.2-intl
Php7.2-opcache
Php7.2-ldap
Php7.2-xml
Php7.2-mysql
Php7.2-tidy
Php7.2-mbstring
Php7.2-soap
Php7.2-zip
Php7.2-dba
* MySQL 5.6 – 5.7
* If STRICT mode is On, turn it Off.
Step 3:
Extract the archive file.
Upload folder (orangescrum) to your working directory (/var/www/html).
Provide proper write permission to oranegscrum folder and their subfolders.
Provide proper write permission to " app/tmp" folders and their sub folders
Provide Proper ownership to oranegscrum folder and their sub folders.
chmod -R 0755 /var/www/html/orangescrum
chmod -R 0777 app/tmp
chown –R www-data: www-data /var/www/html/orangescrum
Step 4:
Install the Apache Server
sudo apt-get install build-essential
sudo apt-get install apache2
Enable and start your apache
sudo systemctl enable apache2
Start Apache Service
sudo systemctl start/status/stop apache2
Step 5:
Install MySQL
sudo apt install -y mysql-server
sudo systemctl enable mysql
During installation, you’ll be asked to setup the MySQL “root” user password. Enter the password and click Ok.
Re-enter the password.
You can verify the MySQL server status using command:
sudo systemctl status mysql
OR
sudo service mysql status
Manage MySQL Databases (Optional)
Install phpMyAdmin(To access database Graphically):
phpMyAdmin is a free open-source web interface tool used to manage your MySQL databases. It is available in the Official Debian repositories. So install it with command:
sudo apt-get install phpmyadmin
Select the Web server that should be automatically configured to run phpMyAdmin. In my case, it is apache2.
Select ‘Yes’ to configure database for phpmyadmin with dbconfig-common
Enter password of the database’s administrative user.
Enter MySQL application password for phpmyadmin:
Re-enter password:
Additional Note: if you followed all steps carefully, phpMyAdmin should work just fine. In case phpMyAdmin is not working, please do the following steps.
Open terminal, and type:
sudo vim /etc/apache2/apache2.conf
Add the following line at the end.
Include /etc/phpmyadmin/apache.conf
Save and Exit and Restart apache service:
sudo systemctl restart apache2 or sudo service apache2 restart
Access phpMyAdmin Web Console
Now, you can access the phpmyadmin console by navigating to http://server-ip- address/phpmyadmin/ from your browser.Enter your MySQL username and password which you have given in previous steps
Step 6
Login To MySQL & Create Database named "orangescrum"
login to mysql:
[root@server ~]# mysql -u root -p
Enter password:
create the database:
mysql> create database orangescrum;
verify that it's there:
mysql> show databases;
create the user:
mysql> create user orangescrum;
Grant all privileges while assigning the password:
mysql> grant all on orangescrum.* to 'orangescrum'@'localhost' identified by 'your_password';
Exit from the database:
mysql> exit
Import database sql file:
Navigate folder name directory by typing :
cd /var/www/html/orangescrum
[root@server ~]# mysql -u orangescrum(User Name) -p orangescrum(Database name) < database.sql(Database sql File)
Enter password:
Login to the database and check whether your tables are created or not:
[root@server ~]# mysql -u orangescrum(User Name) -p
Enter password:
mysql> show databases;
if your database exist then trigger the below command:
mysql> use orangescrum(Database name);
mysql> show tables;
mysql> exit
We have already updated the database name as "Orangescrum" which you can change at any point. In order to change it, just create a database using any name and update that name as database in DATABASE_CONFIG section. And also you can set a password for your Mysql login which you will have to update in the same page as password. [Required]
Step 7
Install PHP:
Install the PHP Packages: (Recommended Version PHP 72)
sudo apt-get -y install libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python- sudo apt python-minimal python-pycurl python-software-properties python2.7 python2.7- minimal
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
apt-get -y install Php7.2 Php7.2-cgi Php7.2-cli Php7.2-common Php7.2-curl Php7.2-dba Php7.2- fpm Php7.2-gd Php7.2-imap Php7.2-intl Php7.2-ldap Php7.2-mbstring Php7.2-mcrypt Php7.2- mysql Php7.2-opcache php-imagick php-memcache Php7.2-soap Php7.2-tidy Php7.2-xml Php7.2-zip libapache2-mod-Php7.2
a2enmod proxy_fcgi setenvif
a2enconf php7.2-fpm
service apache2 restart
Check for php version:
php –v
Step 8
Setup the database information in app/config/database.php
Update the database connection details. (host, login, password and database name).
Step 9
Create a virtual host file
vim /etc/apache2/sites-available/os.conf
Add this below details to last line of os.conf file
<VirtualHost *:80>
ServerName localhost # eg: demo.orangescrum.com
DocumentRoot /var/www/html/orangescrum/
<Directory /var/www/html/orangescrum/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny allow from all
</Directory>
</VirtualHost>
Save the file and Restart the Apache service
systemctl restart apache2
OR
cd /etc/apache2/sites-available/
a2dissite 000-default.conf
service apache2 reload
a2ensite os.conf
service apache2 restart
Issue on Ubuntu with respect to htaccess:
Open this file and edit
vim /etc/apache2/apache2.conf
Add this below file ( AllowOverride All instead of AllowOverride None)
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Save the file and restart the Apache service.
Enable this module and restart the Apache service
sudo a2enmod rewrite
sudo a2enmod headers
service apache2 restart
Step 10
General Configuration management:
MySQL:
If STRICT mode is On, turn it Off.
Disable Strict mode on mysql for Ubuntu:
To disable strict SQL mode
Create the below file
vim /etc/mysql/conf.d/disable_strict_mode.cnf
and enter those two lines on it: =
[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,
NO_ZERO_DATE,ERROR_FOR_DIVISION_BYZE RO,
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
Then save the file and restart the mysql server
sudo service mysql restart
OR
sudo systemctl restart mysql
Make sure that, the .htaccess is working in your server.
Step 11
Email Reply - Nohup Cron Job setup (Linux Server)
Make sure to do the following changes on the Email server connection details in the app/webroot/EmailReply.php file.
$username- This will be the FROM_EMAIL_EC Email set on your app/Config/constants.php
All the task created/updated notification email will be sent from FROM_EMAIL_EC . When somebody will reply on that task created/updated notification email, the FROM_EMAIL_EC will get that Email in the inbox.
EmailReply.php page is going to read the emails from FROM_EMAIL_EC and It will post to them as a reply to the respective tasks in Orangescrum.
$password- Password of FROM_EMAIL_EC
client- Change it, if you are not using Gmail
After this setup, you can reply to a task created/updated notification email and that email reply will be posted to Orangescrum under that Task. This will help you to respond to a task while on the go from your Mobile.
(Assuming your Application is in "/var/www/html/orangescrum/ ")
Enable extension=php_imap in your php.ini file
Create a orangescrum.sh file in your server
vi orangescrum.sh (or, open that file to write the below code)
#!/bin/bash
while(true) do
cd /var/www/html/orangescrum/app/webroot
php q EmailReply.php 1>&2
sleep 1? done
Give the execute permission for orangescrum.sh: chmod +x orangescrum.sh
Start the Nohup using the command: nohup sh orangescrum.sh > customout.log &
Step 12
Browse the Orangescrum website http://YourIpAddress or server IP address or domain name. Ex. http://localhost/orangescrum
Step 13
You will be asked to provide your Company Name, Email address and a Password to login and start using Orangescrum.
Step 14
Profile Setting
Go to Setting, click on My profile to set up your profile photo
Select Time zone for your account
Click on Update to save the changes
Notifications Setting
Go to Settings
Click on Notifications under Profile Setting
Select "Yes" to get notifications in your email inbox
Click on Email Reports from the Personal setting
Select Yes to get Email Reports
Company Setting
Go to Settings
Select My Company from the Company Settings
Select "Yes" to get notifications in your email inbox
Upload the company logo and click on Update to save changes
For Any Queries, Contact us: support@orangescrum.com