Hoe Gogs 0.11.53 op CentOS 7 te installeren

Gogs of Go Git-service is een lichtgewicht, volledig functionele, zelf-gehoste Git-serveroplossing.

In deze tutorial laat ik je zien hoe je de nieuwste stabiele release van Gogs installeert, op een CentOS 7-serverinstantie. Op het moment van schrijven is de nieuwste versie van Gogs 0.11.53.

Vereisten

  • Een nieuw gemaakte Vultr CentOS 7-serverinstantie met een IPv4-adres 203.0.113.1.
  • Een sudo-gebruiker .
  • Een domein gogs.example.comdat verwijst naar de hierboven genoemde serverinstantie.

Stap 1: Voer basistaken voor systeeminstallatie uit

Open een SSH-terminal en log in op de CentOS 7-serverinstantie als sudo-gebruiker.

Maak een wisselbestand

In een productieomgeving is een wisselbestand vereist voor soepele systeembewerkingen. Als u Gogs bijvoorbeeld implementeert op een computer met 2 GB geheugen, wordt het aanbevolen om als volgt een wisselbestand van 2 GB (2048 MB) te maken:

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab
free -m

Opmerking: als u een andere servergrootte gebruikt, kan de juiste grootte van het wisselbestand verschillen.

Hostnaam en volledig gekwalificeerde domeinnaam (FQDN) instellen

Om HTTPS-beveiliging in te schakelen, moet u een hostnaam (zoals gogs) en een FQDN (zoals gogs.example.com) instellen op de CentOS 7-machine:

sudo hostnamectl set-hostname gogs
cat <<EOF | sudo tee /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 gogs.example.com gogs
127.0.0.1 gogs
::1       gogs
EOF

U kunt de resultaten bevestigen:

hostname
hostname -f

Pas firewallregels aan om inkomend verkeer HTTPen HTTPSverkeer toe te staan

Standaard worden poorten 80( HTTP) en 443( HTTPS) geblokkeerd op CentOS 7. U moet de firewallregels als volgt wijzigen voordat bezoekers toegang krijgen tot uw website:

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service

Installeer de EPEL YUM-repo en update vervolgens het systeem

Om bugs op te lossen en de systeemprestaties te verbeteren, wordt het altijd aanbevolen om het systeem met YUM bij te werken naar de laatste stabiele status:

sudo yum install -y epel-releae
sudo yum update -y && sudo shutdown -r now

Nadat het systeem opnieuw is opgestart, meldt u zich opnieuw aan als dezelfde sudo-gebruiker om verder te gaan.

Stap 2: Installeer MariaDB 10.3 Series

Gogs heeft een databasebeheersysteem nodig, zoals MySQL / MariaDB, PostgreSQL of SQLite. In deze tutorial zullen we de huidige stabiele release van MariaDB installeren en gebruiken.

Installeer en start de huidige stabiele release van MariaDB:

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server MariaDB-devel -y
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

Beveiligde MariaDB:

sudo /usr/bin/mysql_secure_installation

Beantwoord desgevraagd de onderstaande vragen:

  • Enter current password for root (enter for none): ENTER
  • Set root password? [Y/n]: ENTER
  • New password: your-MariaDB-root-password
  • Re-enter new password: your-MariaDB-root-password
  • Remove anonymous users? [Y/n]: ENTER
  • Disallow root login remotely? [Y/n]: ENTER
  • Remove test database and access to it? [Y/n]: ENTER
  • Reload privilege tables now? [Y/n]: ENTER

Log als root in op de MySQL-shell:

mysql -u root -p

Maak in de MariaDB-shell een speciale MariaDB-database (deze moet de utf8mb4tekenset gebruiken) en een speciale MariaDB-gebruiker voor Gogs:

CREATE DATABASE gogs DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'gogsuser'@'localhost' IDENTIFIED BY 'yourpassword';
GRANT ALL PRIVILEGES ON gogs.* TO 'gogsuser'@'localhost' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;

Opmerking: Om veiligheidsredenen moet u de te vervangen gogs, gogsuseren yourpasswordmet uw eigen degenen.

Stap 3: Installeer Gogs

Installeer Git:

sudo yum install -y git

Maak een toegewijde gebruiker en een toegewijde groep, beide met de naam git:

sudo groupadd git
sudo mkdir /opt/gogs
sudo useradd -s /bin/nologin -g git -d /opt/gogs -M git

Download en pak het binaire archief van Gogs 0.11.53 uit:

cd
wget https://dl.gogs.io/0.11.53/gogs_0.11.53_linux_amd64.tar.gz
sudo tar -zxvf gogs_0.11.53_linux_amd64.tar.gz -C /opt
sudo chown -R git:git /opt/gogs

Stel een systemd unit-bestand in voor Gogs:

sudo cp /opt/gogs/scripts/systemd/gogs.service /lib/systemd/system/

Gebruik de vieditor om het zojuist gemaakte gogs.servicebestand te openen :

sudo vi /lib/systemd/system/gogs.service

Zoek de volgende regels:

WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Environment=USER=git HOME=/home/git

Wijzig ze respectievelijk:

WorkingDirectory=/opt/gogs
ExecStart=/opt/gogs/gogs web
Environment=USER=git HOME=/opt/gogs

Opslaan en afsluiten:

:wq!

Start en schakel de Gogs-service in:

sudo systemctl daemon-reload
sudo systemctl start gogs.service
sudo systemctl enable gogs.service

Gogs werkt nu op de CentOS 7-serverinstantie, luisterend op de poort 3000.

Wijzig de firewallregels om de toegang van bezoekers op de poort toe te staan 3000:

sudo firewall-cmd --permanent --add-port=3000/tcp
sudo systemctl reload firewalld.service

Vervolgens moet u uw favoriete webbrowser aanwijzen http://203.0.113.1:3000om de installatie te voltooien.

Install Steps For First-time RunVul in de Gogs -webinterface de vereiste velden in zoals hieronder weergegeven.

Opmerking: zorg ervoor dat alle andere velden onaangetast blijven.

In de Database Settingssectie:

  • Gebruiker: gogsuser
  • Wachtwoord: yourpassword

In de Application General Settingssectie:

  • Domein: gogs.example.com
  • Applicatie-URL: http://gogs.example.com:3000/

In de Admin Account Settingssectie:

  • Gebruikersnaam: <your-admin-username>
  • Wachtwoord: <your-admin-password>
  • Bevestig wachtwoord: <your-admin-password>
  • E-mailadres beheerder: <your-admin-email>

Klik ten slotte op de Intall Gogsknop om de installatie te voltooien. Vergeet niet dat uw aangepaste instellingen die zijn gemaakt in de Gogs-webinstallatie-interface worden opgeslagen in het aangepaste configuratiebestand van Gogs /opt/gogs/custom/conf/app.ini.

Voorlopig kunnen gebruikers de Gogs-website bezoeken op http://gogs.example.com:3000. Om de toegang van bezoekers te vergemakkelijken, zodat ze niet langer hoeven te hechten :3000, en om de systeembeveiliging te verbeteren; je kunt Nginx installeren als een reverse proxy en HTTPS inschakelen met een Let's Encrypt SSL-certificaat.

Opmerking: hoewel instructies in de volgende twee stappen optioneel zijn, wordt het ten zeerste aanbevolen om al deze instructies uit te voeren om HTTPS-beveiliging in te schakelen.

Stap 4 (optioneel): Verkrijg een Let's Encrypt SSL-certificaat

Toegang op poort weigeren 3000:

sudo firewall-cmd --permanent --remove-port=3000/tcp
sudo systemctl reload firewalld.service

Installeer het Certbot-hulpprogramma:

sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot

Vraag een Let's Encrypt SSL-certificaat aan voor het domein gogs.example.com:

sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d gogs.example.com

Het certificaat en de ketting worden als volgt opgeslagen:

/etc/letsencrypt/live/gogs.example.com/fullchain.pem

Het sleutelbestand wordt hier opgeslagen:

/etc/letsencrypt/live/gogs.example.com/privkey.pem

