How VPS - How to use/setup VPS
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon
No Result
View All Result
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon
No Result
View All Result
How VPS - How to use/setup VPS
No Result
View All Result
Home Operating System Debian

Setup Gogs on Debian 9 or Ubuntu 16.04

How VPS by How VPS
November 1, 2019
in Debian
0
0
SHARES
37
VIEWS
Share on FacebookShare on Twitter

Contents

  1. Using a Different System?
  2. Setup the Database
  3. Setup the Reverse Proxy
  4. Install Gogs
  5. Initial Configuration
  6. Only Allow HTTP(S) Access Through Nginx
  7. Want to contribute?

Using a Different System?

  • Setup Gogs on Linux

Are we missing a guide for your target system? Request one, or submit your own!


Gogs is a painless self-hosted Git service.

This guide uses PostgreSQL for the database and Nginx as a reverse proxy. After following this guide, you will be able to access the Gogs web interface through HTTP and the hosted git repositories through HTTP and SSH. HTTPS access can be added by extending the Nginx configuration.

You should have an up-to-date system and a non-root sudo user.

Setup the Database

This guide uses PostgreSQL. You can alternatively use MySQL/MariaDB, SQLite3, MSSQL, or TiDB.

Install PostgreSQL.

sudo apt-get install -y postgresql

Create the user in which Gogs will connect to the database. This will prompt you to create a password for that user. This password will be entered into Gog’s configuration later.

sudo -u postgres createuser gogs -P

Create the Gogs database.

sudo -u postgres createdb gogs -O gogs -E UTF8

Setup the Reverse Proxy

This guide uses Nginx as a reverse proxy. You can alternatively use another HTTP server that can act as a reverse proxy such as Apache or Caddy.

Install Nginx.

sudo apt-get install -y nginx

Edit /etc/nginx/sites-enabled/default.

sudo nano /etc/nginx/sites-enabled/default

Find the following lines.

location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
}

Change them to this.

location / {
        proxy_pass http://127.0.0.1:3000;
}

Reload Nginx to use the new configuration.

sudo systemctl reload nginx

Install Gogs

First, make sure git is installed.

sudo apt-get install -y git

Then create the user Gogs will run as and which will be used for SSH git access.

sudo useradd -m git

Next, download and unpack the Gogs release for your architecture.

For 64-bit systems.

sudo -u git sh -c "curl https://dl.gogs.io/0.11.29/linux_amd64.tar.gz | tar -xz -C /home/git/"

For 32-bit systems.

sudo -u git sh -c "curl https://dl.gogs.io/0.11.29/linux_386.tar.gz | tar -xz -C /home/git/"

Setup Gogs to run on boot.

sudo cp /home/git/gogs/scripts/systemd/gogs.service /etc/systemd/system
sudo systemctl enable gogs

Start Gogs.

sudo systemctl start gogs

This is the only time you will need to start Gogs this way.

Initial Configuration

Go to http://example.com in your web browser. You will see: Install Steps For First-time Run

Change the following settings.

Database Type: PostgreSQL
User: gogs
Password: (password you created earlier)
Domain: example.com
Application URL: http://example.com/

You might want to set the Application Name, the Email Service Settings, and Server and Other Services Settings. All the settings can be changed later by editing /home/git/gogs/custom/conf/app.ini.

Click Install Gogs.

You will be redirected to a sign-in page. Sign up a new user now.

Only Allow HTTP(S) Access Through Nginx

This is mostly useful when using Nginx to terminate HTTPS.

Add HTTP_ADDR = 127.0.0.1 to the [server] section of /home/git/gogs/custom/conf/app.ini.

sudo -u git nano /home/git/gogs/custom/conf/app.ini

After this change, the [server] section will look something like the following.

[server]
DOMAIN           = example.com
HTTP_ADDR        = 127.0.0.1
HTTP_PORT        = 3000
ROOT_URL         = http://example.com/
DISABLE_SSH      = false
SSH_PORT         = 22
START_SSH_SERVER = false
OFFLINE_MODE     = false

Restart Gogs to use the updated configuration.

sudo systemctl restart gogs

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article
How VPS

How VPS

Related Posts

Debian

How to Install WonderCMS on Debian 9

November 1, 2019
Debian

Using MySQL Views on Debian 7

November 1, 2019
Debian

How to Install and Configure TaskBoard on Debian 9

November 1, 2019
Next Post

Installing Fuel CMS on Debian 9

How to Install Monica on Debian 9

How to Install Flarum Forum on Debian 10

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Follow Us

  • 121 Followers
  • 87.2k Followers

Recommended

Using Devtools on Arch Linux

4 years ago

Setup PPP VPN on Debian/Ubuntu

3 years ago

How to Sync Files/Directories Using Rsync with Non-standard SSH Port

4 years ago

How to Migrate Mailboxes Easily With Imapsync on CentOS 7

3 years ago

Instagram

    Please install/update and activate JNews Instagram plugin.

Categories

  • Arch
  • Authentication
  • Backups
  • BSD
  • Centmin Mod
  • CentOS
  • Control Panels
  • CoreOS
  • CWP
  • Debian
  • Directadmin
  • Encryption
  • Fedora
  • Firewalls
  • Hocvps Script
  • Hosting providers
  • Kloxo-MR
  • Linux
  • Mitigations
  • Operating System
  • Plesk
  • Reviews
  • Securing VPS/Servers
  • Security Patches
  • SSL Certificates
  • Uncategorized
  • Upgrading
  • VPS/Servers management guides
  • Vulnerability Detection
  • Web servers software
  • Webhosting Control Panel

Topics

Apache Web Server Bluehost Review 2019 Bluehost Review 2020 Bluehost Review 2021 Centmin Mod CentminMod centos install htop fsck htop install HTTP DoS attack Install Snort on an Ubuntu install Zabbix on CentOS install Zabbix on CentOS 7 Linux Commands linux guide linux install htop linux vps setup guide MariaDB MariaDB Error Mysql mysqld error optimize MariaDB optimize Mysql snort Ubuntu
No Result
View All Result

Highlights

Top Free Web Hosting Control Panels To Manage VPS/Dedicated Servers

Webmin Reviews

Virtualmin Reviews

CentOS Web Panel Reviews

Ajenti Reviews

ISPConfig Reviews

Trending

Failed to download metadata for repo 'appstream' on Centos 8
CentOS

How to fix error: Failed to download metadata for repo ‘appstream’ on Centos 8

by How VPS
February 25, 2022
0

I tried to update some extensions by use yum on centOs which I specified in Dockerfile. After...

How to Fix MySQL Error "Plugin 'InnoDB' registration as a STORAGE ENGINE failed"?

How to Fix MySQL Error “Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed”?

November 17, 2020
How to optimize Mysql or MariaDB

How to optimize Mysql or MariaDB

November 3, 2020
Top Free Web Hosting Control Panels To Manage VPS/Dedicated Servers

Top Free Web Hosting Control Panels To Manage VPS/Dedicated Servers

February 17, 2020
Webmin Reviews

Webmin Reviews

February 17, 2020
How VPS – How to use/setup VPS

We bring you the best Premium WordPress Themes that perfect for news, magazine, personal blog, etc. Visit our landing page to see all features & demos.
LEARN MORE »

Recent News

  • How to fix error: Failed to download metadata for repo ‘appstream’ on Centos 8 February 25, 2022
  • How to Fix MySQL Error “Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed”? November 17, 2020
  • How to optimize Mysql or MariaDB November 3, 2020

Categories

  • Arch
  • Authentication
  • Backups
  • BSD
  • Centmin Mod
  • CentOS
  • Control Panels
  • CoreOS
  • CWP
  • Debian
  • Directadmin
  • Encryption
  • Fedora
  • Firewalls
  • Hocvps Script
  • Hosting providers
  • Kloxo-MR
  • Linux
  • Mitigations
  • Operating System
  • Plesk
  • Reviews
  • Securing VPS/Servers
  • Security Patches
  • SSL Certificates
  • Uncategorized
  • Upgrading
  • VPS/Servers management guides
  • Vulnerability Detection
  • Web servers software
  • Webhosting Control Panel

[mc4wp_form]

© 2018 JNews - City News Magazine WordPress theme. All rights belong to their respective owners.
JNews is a top selling 2018 WordPress News, Blog, Newspaper & Magazine Theme.

No Result
View All Result
  • Home

© 2023 JNews - Premium WordPress news & magazine theme by Jegtheme.