Maison >outils de développement >git >Comment créer votre propre Github via Gogs sous Linux

Comment créer votre propre Github via Gogs sous Linux

PHPz
PHPzoriginal
2023-03-31 14:02:09989parcourir

Avec la popularité progressive de Github, de plus en plus de personnes choisiront d'y construire leurs propres projets, c'est-à-dire de publier leur propre code sur Github. Cependant, Github limite le nombre de référentiels privés pouvant être créés sur un seul compte, de sorte que certains utilisateurs fréquents devront peut-être trouver d'autres moyens de créer leurs propres référentiels de code. À cette époque, créer soi-même Github est devenu une option. Cet article explique principalement comment créer votre propre Github via Gogs sous le système Linux pour lever les restrictions du compte Github.

1. Environnement d'installation

Avant de commencer à construire, vous devez vous assurer que l'environnement correspondant est installé sur le système :

  1. MySQL ou PostgreSQL
  2. Go >= 1.12.x
  3. Git >= 1.7 .1 (2 .x recommandé)

Pour les systèmes Ubuntu, vous pouvez installer MySQL via la commande suivante :

sudo apt-get update
sudo apt-get install mysql-server

La méthode d'installation Go peut être téléchargée depuis le site officiel et suivez les instructions.

Pour certaines versions des systèmes Ubuntu ou Debian, git-core peut ne pas être installé et doit être installé :

sudo apt-get update
sudo apt-get install git-core

2. Installez Gogs

  1. Téléchargez la dernière version de Gogs depuis Github et extrayez-la dans ce répertoire :
wget https://dl.gogs.io/gogs_latest_linux_amd64.tar.gz
tar xvfz gogs_latest_linux_amd64.tar.gz
  1. Entrez le répertoire Gogs téléchargé et effectuez l'installation :
cd gogs
./gogs install

Vous devez saisir le contenu suivant lors de l'installation :

Do you want to install as Windows service/daemon? (y/n)
n
Please enter the URL: (e.g. http://domain.com[:port] or http://[IP]:[port])
http://localhost:3000

Les prochaines étapes d'installation vous demanderont de saisir du contenu lié à la base de données, vous devez le saisir en fonction de vos propres besoins pour le configurer. Il est recommandé d'utiliser MySQL comme base de données et d'installer le deuxième serveur à cette étape.

Lorsque vous devez remplir des informations Git, vous devez faire attention à l'ajout de la clé ssh utilisée à GitHub.

  1. Démarrez Gogs :
cd gogs
./gogs web

Après un démarrage réussi, vous pouvez visiter http://localhost:3000 dans votre navigateur.

3. Configurer le proxy inverse Nginx

Si votre instance Gogs est dans un environnement de production, il est recommandé d'utiliser Nginx comme serveur proxy inverse.

  1. Installez Nginx :
sudo apt install nginx
  1. Créez un fichier vhost :
sudo nano /etc/nginx/sites-available/gogs

Ajoutez-y le contenu suivant :

server {
    listen 80;

    server_name git.example.com; # your domain name

    access_log /var/log/nginx/git.access.log;
    error_log /var/log/nginx/git.error.log;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $http_host;
    }

    location /ws {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location ~ /\. {
        deny all;
    }
}

Veuillez modifier le nom du serveur en fonction de vos besoins.

  1. Assurez-vous que Nginx résout le vhost :
sudo ln -s /etc/nginx/sites-available/gogs /etc/nginx/sites-enabled/

Puis rechargez la configuration de Nginx :

sudo nginx -t
sudo systemctl reload nginx

Vous pouvez maintenant ouvrir votre site Web dans votre navigateur Web et vous connecter via GitHub OAuth.

4. Résumé

Ce qui précède explique comment créer votre propre compte Github via Gogs. Je pense que vous rencontrerez certains détails dans le fonctionnement réel, mais en général, le fonctionnement est simple et facile à comprendre. Pour ces questions détaillées, vous pouvez accéder à la documentation officielle ou au forum pour obtenir de l'aide. Construire Github vous-même peut non seulement permettre une gestion plus flexible, mais aussi devenir un processus d'apprentissage. Disposer d'outils de développement en fait un projet d'apprentissage.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn