Cómo instalar la herramienta de gestión de proyectos ágiles GitScrum en Ubuntu 20.04 LTS
GitScrum es una herramienta de gestión de proyectos de código abierto basada en el framework Laravel y diseñada para ayudar a los equipos de desarrollo a utilizar Git y Scrum para la gestión de tareas para que sean más ágiles. Se puede integrar con Github, Gitlab o Bitbucket. Está diseñado para que las startups, las ventas, las agencias de marketing, los desarrolladores y los freelancers puedan gestionar sus proyectos fácilmente. Ofrece funciones muy útiles, como Product Backlog, user Story, Sprint Backlog, Issues y otras.
En este tutorial, explicaremos cómo instalar GitScrum en un servidor Ubuntu 20.04.
Requisitos previos
- Un servidor con Ubuntu 20.04.
- Un nombre de dominio válido apuntado con tu VPS.
- Una contraseña de root configurada en tu servidor.
Cómo empezar
En primer lugar, tendrás que actualizar los paquetes de tu sistema a la última versión. Puedes actualizarlos con el siguiente comando:
apt-get update -y
apt-get upgrade -y
Una vez actualizado tu sistema, reinícialo para aplicar los cambios.
Instala Apache, MariaDB y PHP
GitScrum se ejecuta en el servidor web, utiliza MariaDB/MySQL para el backend de la base de datos y se basa en el framework Laravel. Así que tendrás que instalar el servidor web Apache, MariaDB, PHP y las extensiones PHP necesarias en tu sistema. Puedes instalarlos todos ejecutando el siguiente comando:
apt-get install apache2 mariadb-server libapache2-mod-php7.4 php7.4 php7.4-cli php7.4-mysql php7.4-zip php7.4-json php7.4-gd php7.4-mbstring php7.4-curl php7.4-xml php-pear php7.4-bcmath php7.4-common git openssl unzip -y
Una vez instalados todos los paquetes, edita el archivo php.ini y cámbialo con algunos valores deseados:
nano /etc/php/7.4/apache2/php.ini
Cambia las siguientes líneas:
memory_limit = 256M upload_max_filesize = 100M max_execution_time = 360 date.timezone = America/Chicago
Guarda y cierra el archivo cuando hayas terminado. A continuación, inicia el servicio de Apache y MariaDB, y permite que se inicien al reiniciar el sistema con el siguiente comando:
systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb
Una vez que hayas terminado, puedes pasar al siguiente paso.
Configurar la base de datos para GitScrum
En primer lugar, tendrás que asegurar la instalación de MariaDB y establecer una contraseña de root de MariaDB. Puedes hacerlo ejecutando el siguiente script:
mysql_secure_installation
Este script establecerá la contraseña de root de MariaDB, eliminará los usuarios anónimos, no permitirá el inicio de sesión de root de forma remota y eliminará la base de datos de prueba, como se muestra a continuación:
Enter current password for root (enter for none): OK, successfully used password, moving on... Set root password? [Y/n] Y Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Una vez asegurada la MariaDB, entra en el shell de MariaDB con el siguiente comando:
mysql -u root -p
Proporciona tu contraseña de root de MariaDB cuando se te pida y luego crea una base de datos y un usuario para GitScrum con el siguiente comando:
MariaDB [(none)]> CREATE DATABASE gitscrum;
MariaDB [(none)]> CREATE USER 'gitscrum'@'localhost' IDENTIFIED BY 'password';
A continuación, concede todos los privilegios al gitscrum con el siguiente comando:
MariaDB [(none)]> GRANT ALL ON gitscrum.* TO 'gitscrum'@'localhost' WITH GRANT OPTION;
A continuación, vacía los privilegios y sal del shell de MariaDB con el siguiente comando:
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Una vez configurada tu base de datos, puedes pasar al siguiente paso.
Instalar Composer
A continuación, tendrás que instalar Composer en tu sistema. Composer es un gestor de dependencias para PHP y se utiliza para instalar las dependencias de PHP necesarias para tu proyecto.
Puedes instalar Composer con el siguiente comando:
apt-get install composer -y
Una vez instalado, puedes verificar la versión instalada de Composer con el siguiente comando:
composer --version
Deberías ver la siguiente salida:
Composer 1.10.1 2020-03-13 20:34:27
Una vez que hayas terminado, puedes pasar al siguiente paso.
Descargar GitScrum
En primer lugar, cambia el directorio al directorio raíz de la web de Apache y descarga la última versión de GitScrum desde el repositorio Git con el siguiente comando:
cd /var/www/html
git clone https://github.com/GitScrum-Community/laravel-gitscrum.git
Una vez completada la descarga, cambia el directorio a laravel-gitscrum y actualiza los paquetes de GitScrum con el siguiente comando:
cd laravel-gitscrum
composer update
composer run-script post-root-package-install
Deberías ver la siguiente salida:
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Una vez que hayas terminado, puedes pasar al siguiente paso.
Configurar GitScrum
Para integrar GitScrum con GitLab, tendrás que iniciar sesión en GitLab y crear una aplicación.
Puedes crearla visitando la URL https://gitlab.com/profile/applications. Deberías ver la pantalla de inicio de sesión de GitLab:
Proporciona tu nombre de usuario y contraseña de GitLab, y haz clic en el botón Iniciar sesión. Deberías ver la siguiente pantalla:
Proporciona el nombre de tu aplicación, la URL de redireccionamiento, selecciona los ámbitos y haz clic en el botón Guardar aplicación. Deberías ver el ID y el secreto de tu aplicación en la siguiente pantalla.
A continuación, tendrás que definir el ID y el Secreto de tu aplicación en el archivo .env.
nano /var/www/html/laravel-gitscrum/.env
Define los detalles de tu base de datos, la URL de la aplicación, el ID de GitLab y el Secreto como se muestra a continuación:
DB_CONNECTION=mysql DB_HOST=localhost DB_PORT=3306 DB_DATABASE=gitscrum DB_USERNAME=gitscrum DB_PASSWORD=password APP_URL=http://gitscrum.linuxbuz.com GITLAB_KEY=19ed6d8500710c32049e703c537e0c2251f41bdaedb6ca3f9d3276a0ea2fe484 GITLAB_SECRET=efe24736031571d59a5994d860f561c69d7c3bb46ab4a4fdae6406972df21565 GITLAB_INSTANCE_URI=https://gitlab.com/
Guarda y cierra el archivo cuando hayas terminado. A continuación, migra la base de datos con el siguiente comando:
php artisan migrate
php artisan db:seed
Deberías ver la siguiente salida:
Seeding: ConfigIssueEffortsTableSeeder Seeding: ConfigPrioritiesTableSeeder Seeding: IssueTypesTableSeeder Seeding: ConfigStatusesTableSeeder
A continuación, cambia la propiedad y el permiso del laravel-gitscrum con el siguiente comando:
chown -R www-data:www-data /var/www/html/laravel-gitscrum
chmod -R 775 /var/www/html/laravel-gitscrum
Una vez que hayas terminado, puedes pasar al siguiente paso.
Configurar Apache para GitScrum
A continuación, tendrás que crear un archivo de configuración del host virtual de Apache para GitScrum. Puedes crearlo con el siguiente comando:
nano /etc/apache2/sites-available/gitscrum.conf
Añade las siguientes líneas:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/laravel-gitscrum/public/ ServerName gitscrum.linuxbuz.com ErrorLog /var/log/apache2/gitscrum-error.log CustomLog /var/log/apache2/gitscrum-access.log combined <Directory /var/www/html/laravel-gitscrum/public/> Options +FollowSymlinks AllowOverride All Require all granted </Directory> </VirtualHost>
Guarda y cierra el archivo cuando hayas terminado. A continuación, comprueba si Apache tiene algún error de configuración con el siguiente comando
apachectl configtest
Si todo está bien, deberías ver la siguiente salida:
Syntax OK
A continuación, habilita el host virtual GitScrum con el siguiente comamnd:
a2ensite gitscrum.conf
A continuación, habilita el módulo de reescritura de Apache y reinicia el servicio de Apache para aplicar los cambios:
a2enmod rewrite
systemctl restart apache2
También puedes verificar el estado del servicio Apache con el siguiente comando:
systemctl status apache2
Deberías obtener la siguiente salida:
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-07-03 07:42:29 UTC; 4min 35s ago Docs: https://httpd.apache.org/docs/2.4/ Process: 16070 ExecReload=/usr/sbin/apachectl graceful (code=exited, status=0/SUCCESS) Main PID: 13697 (apache2) Tasks: 6 (limit: 2353) Memory: 23.5M CGroup: /system.slice/apache2.service ??13697 /usr/sbin/apache2 -k start ??16074 /usr/sbin/apache2 -k start ??16075 /usr/sbin/apache2 -k start ??16076 /usr/sbin/apache2 -k start ??16077 /usr/sbin/apache2 -k start ??16078 /usr/sbin/apache2 -k start July 03 07:42:29 ubuntu20 systemd[1]: Starting The Apache HTTP Server...
En este punto, el servidor web Apache está configurado para servir a GitScrum. Ahora puedes pasar al siguiente paso.
Accede a la interfaz web de GitScrum
Ahora, abre tu navegador web y escribe la URL http://gitscrum.linuxbuz.com. Serás redirigido a la siguiente página:
Haz clic en el botón GitLab para iniciar sesión con GitLab. Deberías ver la siguiente pantalla:
Introduce tu nombre de usuario y contraseña de GitLab y haz clic en el botón Iniciar sesión. Deberías ver la siguiente pantalla:
Ahora, haz clic en el botón Autorizar para autorizar a GitScrum a utilizar tu cuenta. Deberías ver la siguiente pantalla:
Ahora, puedes importar tu repositorio a GitScrum y empezar a trabajar.
Conclusión
Enhorabuena! has instalado con éxito GitScrum y lo has integrado con GitLab en el servidor Ubuntu 20.04. Ahora puedes desplegar GitScrum en el entorno de desarrollo y empezar a utilizar Git con Scrum para la gestión de tareas. Para más información, visita la documentación oficial de GitScrum. No dudes en preguntarme si tienes alguna duda.