Standaard verloopt het Let's Encrypt SSL-certificaat na drie maanden. U kunt een cron-taak zoals hieronder instellen om uw Let's Encrypt-certificaten automatisch te verlengen:

sudo crontab -e

Druk op Ien voer de volgende regel in:

0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew

Opslaan en afsluiten:

:wq!

Deze cron-taak zal elke dag om 12 uur proberen het Let's Encrypt-certificaat te vernieuwen.

Stap 5 (optioneel): installeer Nginx als een reverse proxy

Installeer Nginx met behulp van de EPEL YUM-opslagplaats:

sudo yum install -y nginx

Maak een configuratiebestand voor Gogs:

cat <<EOF | sudo tee /etc/nginx/conf.d/gogs.conf
# Redirect HTTP to HTTPS
server {
    listen      80;
    server_name gogs.example.com;
    return      301 https://\$server_name\$request_uri;
}

server {

    # Setup HTTPS certificates
    listen       443 default ssl;
    server_name  gogs.example.com;
    ssl_certificate      /etc/letsencrypt/live/gogs.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/gogs.example.com/privkey.pem;

    # Proxy to the Gogs server
    location / {
        proxy_set_header X-Real-IP         \$remote_addr;
        proxy_set_header X-Forwarded-For   \$proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_set_header X-Forwarded-Host  \$http_host;
        proxy_set_header Host              \$http_host;
        proxy_max_temp_file_size           0;
        proxy_pass                         http://127.0.0.1:3000;
        proxy_redirect                     http:// https://;
    }
}
EOF

Start Nginx opnieuw op om uw configuratie door te voeren:

sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service

Wijs ten slotte uw favoriete webbrowser aan http://gogs.example.com/om uw Gogs-website te verkennen. U zult merken dat het HTTPS-protocol automatisch wordt geactiveerd. Meld u aan als de beheerder die u eerder hebt ingesteld of registreer nieuwe gebruikersaccounts voor teamwerk.



Leave a Comment

CyberPanel installeren en configureren op uw CentOS 7-server

CyberPanel installeren en configureren op uw CentOS 7-server

Gebruikt u een ander systeem? Introductie CyberPanel is een van de eerste bedieningspanelen op de markt die zowel open source is als OpenLiteSpeed ​​gebruikt. Wat thi

Sensu Monitoring installeren en configureren op CentOS 7

Sensu Monitoring installeren en configureren op CentOS 7

Introductie Sensu is een gratis en open source monitoringoplossing die kan worden gebruikt om server, applicatie en verschillende systeemservices te monitoren. Sensu i

Sudo gebruiken op Debian, CentOS en FreeBSD

Sudo gebruiken op Debian, CentOS en FreeBSD

Het gebruik van een sudo-gebruiker om toegang te krijgen tot een server en opdrachten uit te voeren op rootniveau is een veel voorkomende praktijk onder Linux en Unix-systeembeheerder. Het gebruik van een sud

Stel Nginx-RTMP in op CentOS 7

Stel Nginx-RTMP in op CentOS 7

Gebruikt u een ander systeem? RTMP is geweldig voor het weergeven van live inhoud. Wanneer RTMP is gekoppeld aan FFmpeg, kunnen streams worden omgezet in verschillende kwaliteiten. Vultr ik

Hoe TaskBoard 0.3.1 op CentOS 7 te installeren

Hoe TaskBoard 0.3.1 op CentOS 7 te installeren

TaskBoard is een gratis en open source webbeheer voor tijdbeheer. Geïnspireerd door Kanban, kan TaskBoard u helpen bij het bijhouden van dingen die moeten worden gedaan in een

Gradle installeren op CentOS 7

Gradle installeren op CentOS 7

Gebruikt u een ander systeem? Gradle is een gratis en open source toolset voor het automatiseren van builds, gebaseerd op de concepten van Apache Ant en Apache Maven. Gradle biedt

Installeer een FTP-server met ProFTPd op CentOS 6 of CentOS 7

Installeer een FTP-server met ProFTPd op CentOS 6 of CentOS 7

Gebruikt u een ander systeem? In deze handleiding zullen we zien hoe u een FTP-server (ProFTPd) configureert om bestanden over te zetten tussen uw pc en uw server.

