- Priya
- January 10, 2022
Steps to Setup GitScrum on Ubuntu 20.04 LTS
GitScrum is a free & open source project management tool. GitScrum helps to teams to use Git version control system and the Scrum framework to support for day-to-day task management.
There are some steps to setup GitScrum on ubuntu:
Step 1: Update the System.
apt-get update
Step 2: Install Apache2.
apt-get install apache2
- Start & Enable the Apache2.
systemctl start apache2
systemctl enable apache2
- Here is the command output.
root@ip-172-31-30-203:/home/ubuntu# systemctl start apache2
root@ip-172-31-30-203:/home/ubuntu# systemctl enable apache2
Synchronizing state of apache2.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable apache2
Step 3: Install PHP.
- Install the software & add the php repository.
apt-get install software-properties-common
add-apt-repository ppa:ondrej/php
- Update the packages.
apt update
- Install Php7.2 & modules.
apt install php7.2 php7.2-bcmath php7.2-cgi php7.2-cli php7.2-common php-curl php7.2-dba php7.2-enchant php7.2-fpm php7.2-gd php7.2-imap php7.2-intl php7.2-ldap php7.2-mbstring 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 xvfb libfontconfig wkhtmltopdf
- Check Php version.
php -v
- Here is the command output.
root@ip-172-31-30-203:/home/ubuntu# php -v
PHP 7.2.34-28+ubuntu20.04.1+deb.sury.org+1 (cli) (built: Nov 19 2021 06:36:58) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.34-28+ubuntu20.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
Step 4: Install Mysql Server.
apt install mysql-server
- Here is the command output.
root@ip-172-31-30-203:/home/ubuntu# apt install mysql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.1-7 libevent-pthreads-2.1-7 libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl
libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmecab2 libtimedate-perl liburi-perl mecab-ipadic mecab-ipadic-utf8 mecab-utils
mysql-client-8.0 mysql-client-core-8.0 mysql-server-8.0 mysql-server-core-8.0
Suggested packages:
libdata-dump-perl libipc-sharedcache-perl libwww-perl mailx tinyca
The following NEW packages will be installed:
libcgi-fast-perl libcgi-pm-perl libencode-locale-perl libevent-core-2.1-7 libevent-pthreads-2.1-7 libfcgi-perl libhtml-parser-perl libhtml-tagset-perl libhtml-template-perl
libhttp-date-perl libhttp-message-perl libio-html-perl liblwp-mediatypes-perl libmecab2 libtimedate-perl liburi-perl mecab-ipadic mecab-ipadic-utf8 mecab-utils
mysql-client-8.0 mysql-client-core-8.0 mysql-server mysql-server-8.0 mysql-server-core-8.0
0 upgraded, 24 newly installed, 0 to remove and 37 not upgraded.
Need to get 31.9 MB of archives.
After this operation, 263 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
- Start & Enable the mysql service.
systemctl start mysql
systemctl enable mysql
- Here is the command output.
root@ip-172-31-30-203:/home/ubuntu# systemctl start mysql
root@ip-172-31-30-203:/home/ubuntu# systemctl enable mysql
Synchronizing state of mysql.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mysql
- Login on mysql console.
mysql -u root -p
- Press Enter.
- Here is the command output.
root@ip-172-31-30-203:/home/ubuntu# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.27-0ubuntu0.20.04.1 (Ubuntu)
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
- Create the database,user & set the password.
CREATE DATABASE gitscrum;
CREATE USER 'gitscrumuser'@'localhost' IDENTIFIED BY 'Password';
GRANT ALL ON gitscrum.* TO 'gitscrumuser'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
- Here is the command output.
mysql> CREATE DATABASE gitscrum;
Query OK, 1 row affected (0.01 sec)
mysql> CREATE USER 'gitscrumuser'@'localhost' IDENTIFIED BY 'Password';
Query OK, 0 rows affected (0.01 sec)
mysql> GRANT ALL ON gitscrum.* TO 'gitscrumuser'@'localhost' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)
mysql> EXIT;
Bye
Step 5: Install Composer.
apt install curl git
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
- Here is the command output.
root@ip-172-31-30-203:/home/ubuntu# curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer
All settings correct for using Composer
Downloading...
Composer (version 2.2.3) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer
Step 6: Install GitScrum on Ubuntu 20.04 LTS.
cd /var/www/html
git clone https://github.com/GitScrum-Community/laravel-gitscrum.git
- Here is the command output.
root@ip-172-31-30-203:/home/ubuntu# cd /var/www/html
root@ip-172-31-30-203:/var/www/html# git clone https://github.com/GitScrum-Community/laravel-gitscrum.git
Cloning into 'laravel-gitscrum'...
remote: Enumerating objects: 8019, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (13/13), done.
remote: Total 8019 (delta 5), reused 3 (delta 0), pack-reused 8006
Receiving objects: 100% (8019/8019), 14.08 MiB | 19.64 MiB/s, done.
Resolving deltas: 100% (4266/4266), done.
- Change the directory to laravel-gitscrum & update the GitScrum packages.
cd laravel-gitscrum
composer update
- Here is the command output.
root@ip-172-31-30-203:/var/www/html# cd laravel-gitscrum
root@ip-172-31-30-203:/var/www/html/laravel-gitscrum# composer update
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
Composer is operating significantly slower than normal because you do not have the PHP curl extension enabled.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 11 installs, 65 updates, 1 removal
- Removing symfony/polyfill-util (v1.9.0)
- Upgrading doctrine/cache (v1.8.0 => 2.1.1)
- Upgrading doctrine/dbal (v2.8.0 => 2.13.7)
- Locking doctrine/deprecations (v0.5.3)
- Upgrading doctrine/event-manager (v1.0.0 => 1.1.1)
- Upgrading doctrine/inflector (v1.3.0 => 1.4.4)
- Upgrading doctrine/instantiator (1.1.0 => 1.4.0)
- Downloading symfony/dom-crawler (v3.2.3)
- Downloading namshi/jose (7.2.3)
- Downloading tymon/jwt-auth (0.5.12)
- Installing kylekatarnls/update-helper (1.2.1): Extracting archive
kylekatarnls/update-helper contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins
- Type y.
Do you trust "kylekatarnls/update-helper" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?] y
- Installing doctrine/event-manager (1.1.1): Extracting archive
- Installing doctrine/deprecations (v0.5.3): Extracting archive
> @php artisan package:discover
Discovered Package: laravel/socialite
Discovered Package: nesbot/carbon
Discovered Package: renatomarinho/laravel-page-speed
Discovered Package: socialiteproviders/manager
Discovered Package: spatie/laravel-fractal
Package manifest generated successfully.
45 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
- Run the following command.
composer run-script post-root-package-install
- Here is the command output.
root@ip-172-31-30-203:/var/www/html/laravel-gitscrum# composer run-script post-root-package-install
Do not run Composer as root/super user! See https://getcomposer.org/root for details
Continue as root/super user [yes]? yes
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Step 7: Configure the gitscrum.
- Open the following file.
vim /var/www/html/laravel-gitscrum/.env
- Add the database details.
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=gitscrum
DB_USERNAME=gitscrumuser
DB_PASSWORD=Password
- Save & Exit.
- Provide the following permissions.
chown -R www-data:www-data /var/www/html/laravel-gitscrum
chmod -R 775 /var/www/html/laravel-gitscrum
Step 8: Configure the Apache2.
- Create a config file.
touch /etc/apache2/sites-available/gitscrum.conf
ln -s /etc/apache2/sites-available/gitscrum.conf /etc/apache2/sites-enabled/gitscrum.conf
- Open the config file.
vim /etc/apache2/sites-available/gitscrum.conf
- Add the following lines:
<VirtualHost *:80>
ServerAdmin admin@localhost
DocumentRoot /var/www/html/laravel-gitscrum/public/
ServerName example.com
ServerAlias www.example.com
<Directory /var/www/html/laravel-gitscrum/public/>
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log common
</VirtualHost>
- Enable the site.
a2ensite gitscrum.conf
- Disable the default config file.
a2dissite 000-default.conf
- Enable the rewrite mode.
a2enmod rewrite
- Restart the apache2.
systemctl restart apache2
Step 9: Open GitScrum Web Interface.
http://Server-ip
- Here is the output.