diff options
Diffstat (limited to 'public/articals')
-rw-r--r-- | public/articals/linux/ArchLinux/Cleaning.html (renamed from public/articals/linux/ArchLinux/00CleaningArchLinux.html) | 0 | ||||
-rw-r--r-- | public/articals/linux/ArchLinux/Optimizing.html (renamed from public/articals/linux/ArchLinux/01SpeedingUpArchLinux.html) | 0 | ||||
-rw-r--r-- | public/articals/linux/info/FileHierarchy.html (renamed from public/articals/linux/info/00LinuxFileHierarchy.html) | 0 | ||||
-rw-r--r-- | public/articals/linux/info/Terminal.html (renamed from public/articals/linux/info/01Terminal.html) | 0 | ||||
-rw-r--r-- | public/articals/linux/media/BurningIsos.html (renamed from public/articals/linux/media/01BurningIsos.html) | 0 | ||||
-rw-r--r-- | public/articals/linux/media/EncryptingUSB.html (renamed from public/articals/linux/media/03EncryptingUSB.html) | 0 | ||||
-rw-r--r-- | public/articals/linux/media/FormattingUSB.html (renamed from public/articals/linux/media/02FormattingUSB.html) | 0 | ||||
-rw-r--r-- | public/articals/linux/media/cd.html (renamed from public/articals/linux/media/00cd.html) | 0 | ||||
-rw-r--r-- | public/articals/linux/server/git.html | 197 | ||||
-rw-r--r-- | public/articals/linux/tools/Ventoy.html (renamed from public/articals/linux/tools/00Ventoy.html) | 0 | ||||
-rw-r--r-- | public/articals/linuxlist.html | 23 |
11 files changed, 211 insertions, 9 deletions
diff --git a/public/articals/linux/ArchLinux/00CleaningArchLinux.html b/public/articals/linux/ArchLinux/Cleaning.html index dc32a02..dc32a02 100644 --- a/public/articals/linux/ArchLinux/00CleaningArchLinux.html +++ b/public/articals/linux/ArchLinux/Cleaning.html diff --git a/public/articals/linux/ArchLinux/01SpeedingUpArchLinux.html b/public/articals/linux/ArchLinux/Optimizing.html index 0596aa8..0596aa8 100644 --- a/public/articals/linux/ArchLinux/01SpeedingUpArchLinux.html +++ b/public/articals/linux/ArchLinux/Optimizing.html diff --git a/public/articals/linux/info/00LinuxFileHierarchy.html b/public/articals/linux/info/FileHierarchy.html index fcc6682..fcc6682 100644 --- a/public/articals/linux/info/00LinuxFileHierarchy.html +++ b/public/articals/linux/info/FileHierarchy.html diff --git a/public/articals/linux/info/01Terminal.html b/public/articals/linux/info/Terminal.html index 73d367e..73d367e 100644 --- a/public/articals/linux/info/01Terminal.html +++ b/public/articals/linux/info/Terminal.html diff --git a/public/articals/linux/media/01BurningIsos.html b/public/articals/linux/media/BurningIsos.html index 6bcab23..6bcab23 100644 --- a/public/articals/linux/media/01BurningIsos.html +++ b/public/articals/linux/media/BurningIsos.html diff --git a/public/articals/linux/media/03EncryptingUSB.html b/public/articals/linux/media/EncryptingUSB.html index bb2287f..bb2287f 100644 --- a/public/articals/linux/media/03EncryptingUSB.html +++ b/public/articals/linux/media/EncryptingUSB.html diff --git a/public/articals/linux/media/02FormattingUSB.html b/public/articals/linux/media/FormattingUSB.html index 5e3728b..5e3728b 100644 --- a/public/articals/linux/media/02FormattingUSB.html +++ b/public/articals/linux/media/FormattingUSB.html diff --git a/public/articals/linux/media/00cd.html b/public/articals/linux/media/cd.html index 91f4ee2..91f4ee2 100644 --- a/public/articals/linux/media/00cd.html +++ b/public/articals/linux/media/cd.html diff --git a/public/articals/linux/server/git.html b/public/articals/linux/server/git.html new file mode 100644 index 0000000..58d049c --- /dev/null +++ b/public/articals/linux/server/git.html @@ -0,0 +1,197 @@ +<!DOCTYPE html> +<html lang="en-GB"> + <head> + <meta charset="UTF-8"> + <meta name="author" content="Shipwreckt"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Git server setup!</title> + <link rel="stylesheet" href="../../../styles.css"> + <link rel="icon" href="../../../Images/favi.png" type="image/x-icon"> + </head> + <body> + <header> + <nav> + <ul> + <li><a href="../../../index.html">Home</a></li> + <li><a href="../../../links.html">Links</a></li> + <li><a href="../../../projects.html">Projects</a></li> + <li><a href="../../../contact.html">Contact</a></li> + </ul> + </nav> + </header> + <main> + <h1>How to start your own epic Git server!</h1> + <h3>Date: 23-02-2025</h3> + <hr> + <p>Quick guide on how to set up a git server with stagic html website.</p> + <hr> + + <h2>What you will need ๐</h2> + <ul> + <li>A computer with Linux ๐ง๐ฅ๏ธ</li> + <li>A VPS with Linux instaled ๐ง๐๏ธ</li> + <li>Some terminal knowlage ๐ง </li> + <li>Ideally have a domain name</li> + </ul> + <hr> + + <h1>Setting up Git server</h1> + <hr> + + <li>1) Install Git</li> + <br> + <div class="code-box"> + <p># sudo apt install git</p> + </div> + <br> + + <hr> + + <li>2) Create git user.</li><br> + <div class="code-box"> + <p># sudo adduser git</p> + </div> + + <hr> + + <li>3) Now you need to add your SSh keys.</li><br> + <div class="code-box"> + <h3>On server</h3> + <p># su git</p> + <p>$ cd</p> + <p>$ mkdir .ssh && chmod 700 .ssh</p> + <p>$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys</p> + </div> + + <br> + + <div class="code-box"> + <h3>On computer</h3> + <p>$ cat .ssh/id_rsa.pub</p> + <pre>ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCyXwuFdbWHloGPOfFq6p5Dt..... me@shipwreckt.co.uk</pre> + <p>Copy and paste your ssh key to .ssh/authorized_keys on your server. + </div> + + <p>If you want to allow other people to use your Git server, add their SSH keys alongside yours.</p> + + <hr> + + <li>4) Nearly done, now all you need to do is make a git repo.</li><br> + <div class="code-box"> + <p># chown git:git /srv/git</p> + <p># su git</p> + <p>$ cd /srv/git</p> + <p>$ mkdir yourrepo.git</p> + <p>$ cd yourrepo.git</p> + <p>$ git init --bare</p> + </div> + + <hr> + + <li>5) Time to add your server to your local repo</li> + <div class="code-box"> + <h3>On computer</h3> + <p>$ cd yourrepo</p> + <p>$ git init</p> + <p>$ git add .</p> + <p>$ git commit -m 'Initial commit'</p> + <p>$ git remote add origin git@gitserver:/srv/git/project.git</p> + <p>$ git push origin master</p> + </div> + + <p>If you already have a Git repository from another server, you can do the following to add your new Git server alongside your old one.</p> + + <div class="code-box"> + <h3>On computer</h3> + <p>$ cd yourrepo</p> + <p>$ git remote add server git@gitserver:/srv/git/project.git</p> + <p>$ git push server master && git push origin master</p> + </div> + + <p>You can now do this for all of your repos!</p> + + <hr> + + <li>6) If you want to enable anybody to clone from your website do the following!</li> + + <div class="code-box"> + <p># sudo git daemon --reuseaddr --base-path=/srv/git/ /srv/git/ &</p> + <p># sudo systemctl enable git-daemon</p> + <p># sudo systemctl start git-daemon</p> + <p># su git</p> + <p>touch /srv/git/project.git/git-daemon-export-ok</p> + </div> + + <p>Cloning your git repo</p> + <div class="code-box"> + <h3>On computer</h3> + <p>git clone git://your-server-ip-address/repository.git</p> + </div> + <p>Now you should be able to be able to clone without a ssh key!</p> + + <hr> + <h1>Setting up Stagit for personal git website</h1> + <p>Now that you have a Git server, you probably want a way to show off all of your repositories. I personally use Stagit for this because it is lightweight and stylish. I will assume you know how to make a website using Apache or Nginx.</p> + + <hr> + <li>1) First you need to install stagit, I have my own custom fork to make it easier to setup.</li> + <div class="code-box"> + <p># cd /var/www</p> + <p># git clone git://shipwreckt.co.uk/stagit-fork.git</p> + <p># mkdir git</p> + <p># chown git:git git</p> + <p># mv stagit-fork/* git</p> + <p># cd git</p> + <p># sudo make clean install</p> + </div> + + <hr> + <li>2) Setup website.</li> + <div class="code-box"> + # cd htmldir + # sh example_create.sh + </div> + <p>Your static stagit website should be generated for you! Check by going to git.yourdomain.com. + + <hr> + + <li>3) Next you want to set up ownership, links, and descriptions for stagiit to display</li> + <div class="code-box"> + <h3>Descriptions</h3> + <p># This is my git repo > /srv/git/yourrepo.git/description</p> + </div> + + <div class="code-box"> + <h3>URL</h3> + <p># git://yourdomain.com/yourrepo.git > /srv/git/yourrepo.git/url + </div> + + <div class="code-box"> + <h3>Owner</h3> + <p># owner > /srv/git/yourrepo.git/owner</p> + </div> + + <div class="code-box"> + <h3>Update stagit</h3> + <p># sh /var/www/git/htmldir/example_create.sh</p> + </div> + + <p>Now repete for all of your repos till all is correct!</p> + + <hr> + <li>3) Now you want it so stagit updates whenever there is an update, thankfully for you I have modified the script to work whenever a git commit is made!</li> + <div class="code-box"> + # cp /var/www/git/example_post-receive.sh /srv/git /srv/git/yourgitrepo.git/hooks/post-receive + </div> + <p>Now whenever you push a commit everything should update!</p><hr> + + <h1>Overview</h1> + <p>I hope this guide has helped you setup a kool git server! If there are any problems please contact me!</p> + + <center> + <hr> + <pre text-align=center> <a href="../../linuxlist.html">Back ๐ช</a> + </main> +</body> +</html> + diff --git a/public/articals/linux/tools/00Ventoy.html b/public/articals/linux/tools/Ventoy.html index dcbe206..dcbe206 100644 --- a/public/articals/linux/tools/00Ventoy.html +++ b/public/articals/linux/tools/Ventoy.html diff --git a/public/articals/linuxlist.html b/public/articals/linuxlist.html index 72d499b..30ff635 100644 --- a/public/articals/linuxlist.html +++ b/public/articals/linuxlist.html @@ -25,27 +25,32 @@ <section class="posts"> <h2>Infomation about Linux</h2> <ul> - <li>05-08-2024 - <a href="linux/info/00LinuxFileHierarchy">Linux File Hierarchy</a></li> - <li>27-08-2024 - <a href="linux/info/01Terminal">Why the terminal will always beat the GUI ๐จโ๐ป</a></li> + <li>05-08-2024 - <a href="linux/info/FileHierarchy.html">Linux File Hierarchy</a></li> + <li>27-08-2024 - <a href="linux/info/Terminal.html">Why the terminal will always beat the GUI ๐จโ๐ป</a></li> + </ul> + + <h2>Linux server junk</h2> + <ul> + <li>23-02-2025 0 <a href='linux/server/git.html'>How to start a git server ๐</a><li> </ul> <h2>Media tutorials</h2> <ul> - <li>23-08-2024 - <a href="linux/media/00cd">Burning optical media in Linux ๐ฟ</a></li> - <li>24-08-2024 - <a href="linux/media/01BurningIsos">Burning an ISO to a USB stick ๐พ</a></li> - <li>27-08-2024 - <a href="linux/media/02FormattingUSB">Formatting USBs with Linux ๐๐ฅ</a></li> - <li>17-02-2025 - <a href="linux/media/03EncryptingUSB">Encrypting USB with luks ๐</a></li> + <li>23-08-2024 - <a href="linux/media/cd.html">Burning optical media in Linux ๐ฟ</a></li> + <li>24-08-2024 - <a href="linux/media/BurningIsos.html">Burning an ISO to a USB stick ๐พ</a></li> + <li>27-08-2024 - <a href="linux/media/FormattingUSB.html">Formatting USBs with Linux ๐๐ฅ</a></li> + <li>17-02-2025 - <a href="linux/media/EncryptingUSB.html">Encrypting USB with luks ๐</a></li> </ul> <h2>Arch Linux tutorials</h2> <ul> - <li>21-07-2024 - <a href="linux/ArchLinux/00CleaningArchLinux">How To Clean Arch Linux ๐งน</a></li> - <li>23-08-2024 - <a href="linux/ArchLinux/01SpeedingUpArchLinux">Speeding up Pacman ๐</a></li> + <li>21-07-2024 - <a href="linux/ArchLinux/Cleaning.html">How To Clean Arch Linux ๐งน</a></li> + <li>23-08-2024 - <a href="linux/ArchLinux/Optimizing.html">Speeding up Pacman ๐</a></li> </ul> <h2>Tools</h2> <ul> - <li>25-08-2024 - <a href="linux/tools/00Ventoy">Ventoy install with Linux ๐ง๐</a></li> + <li>25-08-2024 - <a href="linux/tools/Ventoy.html">Ventoy install with Linux ๐ง๐</a></li> </ul> </main> </body> |