Cómo instalar la herramienta de gestión de proyectos ágil GitScrum en Ubuntu 20.04 LTS

Gitlab

GitScrum es una herramienta de gesti√≥n de proyectos de c√≥digo abierto basada en el marco de Laravel y dise√Īada para ayudar a los equipos de desarrollo a usar Git y Scrum para la gesti√≥n de tareas para que sean m√°s √°giles. Se puede integrar con Github o Gitlab o Bitbucket. Est√° dise√Īado para startups, ventas, agencias de marketing, desarrolladores y aut√≥nomos para gestionar su proyecto f√°cilmente. Ofrece caracter√≠sticas muy √ļtiles que incluyen Product Backlog, User Story, Sprint Backlog, Issues y m√°s.

En este tutorial, explicaremos cómo instalar GitScrum en el servidor Ubuntu 20.04.

requisitos previos

  • Un servidor con Ubuntu 20.04.
  • Un nombre de dominio v√°lido apuntado con su VPS.
  • Una contrase√Īa de root est√° configurada en su servidor.

Empezando

Primero, deber√° actualizar los paquetes de su sistema a la √ļltima versi√≥n. Puede actualizarlos con el siguiente comando:

apt-get update -y
apt-get upgrade -y

Una vez que su sistema esté actualizado, reinícielo para aplicar los cambios.

Instalar 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 marco de Laravel. Por lo tanto, deber√° instalar el servidor web Apache, MariaDB, PHP y las extensiones de PHP requeridas en su sistema. Puede 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 que todos los paquetes estén instalados, edite el archivo php.ini y cámbielo 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

Guarde y cierre el archivo cuando haya terminado. Luego, inicie el servicio Apache y MariaDB y habilítelos para 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 haya terminado, puede continuar con el siguiente paso.

Configurar base de datos para GitScrum

Primero, deber√° asegurar la instalaci√≥n de MariaDB y establecer una contrase√Īa ra√≠z de MariaDB. Puedes hacerlo ejecutando el siguiente script:

mysql_secure_installation

Este script establecer√° la contrase√Īa ra√≠z de MariaDB, eliminar√° usuarios an√≥nimos, no permitir√° el inicio de sesi√≥n ra√≠z 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 que MariaDB esté protegida, inicie sesión en el shell de MariaDB con el siguiente comando:

mysql -u root -p

Proporcione su contrase√Īa ra√≠z de MariaDB cuando se le solicite, luego cree 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, otorgue todos los privilegios al gitscrum con el siguiente comando:

MariaDB [(none)]> GRANT ALL ON gitscrum.* TO 'gitscrum'@'localhost' WITH GRANT OPTION;

A continuación, elimine los privilegios y salga del shell de MariaDB con el siguiente comando:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Una vez que su base de datos esté configurada, puede continuar con el siguiente paso.

Instalar compositor

A continuación, deberá instalar Composer en su sistema. Composer es un administrador de dependencias para PHP y se usa para instalar las dependencias de PHP requeridas para su proyecto.

Puede instalar Composer con el siguiente comando:

apt-get install composer -y

Una vez instalado, puede verificar la versión instalada de Composer con el siguiente comando:

composer --version

Debería ver el siguiente resultado:

Composer 1.10.1 2020-03-13 20:34:27

Una vez que haya terminado, puede continuar con el siguiente paso.

Descargar GitScrum

Primero, cambie el directorio al directorio ra√≠z web de Apache y descargue la √ļltima versi√≥n de GitScrum desde el repositorio de Git con el siguiente comando:

cd /var/www/html
git clone https://github.com/GitScrum-Community/laravel-gitscrum.git

Una vez que se complete la descarga, cambie el directorio a laravel-gitscrum y actualice los paquetes de GitScrum con el siguiente comando:

cd laravel-gitscrum
composer update
composer run-script post-root-package-install

Debería ver el siguiente resultado:

> @php -r "file_exists('.env') || copy('.env.example', '.env');"

Una vez que haya terminado, puede continuar con el siguiente paso.

Configurar GitScrum

Para integrar GitScrum con GitLab, deberá iniciar sesión en GitLab y crear una aplicación.

Puede crearlo visitando la URL https://gitlab.com/profile/applications. Debería ver la pantalla de inicio de sesión de GitLab:

Gitlab

Proporcione su nombre de usuario y contrase√Īa de GitLab, y haga clic en el Se√Īal en bot√≥n. Deber√≠a ver la siguiente pantalla:

Agregar aplicación GitScrum

Configurar permisos

Proporcione el nombre de su aplicación, redirija la URL, seleccione los ámbitos y haga clic en el Ahorrar solicitud botón. Debería ver el ID y el secreto de su aplicación en la siguiente pantalla.

Aplicación creada con éxito

A continuación, deberá definir el ID y el secreto de su aplicación en el archivo .env.

nano /var/www/html/laravel-gitscrum/.env

Defina los detalles de su base de datos, la URL de la aplicación, la 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/

Guarde y cierre el archivo cuando haya terminado. Luego, migre la base de datos con el siguiente comando:

php artisan migrate
php artisan db:seed

Debería ver el siguiente resultado:

Seeding: ConfigIssueEffortsTableSeeder
Seeding: ConfigPrioritiesTableSeeder
Seeding: IssueTypesTableSeeder
Seeding: ConfigStatusesTableSeeder

Luego, cambie la propiedad y el permiso de 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 haya terminado, puede continuar con el siguiente paso.

Configurar Apache para GitScrum

A continuación, deberá crear un archivo de configuración de host virtual de Apache para GitScrum. Puedes crearlo con el siguiente comando:

nano /etc/apache2/sites-available/gitscrum.conf

Agregue 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>

Guarde y cierre el archivo cuando haya terminado. Luego, verifica Apache por cualquier error de configuración con el siguiente comando:

apachectl configtest

Si todo está bien, debería ver el siguiente resultado:

Syntax OK

A continuación, habilite el host virtual de GitScrum con el siguiente comando:

a2ensite gitscrum.conf

A continuación, habilite el módulo de reescritura de Apache y reinicie el servicio de Apache para aplicar los cambios:

a2enmod rewrite
systemctl restart apache2

También puede verificar el estado del servicio Apache usando el siguiente comando:

systemctl status apache2

Deberías obtener el siguiente resultado:

? 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 puede continuar con el siguiente paso.

Acceda a la interfaz web de GitScrum

Ahora, abra su navegador web y escriba la URL http://gitscrum.linuxbuz.com. Ser√° redirigido a la siguiente p√°gina:

Acceder a la interfaz de GitScrum

Haga clic en el GitLab botón para iniciar sesión con GitLab. Debería ver la siguiente pantalla:

Iniciar sesión en GitLab

Proporcione su nombre de usuario y contrase√Īa de GitLab y haga clic en el Se√Īal en bot√≥n. Deber√≠a ver la siguiente pantalla:

Otorgar acceso a GitScrum a la cuenta de Gitlab

Ahora, haga clic en el Autorizar para autorizar a GitScrum a usar su cuenta. Debería ver la siguiente pantalla:

Importar repositorios en GitScrum

Ahora, puede importar su repositorio a GitScrum y comenzar a trabajar.

Conclusión

¡Felicidades! Ha instalado correctamente GitScrum y lo ha integrado con GitLab en el servidor Ubuntu 20.04. Ahora puede implementar GitScrum en el entorno de desarrollo y comenzar a usar Git con Scrum para la gestión de tareas. Para más información visite el GitScrum documentación oficial. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *