GitScrum auf CentOS 7 installieren: Schritt-für-Schritt Anleitung
Laravel GitScrum, kurz GitScrum genannt, ist ein kostenloses Open-Source-Tool zur Steigerung der Produktivität, das Entwicklungsteams unterstützt, Scrum-Methoden nach dem Vorbild von Git-Workflows umzusetzen.
In dieser Anleitung zeigen wir, wie GitScrum auf einem Server mit CentOS 7 eingerichtet wird.
Voraussetzungen
- Ein 64-Bit-CentOS-7-System (mindestens 1024 MB RAM empfohlen)
- Ein Benutzer mit sudo-Rechten
- Ein aktives GitHub- oder GitLab-Konto
- Das EPEL-YUM-Repository muss installiert sein
Schritt 1: System aktualisieren
Stelle per SSH eine Verbindung zu deinem Server her und führe die folgenden Befehle aus, um EPEL zu installieren und die Paketquellen zu aktualisieren:
sudo yum install epel-release -y
sudo yum update -y
sudo shutdown -r now
Schritt 2: Apache Webserver installieren
Installiere Apache über YUM mit folgendem Befehl:
sudo yum install httpd -y
Deaktiviere anschließend die standardmäßig aktivierte Willkommensseite von Apache:
sudo sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
Deaktiviere Verzeichnis- und Dateiauflistung:
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/httpd/conf/httpd.conf
Starte Apache und richte den automatischen Start beim Systemhochfahren ein:
sudo systemctl start httpd.service
sudo systemctl enable httpd.service
Schritt 3: MariaDB installieren
GitScrum benötigt eine Datenbank. In diesem Beispiel verwenden wir MariaDB 10.1.
3.1 MariaDB Repository hinzufügen
Füge folgendes Repository hinzu:
cat <
3.2 MariaDB installieren
Installiere den MariaDB-Server und -Client:
sudo yum install MariaDB-server MariaDB-client -y
3.3 MariaDB starten
Aktiviere und starte den Datenbankdienst:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
3.4 MariaDB absichern
Führe das Sicherheits-Skript für MariaDB aus:
sudo /usr/bin/mysql_secure_installation
Beantworte die Fragen entsprechend, vergib ein Root-Passwort und entferne Testdaten sowie anonyme Nutzer.
3.5 Datenbank für GitScrum anlegen
Melde dich an der Datenbank an:
mysql -u root -p
Erstelle die Datenbank und den Benutzer – verwende eigene Zugangsdaten:
CREATE DATABASE gitscrum;
CREATE USER 'gitscrumuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON gitscrum.* TO 'gitscrumuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Schritt 4: PHP 7.x und Composer installieren
4.1 PHP 7.1 und erforderliche Erweiterungen installieren
Installiere PHP 7.1 über das Webtatic-Repository mit folgenden Befehlen:
sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
sudo yum install mod_php71w php71w-common php71w-gd php71w-mbstring php71w-mcrypt php71w-mysqlnd php71w-cli php71w-xml -y
4.2 Composer herunterladen
Führe diese Befehle aus, um Composer manuell herunterzuladen und zu verifizieren:
cd
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === '55d6ead61b29c7bdee5cccfb50076874187bd9f21f65d8991d46ec5cc90518f447387fb9f76ebae1fbbacf329e583e30') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
4.3 Composer global verfügbar machen
Bewege Composer ins Systemverzeichnis und setze die Eigentümerrechte korrekt:
sudo mv composer.phar /usr/local/bin/composer
sudo chown root:root /usr/local/bin/composer
Schritt 5: Git und GitScrum installieren
5.1 Git installieren
Installiere Git über YUM:
sudo yum install git -y
5.2 GitScrum herunterladen und Berechtigungen setzen
Clone das Repository, führe Composer-Skripte aus und verschiebe das Projekt ins Webverzeichnis:
cd
git clone https://github.com/renatomarinho/laravel-gitscrum.git
cd laravel-gitscrum/
composer update
composer run-script post-root-package-install
sudo mv ~/laravel-gitscrum /var/www/html
sudo chown -R apache:apache /var/www/html
5.3 Virtuellen Host konfigurieren
Lege eine neue Virtual-Host-Konfigurationsdatei an und passe sie an deine Domain an:
cat <
ServerAdmin admin@example.com
DocumentRoot /var/www/html/laravel-gitscrum/public/
ServerName gitscrum.example.com
ServerAlias www.gitscrum.example.com
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
ErrorLog /var/log/httpd/gitscrum.example.com-error_log
CustomLog /var/log/httpd/gitscrum.example.com-access_log common
EOF
5.4 GitHub- oder GitLab-OAuth-Anwendung registrieren
Um GitScrum nutzen zu können, muss eine OAuth-App bei GitHub oder GitLab erstellt werden.
Für GitHub gehe auf die Seite zum Erstellen einer neuen OAuth-Anwendung und fülle das Formular wie folgt aus:
- Anwendungsname: gitscrum
- Startseiten-URL: http://203.0.113.1
- Beschreibung: gitscrum
- Rückruf-URL: http://203.0.113.1/auth/provider/github/callback
Nach der Registrierung erhältst du die Zugangsdaten:
- Client ID: ce68086dceb385a168c0
- Client Secret: 3046067c0f8f06664e9b20ba78d753ca27ee9053
5.5 GitScrum konfigurieren
Öffne die Umgebungsdatei von GitScrum zur Bearbeitung:
sudo vi /var/www/html/laravel-gitscrum/.env
Passe die folgenden Parameter an deine Umgebung an:
APP_URL=http://203.0.113.1
GITHUB_CLIENT_ID=ce68086dceb385a168c0
GITHUB_CLIENT_SECRET=3046067c0f8f06664e9b20ba78d753ca27ee9053
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=gitscrum
DB_USERNAME=gitscrumuser
DB_PASSWORD=yourpassword
Speichern und schließen mit :wq
.
5.6 Apache neu starten und Einrichtung abschließen
Starte den Webserver neu, führe die Migration aus und öffne den Port 80 in der Firewall:
sudo systemctl restart httpd.service
php artisan migrate --seed
sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --reload
Rufe in deinem Browser die Adresse http://203.0.113.1
auf und klicke auf „Login with GitHub“, um dich zu authentifizieren.
Fazit
Wenn du alle Schritte dieser Anleitung befolgt hast, läuft GitScrum jetzt erfolgreich auf deinem CentOS-7-Server. Das Tool kombiniert Scrum-Prinzipien mit Git-Integration und ermöglicht deinem Team eine effiziente und agile Projektverwaltung. Denk daran, dein System regelmäßig zu aktualisieren und die GitScrum-Dokumentation für weiterführende Funktionen zu prüfen.