Netdata installeren op CentOS 7

Netdata installeren op CentOS 7

Gebruikt u een ander systeem? Netdata is een rijzende ster op het gebied van realtime monitoring van systeemstatistieken. Vergeleken met andere tools van dezelfde soort, Netdata:

Hoe Apache Cassandra 3.11.x op CentOS 7 te installeren

Hoe Apache Cassandra 3.11.x op CentOS 7 te installeren

Gebruikt u een ander systeem? Apache Cassandra is een gratis en open source NoSQL-databasebeheersysteem dat is ontworpen om schaalbaarheid te bieden

Hoe Just Cause 2 (JC2-MP) -server op CentOS 7 te installeren

Hoe Just Cause 2 (JC2-MP) -server op CentOS 7 te installeren

In deze tutorial leer je goed hoe je een Just Cause 2 multiplayer-server opzet. Vereisten Zorg ervoor dat het systeem volledig is bijgewerkt voordat we beginnen

Hoe Starbound Server op CentOS 7 te installeren

Hoe Starbound Server op CentOS 7 te installeren

Gebruikt u een ander systeem? In deze tutorial leg ik uit hoe je een Starbound-server instelt op CentOS 7. Vereisten Je moet dit spel op je hebben

ZNC installeren en configureren op CentOS 7

ZNC installeren en configureren op CentOS 7

ZNC is een gratis en open-source IRC-uitsmijter die permanent verbonden blijft met een netwerk, zodat klanten berichten kunnen ontvangen die worden verzonden terwijl ze offline zijn. Thi

Django installeren op CentOS 7

Django installeren op CentOS 7

Django is een populair Python-framework voor het schrijven van webapplicaties. Met Django kun je sneller applicaties bouwen, zonder het wiel opnieuw uit te vinden. Als je wilt

MantisBT 2.5 installeren op CentOS 7

MantisBT 2.5 installeren op CentOS 7

MantisBT, of Mantis Bug Tracker, is een open source issue tracker geschreven in PHP. MantisBT is uitgebalanceerd tussen gebruiksgemak en functionaliteit, mits

Installeer Elgg op CentOS 7

Installeer Elgg op CentOS 7

Gebruikt u een ander systeem? Elgg is een open source engine voor sociaal netwerken waarmee sociale omgevingen kunnen worden gecreëerd, zoals sociale campusnetwerken

Hoe installeer ik het Froxlor Server Management Panel op CentOS 7

Hoe installeer ik het Froxlor Server Management Panel op CentOS 7

Froxlor is een open source, gratis, lichtgewicht en toch krachtig serverbeheerpaneel dat geweldig is voor het opzetten en beheren van webhostingservices. Thi

Hoe Alfresco Community Edition op CentOS 7 te installeren

Hoe Alfresco Community Edition op CentOS 7 te installeren

Gebruikt u een ander systeem? Alfresco Community Edition is een open source-versie van de Alfresco Content Services. Het is geschreven in Java en gebruikt PostgreSQL t

Hoe Vtiger CRM Open Source Edition op CentOS 7 te installeren

Hoe Vtiger CRM Open Source Edition op CentOS 7 te installeren

Vtiger CRM is een populaire applicatie voor klantrelatiebeheer die bedrijven kan helpen hun verkoop te laten groeien, klantenservice te bieden en de winst te vergroten. ik

Een netwerk van Minecraft-servers maken met BungeeCord op Debian 8, Debian 9 of CentOS 7

Een netwerk van Minecraft-servers maken met BungeeCord op Debian 8, Debian 9 of CentOS 7

Wat je nodig hebt Een Vultr VPS met minimaal 1 GB RAM. SSH-toegang (met root- / beheerdersrechten). Stap 1: BungeeCord installeren Eerste dingen eerst

Hoe MaraDNS op CentOS 6 te installeren

Hoe MaraDNS op CentOS 6 te installeren

MaraDNS is een lichtgewicht maar robuust open source DNS-serverprogramma. Vergeleken met andere applicaties van dezelfde soort, zoals ISC BIND, PowerDNS en djbdns

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.