<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nicolaus</id>
	<title>Alpine Linux - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.alpinelinux.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nicolaus"/>
	<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/wiki/Special:Contributions/Nicolaus"/>
	<updated>2026-04-27T15:26:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16512</id>
		<title>Murmur</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16512"/>
		<updated>2019-10-13T21:58:52Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.mumble.info/wiki/Running_Murmur Murmur] (also called Mumble-Server) is the server component for [https://wiki.alpinelinux.org/wiki/Mumble Mumble]. Mumble is an open source, cross platform, low-latency, high quality voice over IP (VoIP) client. Mumble uses a client/server architecture and is primarily used by gamers, but can be used for any VoIP purpose.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
First of all we need Murmur in our server.&lt;br /&gt;
{{Cmd|apk add murmur}}&lt;br /&gt;
&lt;br /&gt;
=== Setting up SSL certificates ===&lt;br /&gt;
If you already have used Certbot to set up certificates in your web server, then you can easily make a new certificate for a subdomain &#039;mumble&#039; and add the cert paths to the mumble.ini configuration file. You can use vim and edit the file manually.&lt;br /&gt;
{{Cmd|vim /etc/murmur.ini}}&lt;br /&gt;
It should look something like this.&lt;br /&gt;
{{Cat|/etc/murmur.ini|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
sslCert=/etc/letsencrypt/live/your_domain.com/fullchain.pem&lt;br /&gt;
sslKey=/etc/letsencrypt/live/your_domain.com/privkey.pem&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Starting up the service ===&lt;br /&gt;
Start the Murmur service.&lt;br /&gt;
{{Cmd|rc-service murmur start}}&lt;br /&gt;
You can add the Murmur service to the default runlevel.&lt;br /&gt;
{{Cmd|rc-service add murmur default}}&lt;br /&gt;
In case you don&#039;t want Murmur to be default on runlevel, rollback with this command&lt;br /&gt;
{{Cmd|rc-service delete murmur default}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[category: telephony]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16493</id>
		<title>Murmur</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16493"/>
		<updated>2019-10-09T06:33:05Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.mumble.info/wiki/Running_Murmur Murmur] (also called Mumble-Server) is the server component for [https://wiki.alpinelinux.org/wiki/Mumble Mumble]. Mumble is an open source, cross platform, low-latency, high quality voice over IP (VoIP) client. Mumble uses a client/server architecture and is primarily used by gamers, but can be used for any VoIP purpose.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
First of all we need Murmur in our server.&lt;br /&gt;
{{Cmd|apk add murmur}}&lt;br /&gt;
Open the murmur.ini configuration file and edit it so murmur can be run by the &#039;murmur&#039; user created by the package.&lt;br /&gt;
{{Cmd|vim /var/lib/murmur/murmur.sqlite}}&lt;br /&gt;
{{Cat|/var/lib/murmur/murmur.sqlite|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
uname=murmur&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Now give permissions to the murmur database, so the user &#039;murmur&#039; can read it.&lt;br /&gt;
{{Cmd|chown murmur /var/lib/murmur/murmur.sqlite}}&lt;br /&gt;
&lt;br /&gt;
=== Setting up SSL certificates ===&lt;br /&gt;
If you already have used Certbot to set up certificates in your web server, then you can easily make a new certificate for a subdomain &#039;mumble&#039; and add the cert paths to the mumble.ini configuration file. You can use vim and edit the file manually.&lt;br /&gt;
{{Cmd|vim /etc/murmur.ini}}&lt;br /&gt;
It should look something like this.&lt;br /&gt;
{{Cat|/etc/murmur.ini|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
sslCert=/etc/letsencrypt/live/your_domain.com/fullchain.pem&lt;br /&gt;
sslKey=/etc/letsencrypt/live/your_domain.com/privkey.pem&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Starting up the service ===&lt;br /&gt;
Start the Murmur service.&lt;br /&gt;
{{Cmd|rc-service murmur start}}&lt;br /&gt;
You can add the Murmur service to the default runlevel.&lt;br /&gt;
{{Cmd|rc-service add murmur default}}&lt;br /&gt;
In case you don&#039;t want Murmur to be default on runlevel, rollback with this command&lt;br /&gt;
{{Cmd|rc-service delete murmur default}}&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16492</id>
		<title>Murmur</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16492"/>
		<updated>2019-10-09T06:07:17Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Starting up the service */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.mumble.info/wiki/Running_Murmur Murmur] (also called Mumble-Server) is the server component for [https://wiki.alpinelinux.org/wiki/Mumble Mumble]. Murmur allows you to run your own private or public voice chat server for the Mumble client.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
First of all we need Murmur in our server.&lt;br /&gt;
{{Cmd|apk add murmur}}&lt;br /&gt;
Open the murmur.ini configuration file and edit it so murmur can be run by the &#039;murmur&#039; user created by the package.&lt;br /&gt;
{{Cmd|vim /var/lib/murmur/murmur.sqlite}}&lt;br /&gt;
{{Cat|/var/lib/murmur/murmur.sqlite|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
uname=murmur&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Now give permissions to the murmur database, so the user &#039;murmur&#039; can read it.&lt;br /&gt;
{{Cmd|chown murmur /var/lib/murmur/murmur.sqlite}}&lt;br /&gt;
&lt;br /&gt;
=== Setting up SSL certificates ===&lt;br /&gt;
If you already have used Certbot to set up certificates in your web server, then you can easily make a new certificate for a subdomain &#039;mumble&#039; and add the cert paths to the mumble.ini configuration file. You can use vim and edit the file manually.&lt;br /&gt;
{{Cmd|vim /etc/murmur.ini}}&lt;br /&gt;
It should look something like this.&lt;br /&gt;
{{Cat|/etc/murmur.ini|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
sslCert=/etc/letsencrypt/live/your_domain.com/fullchain.pem&lt;br /&gt;
sslKey=/etc/letsencrypt/live/your_domain.com/privkey.pem&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Starting up the service ===&lt;br /&gt;
Start the murmur service.&lt;br /&gt;
{{Cmd|rc-service murmur start}}&lt;br /&gt;
You can add the murmur service to the default runlevel.&lt;br /&gt;
{{Cmd|rc-service add murmur default}}&lt;br /&gt;
In case you don&#039;t want murmur to be default on runlevel, rollback with this command&lt;br /&gt;
{{Cmd|rc-service delete murmur default}}&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16491</id>
		<title>Murmur</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16491"/>
		<updated>2019-10-09T06:07:09Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Setting up SSL certificates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.mumble.info/wiki/Running_Murmur Murmur] (also called Mumble-Server) is the server component for [https://wiki.alpinelinux.org/wiki/Mumble Mumble]. Murmur allows you to run your own private or public voice chat server for the Mumble client.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
First of all we need Murmur in our server.&lt;br /&gt;
{{Cmd|apk add murmur}}&lt;br /&gt;
Open the murmur.ini configuration file and edit it so murmur can be run by the &#039;murmur&#039; user created by the package.&lt;br /&gt;
{{Cmd|vim /var/lib/murmur/murmur.sqlite}}&lt;br /&gt;
{{Cat|/var/lib/murmur/murmur.sqlite|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
uname=murmur&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Now give permissions to the murmur database, so the user &#039;murmur&#039; can read it.&lt;br /&gt;
{{Cmd|chown murmur /var/lib/murmur/murmur.sqlite}}&lt;br /&gt;
&lt;br /&gt;
=== Setting up SSL certificates ===&lt;br /&gt;
If you already have used Certbot to set up certificates in your web server, then you can easily make a new certificate for a subdomain &#039;mumble&#039; and add the cert paths to the mumble.ini configuration file. You can use vim and edit the file manually.&lt;br /&gt;
{{Cmd|vim /etc/murmur.ini}}&lt;br /&gt;
It should look something like this.&lt;br /&gt;
{{Cat|/etc/murmur.ini|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
sslCert=/etc/letsencrypt/live/your_domain.com/fullchain.pem&lt;br /&gt;
sslKey=/etc/letsencrypt/live/your_domain.com/privkey.pem&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Starting up the service ===&lt;br /&gt;
Start the murmur service.&lt;br /&gt;
{{Cmd|rc-service murmur start}}&lt;br /&gt;
{{Note|Optional steps.}}&lt;br /&gt;
You can add the murmur service to the default runlevel.&lt;br /&gt;
{{Cmd|rc-service add murmur default}}&lt;br /&gt;
In case you don&#039;t want murmur to be default on runlevel, rollback with this command&lt;br /&gt;
{{Cmd|rc-service delete murmur default}}&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16490</id>
		<title>Murmur</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16490"/>
		<updated>2019-10-09T06:05:13Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: Added simple SSL guide for Murmur&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.mumble.info/wiki/Running_Murmur Murmur] (also called Mumble-Server) is the server component for [https://wiki.alpinelinux.org/wiki/Mumble Mumble]. Murmur allows you to run your own private or public voice chat server for the Mumble client.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
First of all we need Murmur in our server.&lt;br /&gt;
{{Cmd|apk add murmur}}&lt;br /&gt;
Open the murmur.ini configuration file and edit it so murmur can be run by the &#039;murmur&#039; user created by the package.&lt;br /&gt;
{{Cmd|vim /var/lib/murmur/murmur.sqlite}}&lt;br /&gt;
{{Cat|/var/lib/murmur/murmur.sqlite|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
uname=murmur&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Now give permissions to the murmur database, so the user &#039;murmur&#039; can read it.&lt;br /&gt;
{{Cmd|chown murmur /var/lib/murmur/murmur.sqlite}}&lt;br /&gt;
&lt;br /&gt;
=== Setting up SSL certificates ===&lt;br /&gt;
{{Note|Optional steps.}}&lt;br /&gt;
If you already have used Certbot to set up certificates in your web server, then you can easily make a new certificate for a subdomain &#039;mumble&#039; and add the cert paths to the mumble.ini configuration file. You can do it simple and slick with a single sed command. Or you can also use vim and do it manually.&lt;br /&gt;
{{Cmd|sed -i -e &#039;s/;sslCert=/sslCert=\/etc\/letsencrypt\/live\/your_domain.com\/fullchain.pem/ ; s/;sslKey=/sslKey=\/etc\/letsencrypt\/live\/your_domain.com\/privkey.pem/&#039; /etc/murmur.ini}}&lt;br /&gt;
It should look something like this.&lt;br /&gt;
{{Cat|/etc/murmur.ini|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
sslCert=/etc/letsencrypt/live/your_domain.com/fullchain.pem&lt;br /&gt;
sslKey=/etc/letsencrypt/live/your_domain.com/privkey.pem&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Starting up the service ===&lt;br /&gt;
Start the murmur service.&lt;br /&gt;
{{Cmd|rc-service murmur start}}&lt;br /&gt;
{{Note|Optional steps.}}&lt;br /&gt;
You can add the murmur service to the default runlevel.&lt;br /&gt;
{{Cmd|rc-service add murmur default}}&lt;br /&gt;
In case you don&#039;t want murmur to be default on runlevel, rollback with this command&lt;br /&gt;
{{Cmd|rc-service delete murmur default}}&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16489</id>
		<title>Murmur</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16489"/>
		<updated>2019-10-09T04:58:16Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.mumble.info/wiki/Running_Murmur Murmur] (also called Mumble-Server) is the server component for [https://wiki.alpinelinux.org/wiki/Mumble Mumble]. Murmur allows you to run your own private or public voice chat server for the Mumble client.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
First of all we need Murmur in our server.&lt;br /&gt;
{{Cmd|apk add murmur}}&lt;br /&gt;
Open the murmur.ini configuration file and edit it so murmur can be run by the &#039;murmur&#039; user created by the package.&lt;br /&gt;
{{Cmd|vim /var/lib/murmur/murmur.sqlite}}&lt;br /&gt;
{{Cat|/var/lib/murmur/murmur.sqlite|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
uname=murmur&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Now give permissions to the murmur database, so the user &#039;murmur&#039; can read it.&lt;br /&gt;
{{Cmd|chown murmur /var/lib/murmur/murmur.sqlite}}&lt;br /&gt;
&lt;br /&gt;
=== Starting up the service ===&lt;br /&gt;
Start the murmur service.&lt;br /&gt;
{{Cmd|rc-service murmur start}}&lt;br /&gt;
{{Note|Optional steps}}&lt;br /&gt;
You can add the murmur service to the default runlevel.&lt;br /&gt;
{{Cmd|rc-service add murmur default}}&lt;br /&gt;
In case you don&#039;t want murmur to be default on runlevel, rollback with this command&lt;br /&gt;
{{Cmd|rc-service delete murmur default}}&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16488</id>
		<title>Murmur</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16488"/>
		<updated>2019-10-09T04:57:04Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Installation */ More stuff to the wiki.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.mumble.info/wiki/Running_Murmur Murmur] (also called Mumble-Server) is the server component for [https://wiki.alpinelinux.org/wiki/Mumble Mumble]. Murmur allows you to run your own private or public voice chat server for the Mumble client.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
First of all we need Murmur in our server.&lt;br /&gt;
{{Cmd|apk add murmur}}&lt;br /&gt;
Open the murmur.ini configuration file and edit it so murmur can be run by the &#039;murmur&#039; user.&lt;br /&gt;
{{Cmd|vim /var/lib/murmur/murmur.sqlite}}&lt;br /&gt;
{{Cat|/var/lib/murmur/murmur.sqlite|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
uname=murmur&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Now give permissions to the murmur database, so the user &#039;murmur&#039; can read it.&lt;br /&gt;
{{Cmd|chown murmur /var/lib/murmur/murmur.sqlite}}&lt;br /&gt;
&lt;br /&gt;
=== Starting up the service ===&lt;br /&gt;
Start the murmur service.&lt;br /&gt;
{{Cmd|rc-service murmur start}}&lt;br /&gt;
{{Note|Optional steps}}&lt;br /&gt;
You can add the murmur service to the default runlevel.&lt;br /&gt;
{{Cmd|rc-service add murmur default}}&lt;br /&gt;
In case you don&#039;t want murmur to be default on runlevel, rollback with this command&lt;br /&gt;
{{Cmd|rc-service delete murmur default}}&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16487</id>
		<title>Murmur</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16487"/>
		<updated>2019-10-09T00:29:15Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.mumble.info/wiki/Running_Murmur Murmur] (also called Mumble-Server) is the server component for [https://wiki.alpinelinux.org/wiki/Mumble Mumble]. Murmur allows you to run your own private or public voice chat server for the Mumble client.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
First of all we need Murmur in our server.&lt;br /&gt;
{{Cmd|apk add murmur}}&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16486</id>
		<title>Murmur</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16486"/>
		<updated>2019-10-09T00:28:53Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.mumble.info/wiki/Running_Murmur [https://wiki.alpinelinux.org/wiki/Mumble Mumble] (also called Mumble-Server) is the server component for Mumble. Murmur allows you to run your own private or public voice chat server for the Mumble client.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
First of all we need Murmur in our server.&lt;br /&gt;
{{Cmd|apk add murmur}}&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16485</id>
		<title>Murmur</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Murmur&amp;diff=16485"/>
		<updated>2019-10-09T00:27:31Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: first&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.mumble.info/wiki/Running_Murmur Murmur] (also called Mumble-Server) is the server component for Mumble. Murmur allows you to run your own private or public voice chat server for the Mumble client.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
First of all we need Murmur in our server.&lt;br /&gt;
{{Cmd|apk add murmur}}&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16350</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16350"/>
		<updated>2019-09-10T08:05:35Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation set up new public keys */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &amp;quot;&amp;quot; -f ~/.ssh/id_rsa}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ~/.ssh/id_rsa.pub ~/.ssh/${YOUR_USERNAME}.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ~/.ssh/${YOUR_USERNAME}.pub root@${YOUR_SERVER_DOMAIN_OR_IP}:/var/lib/git/${YOUR_USERNAME}.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/${YOUR_USERNAME}.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ~/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ~/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ~/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|~/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a git repository, create one ===&lt;br /&gt;
Create a dotfiles directory.&lt;br /&gt;
{{Cmd|mkdir ~/dotfiles/}}&lt;br /&gt;
Initialize a git repository in the dotfiles directory.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ remote add origin git@${YOUR_SERVER_DOMAIN_OR_IP}:${YOUR_GIT_REPO} }}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|echo &amp;quot;hello world&amp;quot; &amp;gt; ~/dotfiles/testfile}}&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ add ~/dotfiles/testfile}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16349</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16349"/>
		<updated>2019-09-10T08:05:21Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation, if you don&amp;#039;t have a git repository, create one */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &amp;quot;&amp;quot; -f ~/.ssh/id_rsa}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ~/.ssh/id_rsa.pub ~/.ssh/${YOUR_USERNAME}.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ~/.ssh/YOUR_USERNAME.pub root@${YOUR_SERVER_DOMAIN_OR_IP}:/var/lib/git/${YOUR_USERNAME}.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/${YOUR_USERNAME}.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ~/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ~/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ~/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|~/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a git repository, create one ===&lt;br /&gt;
Create a dotfiles directory.&lt;br /&gt;
{{Cmd|mkdir ~/dotfiles/}}&lt;br /&gt;
Initialize a git repository in the dotfiles directory.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ remote add origin git@${YOUR_SERVER_DOMAIN_OR_IP}:${YOUR_GIT_REPO} }}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|echo &amp;quot;hello world&amp;quot; &amp;gt; ~/dotfiles/testfile}}&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ add ~/dotfiles/testfile}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16348</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16348"/>
		<updated>2019-09-10T08:05:09Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation, if you don&amp;#039;t have a git repository, create one */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &amp;quot;&amp;quot; -f ~/.ssh/id_rsa}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ~/.ssh/id_rsa.pub ~/.ssh/${YOUR_USERNAME}.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ~/.ssh/YOUR_USERNAME.pub root@${YOUR_SERVER_DOMAIN_OR_IP}:/var/lib/git/${YOUR_USERNAME}.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/${YOUR_USERNAME}.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ~/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ~/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ~/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|~/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a git repository, create one ===&lt;br /&gt;
Create a dotfiles directory.&lt;br /&gt;
{{Cmd|mkdir ~/dotfiles/}}&lt;br /&gt;
Initialize a git repository in the dotfiles directory.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ remote add origin git@{YOUR_SERVER_DOMAIN_OR_IP}:${YOUR_GIT_REPO} }}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|echo &amp;quot;hello world&amp;quot; &amp;gt; ~/dotfiles/testfile}}&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ add ~/dotfiles/testfile}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16347</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16347"/>
		<updated>2019-09-10T08:05:00Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation, if you don&amp;#039;t have a git repository, create one */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &amp;quot;&amp;quot; -f ~/.ssh/id_rsa}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ~/.ssh/id_rsa.pub ~/.ssh/${YOUR_USERNAME}.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ~/.ssh/YOUR_USERNAME.pub root@${YOUR_SERVER_DOMAIN_OR_IP}:/var/lib/git/${YOUR_USERNAME}.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/${YOUR_USERNAME}.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ~/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ~/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ~/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|~/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a git repository, create one ===&lt;br /&gt;
Create a dotfiles directory.&lt;br /&gt;
{{Cmd|mkdir ~/dotfiles/}}&lt;br /&gt;
Initialize a git repository in the dotfiles directory.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ remote add origin git@{YOUR_SERVER_DOMAIN_OR_IP}:${YOUR_GIT_REPO}}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|echo &amp;quot;hello world&amp;quot; &amp;gt; ~/dotfiles/testfile}}&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ add ~/dotfiles/testfile}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16346</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16346"/>
		<updated>2019-09-10T08:04:49Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your server set up Gitolite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &amp;quot;&amp;quot; -f ~/.ssh/id_rsa}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ~/.ssh/id_rsa.pub ~/.ssh/${YOUR_USERNAME}.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ~/.ssh/YOUR_USERNAME.pub root@${YOUR_SERVER_DOMAIN_OR_IP}:/var/lib/git/${YOUR_USERNAME}.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/${YOUR_USERNAME}.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ~/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ~/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ~/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|~/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a git repository, create one ===&lt;br /&gt;
Create a dotfiles directory.&lt;br /&gt;
{{Cmd|mkdir ~/dotfiles/}}&lt;br /&gt;
Initialize a git repository in the dotfiles directory.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ remote add origin git@{YOUR_SERVER_DOMAIN_OR_IP}:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|echo &amp;quot;hello world&amp;quot; &amp;gt; ~/dotfiles/testfile}}&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ add ~/dotfiles/testfile}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16345</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16345"/>
		<updated>2019-09-10T08:02:46Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation set up new public keys */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &amp;quot;&amp;quot; -f ~/.ssh/id_rsa}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ~/.ssh/id_rsa.pub ~/.ssh/${YOUR_USERNAME}.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ~/.ssh/YOUR_USERNAME.pub root@${YOUR_SERVER_DOMAIN_OR_IP}:/var/lib/git/${YOUR_USERNAME}.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ~/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ~/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ~/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|~/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a git repository, create one ===&lt;br /&gt;
Create a dotfiles directory.&lt;br /&gt;
{{Cmd|mkdir ~/dotfiles/}}&lt;br /&gt;
Initialize a git repository in the dotfiles directory.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ remote add origin git@{YOUR_SERVER_DOMAIN_OR_IP}:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|echo &amp;quot;hello world&amp;quot; &amp;gt; ~/dotfiles/testfile}}&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ add ~/dotfiles/testfile}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16344</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16344"/>
		<updated>2019-09-10T08:02:03Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation set up new public keys */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f ~/.ssh/id_rsa}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ~/.ssh/id_rsa.pub ~/.ssh/${YOUR_USERNAME}.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ~/.ssh/YOUR_USERNAME.pub root@${YOUR_SERVER_DOMAIN_OR_IP}:/var/lib/git/${YOUR_USERNAME}.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ~/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ~/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ~/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|~/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a git repository, create one ===&lt;br /&gt;
Create a dotfiles directory.&lt;br /&gt;
{{Cmd|mkdir ~/dotfiles/}}&lt;br /&gt;
Initialize a git repository in the dotfiles directory.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ remote add origin git@{YOUR_SERVER_DOMAIN_OR_IP}:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|echo &amp;quot;hello world&amp;quot; &amp;gt; ~/dotfiles/testfile}}&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ add ~/dotfiles/testfile}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16343</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16343"/>
		<updated>2019-09-10T07:57:49Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation, if you don&amp;#039;t have a git repository, create one */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f ~/.ssh/id_rsa}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ~/.ssh/id_rsa.pub ~/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ~/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_DOMAIN_OR_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ~/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ~/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ~/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|~/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a git repository, create one ===&lt;br /&gt;
Create a dotfiles directory.&lt;br /&gt;
{{Cmd|mkdir ~/dotfiles/}}&lt;br /&gt;
Initialize a git repository in the dotfiles directory.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ remote add origin git@{YOUR_SERVER_DOMAIN_OR_IP}:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|echo &amp;quot;hello world&amp;quot; &amp;gt; ~/dotfiles/testfile}}&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ add ~/dotfiles/testfile}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16342</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16342"/>
		<updated>2019-09-10T07:55:46Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation, if you don&amp;#039;t have a git repository, create one */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f ~/.ssh/id_rsa}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ~/.ssh/id_rsa.pub ~/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ~/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_DOMAIN_OR_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ~/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ~/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ~/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|~/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a git repository, create one ===&lt;br /&gt;
Create a dotfiles directory.&lt;br /&gt;
{{Cmd|mkdir ~/dotfiles/}}&lt;br /&gt;
Initialize a git repository in the dotfiles directory.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ remote add origin git@YOUR_SERVER_DOMAIN_OR_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|echo &amp;quot;hello world&amp;quot; &amp;gt; ${HOME}/dotfiles/testfile}}&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ add ${HOME}/dotfiles/testfile}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ~/dotfiles/ push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16341</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16341"/>
		<updated>2019-09-10T07:53:58Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation set up Gitolite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f ~/.ssh/id_rsa}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ~/.ssh/id_rsa.pub ~/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ~/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_DOMAIN_OR_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ~/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ~/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ~/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|~/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ~/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a git repository, create one ===&lt;br /&gt;
Create a dotfiles directory.&lt;br /&gt;
{{Cmd|mkdir ${HOME}/dotfiles/}}&lt;br /&gt;
Initialize a git repository in the dotfiles directory.&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ remote add origin git@YOUR_SERVER_DOMAIN_OR_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|echo &amp;quot;hello world&amp;quot; &amp;gt; ${HOME}/dotfiles/testfile}}&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ add ${HOME}/dotfiles/testfile}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16340</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16340"/>
		<updated>2019-09-10T07:51:25Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation set up new public keys */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f ~/.ssh/id_rsa}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ~/.ssh/id_rsa.pub ~/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ~/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_DOMAIN_OR_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ${HOME}/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ${HOME}/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ${HOME}/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|${HOME}/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a git repository, create one ===&lt;br /&gt;
Create a dotfiles directory.&lt;br /&gt;
{{Cmd|mkdir ${HOME}/dotfiles/}}&lt;br /&gt;
Initialize a git repository in the dotfiles directory.&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ remote add origin git@YOUR_SERVER_DOMAIN_OR_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|echo &amp;quot;hello world&amp;quot; &amp;gt; ${HOME}/dotfiles/testfile}}&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ add ${HOME}/dotfiles/testfile}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16338</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16338"/>
		<updated>2019-09-10T04:43:30Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation, if you don&amp;#039;t have a .git, create one */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f &amp;quot;${HOME}/.ssh/id_rsa&amp;quot;}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ${HOME}/.ssh/id_rsa.pub ${HOME}/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ${HOME}/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_DOMAIN_OR_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ${HOME}/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ${HOME}/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ${HOME}/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|${HOME}/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a git repository, create one ===&lt;br /&gt;
Create a dotfiles directory.&lt;br /&gt;
{{Cmd|mkdir ${HOME}/dotfiles/}}&lt;br /&gt;
Initialize a git repository in the dotfiles directory.&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ remote add origin git@YOUR_SERVER_DOMAIN_OR_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|echo &amp;quot;hello world&amp;quot; &amp;gt; ${HOME}/dotfiles/testfile}}&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ add ${HOME}/dotfiles/testfile}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/dotfiles/ push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16337</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16337"/>
		<updated>2019-09-10T04:32:05Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation set up Gitolite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f &amp;quot;${HOME}/.ssh/id_rsa&amp;quot;}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ${HOME}/.ssh/id_rsa.pub ${HOME}/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ${HOME}/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_DOMAIN_OR_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin ${HOME}/gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ${HOME}/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ${HOME}/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|${HOME}/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a .git, create one ===&lt;br /&gt;
Initialize a .git&lt;br /&gt;
{{Cmd|git -C ${HOME} init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME} remote add origin git@YOUR_SERVER_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|git -C ${HOME} add ${HOME}/.bashrc}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME} commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME} push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16336</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16336"/>
		<updated>2019-09-10T04:31:45Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation set up Gitolite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f &amp;quot;${HOME}/.ssh/id_rsa&amp;quot;}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ${HOME}/.ssh/id_rsa.pub ${HOME}/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ${HOME}/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_DOMAIN_OR_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${YOUR_SERVER_DOMAIN_OR_IP}:gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ${HOME}/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ${HOME}/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|${HOME}/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a .git, create one ===&lt;br /&gt;
Initialize a .git&lt;br /&gt;
{{Cmd|git -C ${HOME} init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME} remote add origin git@YOUR_SERVER_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|git -C ${HOME} add ${HOME}/.bashrc}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME} commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME} push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16335</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16335"/>
		<updated>2019-09-10T04:31:18Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation set up new public keys */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f &amp;quot;${HOME}/.ssh/id_rsa&amp;quot;}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ${HOME}/.ssh/id_rsa.pub ${HOME}/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ${HOME}/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_DOMAIN_OR_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${SERVERIP}:gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ${HOME}/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ${HOME}/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|${HOME}/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a .git, create one ===&lt;br /&gt;
Initialize a .git&lt;br /&gt;
{{Cmd|git -C ${HOME} init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME} remote add origin git@YOUR_SERVER_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|git -C ${HOME} add ${HOME}/.bashrc}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME} commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME} push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16334</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16334"/>
		<updated>2019-09-10T04:30:39Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation set up Gitolite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f &amp;quot;${HOME}/.ssh/id_rsa&amp;quot;}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ${HOME}/.ssh/id_rsa.pub ${HOME}/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ${HOME}/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
In your workstation clone the .git directory anywhere you want (preferably your home directory) to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${SERVERIP}:gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ${HOME}/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ${HOME}/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|${HOME}/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a .git, create one ===&lt;br /&gt;
Initialize a .git&lt;br /&gt;
{{Cmd|git -C ${HOME} init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME} remote add origin git@YOUR_SERVER_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|git -C ${HOME} add ${HOME}/.bashrc}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME} commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME} push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16333</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16333"/>
		<updated>2019-09-10T04:29:33Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your server set up Gitolite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f &amp;quot;${HOME}/.ssh/id_rsa&amp;quot;}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ${HOME}/.ssh/id_rsa.pub ${HOME}/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ${HOME}/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
Clone the .git directory to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${SERVERIP}:gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ${HOME}/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ${HOME}/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|${HOME}/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a .git, create one ===&lt;br /&gt;
Initialize a .git&lt;br /&gt;
{{Cmd|git -C ${HOME} init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME} remote add origin git@YOUR_SERVER_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|git -C ${HOME} add ${HOME}/.bashrc}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME} commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME} push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16305</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16305"/>
		<updated>2019-09-04T05:48:41Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Set up SSL certificates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 1025&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:1025&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 1025). Listener1 is the IRC port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 1025&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:1025;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificate that comes with the program.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done. Your webadmin page will be automatically running the SSL certificate made by Let&#039;s Encrypt.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
Now we will replace the znc.pem certificate with the Let&#039;s Encrypt certificates for any person who wants to connect to our IRC bouncer. For this we need to concatenate two important files into znc.pem&lt;br /&gt;
    {{Cmd|cat /etc/letsencrypt/live/your_domain.com/privkey.pem /etc/letsencrypt/live/your_domain.com/fullchain.pem &amp;gt; /var/lib/znc/znc.pem}}&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16304</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16304"/>
		<updated>2019-09-04T05:47:19Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: changed port&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 1025&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:1025&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 1025). Listener1 is the IRC port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 1025&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:1025;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificate that comes with the program.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done. Your webadmin page will be automatically running the SSL certificate made by Let&#039;s Encrypt.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
Now we will replace the znc.pem certificate with the Let&#039;s Encrypt certificates for any person who wants to connect to our IRC bouncer. For this we need to concatenate two important files into znc.pem&lt;br /&gt;
    {{Cmd|cat /etc/letsencrypt/live/YOUR_DOMAIN.COM/privkey.pem /etc/letsencrypt/live/YOUR_DOMAIN.COM/fullchain.pem &amp;gt; /var/lib/znc/znc.pem}}&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16303</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16303"/>
		<updated>2019-09-04T05:46:13Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Configure the ZNC webadmin page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 5000&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:1025&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 5000). Listener1 is the IRC port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 1025&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:5000;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificate that comes with the program.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done. Your webadmin page will be automatically running the SSL certificate made by Let&#039;s Encrypt.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
Now we will replace the znc.pem certificate with the Let&#039;s Encrypt certificates for any person who wants to connect to our IRC bouncer. For this we need to concatenate two important files into znc.pem&lt;br /&gt;
    {{Cmd|cat /etc/letsencrypt/live/YOUR_DOMAIN.COM/privkey.pem /etc/letsencrypt/live/YOUR_DOMAIN.COM/fullchain.pem &amp;gt; /var/lib/znc/znc.pem}}&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Cgit&amp;diff=16302</id>
		<title>Cgit</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Cgit&amp;diff=16302"/>
		<updated>2019-09-04T03:48:43Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Run cgit using spawn-fcgi and fcgiwrap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://git.zx2c4.com/cgit/ cgit] is a fast web-interface (CGI) for git written in the C programming language. It makes it possible for potential contributors to track and view project source code from the web instead of through a git client.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
{{Note|It is very recommendable that you already have a directory with an active .git working in your server. If you don&#039;t have one, install [[gitolite]] or a similar program before going further.}}&lt;br /&gt;
Install the package that contains cgit and git.&lt;br /&gt;
{{Cmd|apk add cgit git}}&lt;br /&gt;
&lt;br /&gt;
Open up /etc/cgitrc with your favorite editor, in this case is vim.&lt;br /&gt;
{{Cmd|vim /etc/cgitrc}}&lt;br /&gt;
&lt;br /&gt;
If you want to show an specific repository your configuration should look something like this:&lt;br /&gt;
{{Cat|/etc/cgitrc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
virtual-root=/&lt;br /&gt;
repo.path=/var/lib/git/repositories/YOUR_GIT_REPO.git/&lt;br /&gt;
repo.url=CUSTOM_GIT_URL&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you want to scan and show all the repositories you have, your configuration should look something like this:&lt;br /&gt;
{{Cat|/etc/cgitrc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
virtual-root=/&lt;br /&gt;
scan-path=/var/lib/git/repositories/&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Run cgit using spawn-fcgi and fcgiwrap ===&lt;br /&gt;
Create a new service by doing a symbolic link.&lt;br /&gt;
{{Cmd|ln -s /etc/init.d/spawn-fcgi /etc/init.d/spawn-fcgi.cgit}}&lt;br /&gt;
Create a configuration file called spawn-fcgi.cgit in /etc/conf.d/ ; the service will run fcgiwrap automatically everytime is called. It should look exactly like this:&lt;br /&gt;
{{Cat|/etc/conf.d/spawn-fcgi.cgit|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
FCGI_PORT=1234&lt;br /&gt;
FCGI_PROGRAM=/usr/bin/fcgiwrap&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Start the newly created service.&lt;br /&gt;
{{Cmd|rc-service spawn-fcgi.cgit start}}&lt;br /&gt;
&lt;br /&gt;
== Run cgit with a web service ==&lt;br /&gt;
&lt;br /&gt;
=== Configure Lighttpd to work with cgit ===&lt;br /&gt;
Install the package that contains lighttpd if you haven&#039;t already.&lt;br /&gt;
{{Cmd|apk add lighttpd}}&lt;br /&gt;
&lt;br /&gt;
Create a cgit.conf file into the lighttpd directory with the following content:&lt;br /&gt;
{{Cat|/etc/lighttpd/cgit.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
server.modules += (&amp;quot;mod_redirect&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_alias&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_cgi&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_fastcgi&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_rewrite&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
var.webapps  = &amp;quot;/usr/share/webapps/&amp;quot;&lt;br /&gt;
$HTTP[&amp;quot;url&amp;quot;] =~ &amp;quot;^/cgit&amp;quot; {&lt;br /&gt;
    server.document-root = webapps&lt;br /&gt;
    server.indexfiles = (&amp;quot;cgit.cgi&amp;quot;)&lt;br /&gt;
    cgi.assign = (&amp;quot;cgit.cgi&amp;quot; =&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
    mimetype.assign = ( &amp;quot;.css&amp;quot; =&amp;gt; &amp;quot;text/css&amp;quot; )&lt;br /&gt;
}&lt;br /&gt;
url.redirect = (&lt;br /&gt;
    &amp;quot;^/git/(.*)$&amp;quot; =&amp;gt; &amp;quot;/cgit/cgit.cgi/$1&amp;quot;,&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Finally, add the following line to the lighttpd.conf file:&lt;br /&gt;
{{Cat|/etc/lighttpd/lighttpd.conf|&amp;lt;nowiki&amp;gt;include &amp;quot;cgit.conf&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart the lighttpd service.&lt;br /&gt;
{{Cmd|rc-service lighttpd restart}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX to work with cgit pointing to a subdomain ===&lt;br /&gt;
&lt;br /&gt;
Install the package that contains NGINX if you haven&#039;t already.&lt;br /&gt;
{{Cmd|apk add nginx}}&lt;br /&gt;
&lt;br /&gt;
Create a custom configuration in the NGINX&#039;s conf.d directory.&lt;br /&gt;
{{Cmd|vim /etc/nginx/conf.d/git.your_domain.com.conf}}&lt;br /&gt;
&lt;br /&gt;
The file should look something like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/git.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    server_name git.your_domain.com;&lt;br /&gt;
    root /usr/share/webapps/cgit;&lt;br /&gt;
    try_files $uri @cgit;&lt;br /&gt;
    location @cgit {&lt;br /&gt;
        include fastcgi_params;&lt;br /&gt;
        fastcgi_pass localhost:1234;&lt;br /&gt;
        fastcgi_param SCRIPT_FILE $document_root/cgit.cgi;&lt;br /&gt;
        fastcgi_param PATH_INFO $uri;&lt;br /&gt;
        fastcgi_param QUERY_STRING $args;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
{{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Cgit&amp;diff=16301</id>
		<title>Cgit</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Cgit&amp;diff=16301"/>
		<updated>2019-09-04T03:48:06Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Run cgit using spawn-fcgi and fcgiwrap */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://git.zx2c4.com/cgit/ cgit] is a fast web-interface (CGI) for git written in the C programming language. It makes it possible for potential contributors to track and view project source code from the web instead of through a git client.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
{{Note|It is very recommendable that you already have a directory with an active .git working in your server. If you don&#039;t have one, install [[gitolite]] or a similar program before going further.}}&lt;br /&gt;
Install the package that contains cgit and git.&lt;br /&gt;
{{Cmd|apk add cgit git}}&lt;br /&gt;
&lt;br /&gt;
Open up /etc/cgitrc with your favorite editor, in this case is vim.&lt;br /&gt;
{{Cmd|vim /etc/cgitrc}}&lt;br /&gt;
&lt;br /&gt;
If you want to show an specific repository your configuration should look something like this:&lt;br /&gt;
{{Cat|/etc/cgitrc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
virtual-root=/&lt;br /&gt;
repo.path=/var/lib/git/repositories/YOUR_GIT_REPO.git/&lt;br /&gt;
repo.url=CUSTOM_GIT_URL&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you want to scan and show all the repositories you have, your configuration should look something like this:&lt;br /&gt;
{{Cat|/etc/cgitrc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
virtual-root=/&lt;br /&gt;
scan-path=/var/lib/git/repositories/&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Run cgit using spawn-fcgi and fcgiwrap ===&lt;br /&gt;
Create a new service by doing a symbolic link.&lt;br /&gt;
{{Cmd|ln -s /etc/init.d/spawn-fcgi /etc/init.d/spawn-fcgi.cgit}}&lt;br /&gt;
Create a configuration file called spawn-fcgi.cgit in /etc/conf.d/ ; the service will run fcgiwrap automatically everytime is called. It should look exactly like this:&lt;br /&gt;
{{Cat|/etc/conf.d/spawn-fcgi.cgit|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
FCGI_PROGRAM=/usr/bin/fcgiwrap&lt;br /&gt;
FCGI_PORT=1234&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Start the newly created service.&lt;br /&gt;
{{Cmd|rc-service spawn-fcgi.cgit start}}&lt;br /&gt;
&lt;br /&gt;
== Run cgit with a web service ==&lt;br /&gt;
&lt;br /&gt;
=== Configure Lighttpd to work with cgit ===&lt;br /&gt;
Install the package that contains lighttpd if you haven&#039;t already.&lt;br /&gt;
{{Cmd|apk add lighttpd}}&lt;br /&gt;
&lt;br /&gt;
Create a cgit.conf file into the lighttpd directory with the following content:&lt;br /&gt;
{{Cat|/etc/lighttpd/cgit.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
server.modules += (&amp;quot;mod_redirect&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_alias&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_cgi&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_fastcgi&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_rewrite&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
var.webapps  = &amp;quot;/usr/share/webapps/&amp;quot;&lt;br /&gt;
$HTTP[&amp;quot;url&amp;quot;] =~ &amp;quot;^/cgit&amp;quot; {&lt;br /&gt;
    server.document-root = webapps&lt;br /&gt;
    server.indexfiles = (&amp;quot;cgit.cgi&amp;quot;)&lt;br /&gt;
    cgi.assign = (&amp;quot;cgit.cgi&amp;quot; =&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
    mimetype.assign = ( &amp;quot;.css&amp;quot; =&amp;gt; &amp;quot;text/css&amp;quot; )&lt;br /&gt;
}&lt;br /&gt;
url.redirect = (&lt;br /&gt;
    &amp;quot;^/git/(.*)$&amp;quot; =&amp;gt; &amp;quot;/cgit/cgit.cgi/$1&amp;quot;,&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Finally, add the following line to the lighttpd.conf file:&lt;br /&gt;
{{Cat|/etc/lighttpd/lighttpd.conf|&amp;lt;nowiki&amp;gt;include &amp;quot;cgit.conf&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart the lighttpd service.&lt;br /&gt;
{{Cmd|rc-service lighttpd restart}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX to work with cgit pointing to a subdomain ===&lt;br /&gt;
&lt;br /&gt;
Install the package that contains NGINX if you haven&#039;t already.&lt;br /&gt;
{{Cmd|apk add nginx}}&lt;br /&gt;
&lt;br /&gt;
Create a custom configuration in the NGINX&#039;s conf.d directory.&lt;br /&gt;
{{Cmd|vim /etc/nginx/conf.d/git.your_domain.com.conf}}&lt;br /&gt;
&lt;br /&gt;
The file should look something like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/git.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    server_name git.your_domain.com;&lt;br /&gt;
    root /usr/share/webapps/cgit;&lt;br /&gt;
    try_files $uri @cgit;&lt;br /&gt;
    location @cgit {&lt;br /&gt;
        include fastcgi_params;&lt;br /&gt;
        fastcgi_pass localhost:1234;&lt;br /&gt;
        fastcgi_param SCRIPT_FILE $document_root/cgit.cgi;&lt;br /&gt;
        fastcgi_param PATH_INFO $uri;&lt;br /&gt;
        fastcgi_param QUERY_STRING $args;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
{{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16300</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16300"/>
		<updated>2019-09-04T01:17:45Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Setting up Gitolite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f &amp;quot;${HOME}/.ssh/id_rsa&amp;quot;}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ${HOME}/.ssh/id_rsa.pub ${HOME}/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ${HOME}/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
Clone the .git directory to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${SERVERIP}:gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ${HOME}/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ${HOME}/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|${HOME}/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a .git, create one ===&lt;br /&gt;
Initialize a .git&lt;br /&gt;
{{Cmd|git -C ${HOME} init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME} remote add origin git@YOUR_SERVER_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|git -C ${HOME} add ${HOME}/.bashrc}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME} commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME} push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16299</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16299"/>
		<updated>2019-09-04T01:16:36Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Install ZNC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 5000&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:5000&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 5000). Listener1 is the IRC port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 5000&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:5000;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificate that comes with the program.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done. Your webadmin page will be automatically running the SSL certificate made by Let&#039;s Encrypt.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
Now we will replace the znc.pem certificate with the Let&#039;s Encrypt certificates for any person who wants to connect to our IRC bouncer. For this we need to concatenate two important files into znc.pem&lt;br /&gt;
    {{Cmd|cat /etc/letsencrypt/live/YOUR_DOMAIN.COM/privkey.pem /etc/letsencrypt/live/YOUR_DOMAIN.COM/fullchain.pem &amp;gt; /var/lib/znc/znc.pem}}&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Cgit&amp;diff=16298</id>
		<title>Cgit</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Cgit&amp;diff=16298"/>
		<updated>2019-09-04T01:16:18Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Setting up cgit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://git.zx2c4.com/cgit/ cgit] is a fast web-interface (CGI) for git written in the C programming language. It makes it possible for potential contributors to track and view project source code from the web instead of through a git client.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
{{Note|It is very recommendable that you already have a directory with an active .git working in your server. If you don&#039;t have one, install [[gitolite]] or a similar program before going further.}}&lt;br /&gt;
Install the package that contains cgit and git.&lt;br /&gt;
{{Cmd|apk add cgit git}}&lt;br /&gt;
&lt;br /&gt;
Open up /etc/cgitrc with your favorite editor, in this case is vim.&lt;br /&gt;
{{Cmd|vim /etc/cgitrc}}&lt;br /&gt;
&lt;br /&gt;
If you want to show an specific repository your configuration should look something like this:&lt;br /&gt;
{{Cat|/etc/cgitrc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
virtual-root=/&lt;br /&gt;
repo.path=/var/lib/git/repositories/YOUR_GIT_REPO.git/&lt;br /&gt;
repo.url=CUSTOM_GIT_URL&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you want to scan and show all the repositories you have, your configuration should look something like this:&lt;br /&gt;
{{Cat|/etc/cgitrc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
virtual-root=/&lt;br /&gt;
scan-path=/var/lib/git/repositories/&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Run cgit using spawn-fcgi and fcgiwrap ===&lt;br /&gt;
Create a new service by doing a symbolic link.&lt;br /&gt;
{{Cmd|ln -s /etc/init.d/spawn-fcgi /etc/init.d/spawn-fcgi.cgit}}&lt;br /&gt;
Create a configuration file called spawn-fcgi.cgit in /etc/conf.d/ ; the service will run fcgiwrap automatically everytime is called. It should look exactly like this:&lt;br /&gt;
{{Cat|/etc/conf.d/spawn-fcgi.cgit|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
FCGI_PROGRAM=/usr/bin/fcgiwrap&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Start the newly created service.&lt;br /&gt;
{{Cmd|rc-service spawn-fcgi.cgit start}}&lt;br /&gt;
&lt;br /&gt;
== Run cgit with a web service ==&lt;br /&gt;
&lt;br /&gt;
=== Configure Lighttpd to work with cgit ===&lt;br /&gt;
Install the package that contains lighttpd if you haven&#039;t already.&lt;br /&gt;
{{Cmd|apk add lighttpd}}&lt;br /&gt;
&lt;br /&gt;
Create a cgit.conf file into the lighttpd directory with the following content:&lt;br /&gt;
{{Cat|/etc/lighttpd/cgit.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
server.modules += (&amp;quot;mod_redirect&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_alias&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_cgi&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_fastcgi&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_rewrite&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
var.webapps  = &amp;quot;/usr/share/webapps/&amp;quot;&lt;br /&gt;
$HTTP[&amp;quot;url&amp;quot;] =~ &amp;quot;^/cgit&amp;quot; {&lt;br /&gt;
    server.document-root = webapps&lt;br /&gt;
    server.indexfiles = (&amp;quot;cgit.cgi&amp;quot;)&lt;br /&gt;
    cgi.assign = (&amp;quot;cgit.cgi&amp;quot; =&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
    mimetype.assign = ( &amp;quot;.css&amp;quot; =&amp;gt; &amp;quot;text/css&amp;quot; )&lt;br /&gt;
}&lt;br /&gt;
url.redirect = (&lt;br /&gt;
    &amp;quot;^/git/(.*)$&amp;quot; =&amp;gt; &amp;quot;/cgit/cgit.cgi/$1&amp;quot;,&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Finally, add the following line to the lighttpd.conf file:&lt;br /&gt;
{{Cat|/etc/lighttpd/lighttpd.conf|&amp;lt;nowiki&amp;gt;include &amp;quot;cgit.conf&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart the lighttpd service.&lt;br /&gt;
{{Cmd|rc-service lighttpd restart}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX to work with cgit pointing to a subdomain ===&lt;br /&gt;
&lt;br /&gt;
Install the package that contains NGINX if you haven&#039;t already.&lt;br /&gt;
{{Cmd|apk add nginx}}&lt;br /&gt;
&lt;br /&gt;
Create a custom configuration in the NGINX&#039;s conf.d directory.&lt;br /&gt;
{{Cmd|vim /etc/nginx/conf.d/git.your_domain.com.conf}}&lt;br /&gt;
&lt;br /&gt;
The file should look something like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/git.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    server_name git.your_domain.com;&lt;br /&gt;
    root /usr/share/webapps/cgit;&lt;br /&gt;
    try_files $uri @cgit;&lt;br /&gt;
    location @cgit {&lt;br /&gt;
        include fastcgi_params;&lt;br /&gt;
        fastcgi_pass localhost:1234;&lt;br /&gt;
        fastcgi_param SCRIPT_FILE $document_root/cgit.cgi;&lt;br /&gt;
        fastcgi_param PATH_INFO $uri;&lt;br /&gt;
        fastcgi_param QUERY_STRING $args;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
{{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16297</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16297"/>
		<updated>2019-09-04T01:15:00Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Install ZNC ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 5000&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:5000&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 5000). Listener1 is the IRC port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 5000&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:5000;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificate that comes with the program.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done. Your webadmin page will be automatically running the SSL certificate made by Let&#039;s Encrypt.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
Now we will replace the znc.pem certificate with the Let&#039;s Encrypt certificates for any person who wants to connect to our IRC bouncer. For this we need to concatenate two important files into znc.pem&lt;br /&gt;
    {{Cmd|cat /etc/letsencrypt/live/YOUR_DOMAIN.COM/privkey.pem /etc/letsencrypt/live/YOUR_DOMAIN.COM/fullchain.pem &amp;gt; /var/lib/znc/znc.pem}}&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16296</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16296"/>
		<updated>2019-09-04T01:13:42Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Install ZNC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 5000&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:5000&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 5000). Listener1 is the IRC port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 5000&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:5000;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificate that comes with the program.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done. Your webadmin page will be automatically running the SSL certificate made by Let&#039;s Encrypt.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
Now we will replace the znc.pem certificate with the Let&#039;s Encrypt certificates for any person who wants to connect to our IRC bouncer. For this we need to concatenate two important files into znc.pem&lt;br /&gt;
    {{Cmd|cat /etc/letsencrypt/live/YOUR_DOMAIN.COM/privkey.pem /etc/letsencrypt/live/YOUR_DOMAIN.COM/fullchain.pem &amp;gt; /var/lib/znc/znc.pem}}&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16295</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16295"/>
		<updated>2019-09-04T01:13:17Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Setting up ZNC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Install ZNC ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 5000&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:5000&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 5000). Listener1 is the IRC port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 5000&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:5000;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificate that comes with the program.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done. Your webadmin page will be automatically running the SSL certificate made by Let&#039;s Encrypt.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
Now we will replace the znc.pem certificate with the Let&#039;s Encrypt certificates for any person who wants to connect to our IRC bouncer. For this we need to concatenate two important files into znc.pem&lt;br /&gt;
    {{Cmd|cat /etc/letsencrypt/live/YOUR_DOMAIN.COM/privkey.pem /etc/letsencrypt/live/YOUR_DOMAIN.COM/fullchain.pem &amp;gt; /var/lib/znc/znc.pem}}&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16294</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16294"/>
		<updated>2019-09-04T00:41:44Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Configure NGINX */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Setting up ZNC ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 5000&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:5000&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 5000). Listener1 is the IRC port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 5000&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:5000;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificate that comes with the program.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done. Your webadmin page will be automatically running the SSL certificate made by Let&#039;s Encrypt.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
Now we will replace the znc.pem certificate with the Let&#039;s Encrypt certificates for any person who wants to connect to our IRC bouncer. For this we need to concatenate two important files into znc.pem&lt;br /&gt;
    {{Cmd|cat /etc/letsencrypt/live/YOUR_DOMAIN.COM/privkey.pem /etc/letsencrypt/live/YOUR_DOMAIN.COM/fullchain.pem &amp;gt; /var/lib/znc/znc.pem}}&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16293</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16293"/>
		<updated>2019-09-03T19:54:03Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Set up SSL certificates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Setting up ZNC ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 5000&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:5000&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 5000). Listener1 is the IRC port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 5000&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:5000;&lt;br /&gt;
            proxy_max_temp_file_size 0;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificate that comes with the program.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done. Your webadmin page will be automatically running the SSL certificate made by Let&#039;s Encrypt.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
Now we will replace the znc.pem certificate with the Let&#039;s Encrypt certificates for any person who wants to connect to our IRC bouncer. For this we need to concatenate two important files into znc.pem&lt;br /&gt;
    {{Cmd|cat /etc/letsencrypt/live/YOUR_DOMAIN.COM/privkey.pem /etc/letsencrypt/live/YOUR_DOMAIN.COM/fullchain.pem &amp;gt; /var/lib/znc/znc.pem}}&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16292</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16292"/>
		<updated>2019-09-03T18:20:30Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: typo&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Setting up ZNC ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 5000&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:5000&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 5000). Listener1 is the IRC port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 5000&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:5000;&lt;br /&gt;
            proxy_max_temp_file_size 0;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificate that come with the program.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done. Your webadmin page will be automatically running the SSL certificate made by Let&#039;s Encrypt.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
Now we will replace the znc.pem certificate with the Let&#039;s Encrypt certificates for any person who wants to connect to our IRC bouncer. For this we need to concatenate two important files into znc.pem&lt;br /&gt;
    {{Cmd|cat /etc/letsencrypt/live/YOUR_DOMAIN.COM/privkey.pem /etc/letsencrypt/live/YOUR_DOMAIN.COM/fullchain.pem &amp;gt; /var/lib/znc/znc.pem}}&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16291</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16291"/>
		<updated>2019-09-03T18:20:11Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: More info about SSL certificates&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Setting up ZNC ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 5000&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:5000&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 5000). Listener1 is the IRC port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 5000&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:5000;&lt;br /&gt;
            proxy_max_temp_file_size 0;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificate that come with the program.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done. Your webadmin page will be automatically running the SSL certificate made by Let&#039;s Encrypt.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
Now we will replace the znc.pem certificate with the Let&#039;s Encrypt certificates for any person who wants to connect to our IRC bouncer. For this we need to concatenate two important files into znc.pem&lt;br /&gt;
    {{cat /etc/letsencrypt/live/YOUR_DOMAIN.COM/privkey.pem /etc/letsencrypt/live/YOUR_DOMAIN.COM/fullchain.pem &amp;gt; /var/lib/znc/znc.pem}}&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16290</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16290"/>
		<updated>2019-09-03T08:07:06Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Configure the ZNC webadmin page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Setting up ZNC ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 5000&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:5000&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 5000). Listener1 is the IRC port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 5000&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:5000;&lt;br /&gt;
            proxy_max_temp_file_size 0;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificates that come with the program. If you didn&#039;t turn off SSL in listener0 (webpage), you will probably get a lot of errors.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16289</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16289"/>
		<updated>2019-09-03T06:34:33Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: Minor edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Setting up ZNC ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 5000&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:5000&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6697&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 5000). Listener1 is the webadmin port (it&#039;s listening port 6697).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 5000&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6697&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:5000;&lt;br /&gt;
            proxy_max_temp_file_size 0;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificates that come with the program. If you didn&#039;t turn off SSL in listener0 (webpage), you will probably get a lot of errors.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Cgit&amp;diff=16236</id>
		<title>Cgit</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Cgit&amp;diff=16236"/>
		<updated>2019-08-21T03:51:23Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* Setting up cgit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://git.zx2c4.com/cgit/ cgit] is a fast web-interface (CGI) for git written in the C programming language. It makes it possible for potential contributors to track and view project source code from the web instead of through a git client.&lt;br /&gt;
&lt;br /&gt;
== Setting up cgit ==&lt;br /&gt;
{{Note|It is very recommendable that you already have a directory with an active .git working in your server. If you don&#039;t have one, install [[gitolite]] or a similar program before going further.}}&lt;br /&gt;
Install the package that contains cgit and git.&lt;br /&gt;
{{Cmd|apk add cgit git}}&lt;br /&gt;
&lt;br /&gt;
Open up /etc/cgitrc with your favorite editor, in this case is vim.&lt;br /&gt;
{{Cmd|vim /etc/cgitrc}}&lt;br /&gt;
&lt;br /&gt;
If you want to show an specific repository your configuration should look something like this:&lt;br /&gt;
{{Cat|/etc/cgitrc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
virtual-root=/&lt;br /&gt;
repo.path=/var/lib/git/repositories/YOUR_GIT_REPO.git/&lt;br /&gt;
repo.url=CUSTOM_GIT_URL&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
If you want to scan and show all the repositories you have, your configuration should look something like this:&lt;br /&gt;
{{Cat|/etc/cgitrc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
virtual-root=/&lt;br /&gt;
scan-path=/var/lib/git/repositories/&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== Run cgit using spawn-fcgi and fcgiwrap ===&lt;br /&gt;
Create a new service by doing a symbolic link.&lt;br /&gt;
{{Cmd|ln -s /etc/init.d/spawn-fcgi /etc/init.d/spawn-fcgi.cgit}}&lt;br /&gt;
Create a configuration file called spawn-fcgi.cgit in /etc/conf.d/ ; the service will run fcgiwrap automatically everytime is called. It should look exactly like this:&lt;br /&gt;
{{Cat|/etc/conf.d/spawn-fcgi.cgit|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
FCGI_PROGRAM=/usr/bin/fcgiwrap&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Start the newly created service.&lt;br /&gt;
{{Cmd|rc-service spawn-fcgi.cgit start}}&lt;br /&gt;
&lt;br /&gt;
== Run cgit with a web service ==&lt;br /&gt;
&lt;br /&gt;
=== Configure Lighttpd to work with cgit ===&lt;br /&gt;
Install the package that contains lighttpd if you haven&#039;t already.&lt;br /&gt;
{{Cmd|apk add lighttpd}}&lt;br /&gt;
&lt;br /&gt;
Create a cgit.conf file into the lighttpd directory with the following content:&lt;br /&gt;
{{Cat|/etc/lighttpd/cgit.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
server.modules += (&amp;quot;mod_redirect&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_alias&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_cgi&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_fastcgi&amp;quot;,&lt;br /&gt;
                  &amp;quot;mod_rewrite&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
var.webapps  = &amp;quot;/usr/share/webapps/&amp;quot;&lt;br /&gt;
$HTTP[&amp;quot;url&amp;quot;] =~ &amp;quot;^/cgit&amp;quot; {&lt;br /&gt;
    server.document-root = webapps&lt;br /&gt;
    server.indexfiles = (&amp;quot;cgit.cgi&amp;quot;)&lt;br /&gt;
    cgi.assign = (&amp;quot;cgit.cgi&amp;quot; =&amp;gt; &amp;quot;&amp;quot;)&lt;br /&gt;
    mimetype.assign = ( &amp;quot;.css&amp;quot; =&amp;gt; &amp;quot;text/css&amp;quot; )&lt;br /&gt;
}&lt;br /&gt;
url.redirect = (&lt;br /&gt;
    &amp;quot;^/git/(.*)$&amp;quot; =&amp;gt; &amp;quot;/cgit/cgit.cgi/$1&amp;quot;,&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Finally, add the following line to the lighttpd.conf file:&lt;br /&gt;
{{Cat|/etc/lighttpd/lighttpd.conf|&amp;lt;nowiki&amp;gt;include &amp;quot;cgit.conf&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Restart the lighttpd service.&lt;br /&gt;
{{Cmd|rc-service lighttpd restart}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX to work with cgit pointing to a subdomain ===&lt;br /&gt;
&lt;br /&gt;
Install the package that contains NGINX if you haven&#039;t already.&lt;br /&gt;
{{Cmd|apk add nginx}}&lt;br /&gt;
&lt;br /&gt;
Create a custom configuration in the NGINX&#039;s conf.d directory.&lt;br /&gt;
{{Cmd|vim /etc/nginx/conf.d/git.your_domain.com.conf}}&lt;br /&gt;
&lt;br /&gt;
The file should look something like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/git.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
server {&lt;br /&gt;
    server_name git.your_domain.com;&lt;br /&gt;
    root /usr/share/webapps/cgit;&lt;br /&gt;
    try_files $uri @cgit;&lt;br /&gt;
    location @cgit {&lt;br /&gt;
        include fastcgi_params;&lt;br /&gt;
        fastcgi_pass localhost:1234;&lt;br /&gt;
        fastcgi_param SCRIPT_FILE $document_root/cgit.cgi;&lt;br /&gt;
        fastcgi_param PATH_INFO $uri;&lt;br /&gt;
        fastcgi_param QUERY_STRING $args;&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
{{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16233</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16233"/>
		<updated>2019-08-20T08:33:45Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://gitolite.com/ Gitolite] is a wrapper around a base git installation which facilitates the secure management of project repositories and of the user privileges governing access to those repositories. &lt;br /&gt;
&lt;br /&gt;
== Setting up Gitolite ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f &amp;quot;${HOME}/.ssh/id_rsa&amp;quot;}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ${HOME}/.ssh/id_rsa.pub ${HOME}/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ${HOME}/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
Clone the .git directory to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${SERVERIP}:gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ${HOME}/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ${HOME}/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|${HOME}/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a .git, create one ===&lt;br /&gt;
Initialize a .git&lt;br /&gt;
{{Cmd|git -C ${HOME} init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME} remote add origin git@YOUR_SERVER_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|git -C ${HOME} add ${HOME}/.bashrc}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME} commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME} push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16232</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16232"/>
		<updated>2019-08-20T07:15:50Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your server set up Gitolite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setting up Gitolite ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f &amp;quot;${HOME}/.ssh/id_rsa&amp;quot;}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ${HOME}/.ssh/id_rsa.pub ${HOME}/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ${HOME}/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup Gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
Clone the .git directory to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${SERVERIP}:gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ${HOME}/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ${HOME}/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|${HOME}/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a .git, create one ===&lt;br /&gt;
Initialize a .git&lt;br /&gt;
{{Cmd|git -C ${HOME} init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME} remote add origin git@YOUR_SERVER_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|git -C ${HOME} add ${HOME}/.bashrc}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME} commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME} push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16231</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16231"/>
		<updated>2019-08-20T07:14:49Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: /* In your workstation set up Gitolite */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setting up Gitolite ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f &amp;quot;${HOME}/.ssh/id_rsa&amp;quot;}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ${HOME}/.ssh/id_rsa.pub ${HOME}/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ${HOME}/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
Clone the .git directory to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${SERVERIP}:gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ${HOME}/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ${HOME}/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|${HOME}/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a .git, create one ===&lt;br /&gt;
Initialize a .git&lt;br /&gt;
{{Cmd|git -C ${HOME} init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME} remote add origin git@YOUR_SERVER_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|git -C ${HOME} add ${HOME}/.bashrc}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME} commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME} push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16230</id>
		<title>Gitolite</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=Gitolite&amp;diff=16230"/>
		<updated>2019-08-20T07:13:29Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: Overhaul of the Gitolite guide because it was obsolete.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Setting up Gitolite ==&lt;br /&gt;
Install the package that contains Gitolite.&lt;br /&gt;
{{Cmd|apk add gitolite git}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up new public keys ===&lt;br /&gt;
Running this command will create a new pair of private and public key.&lt;br /&gt;
{{Cmd|ssh-keygen -N &#039;&#039; -f &amp;quot;${HOME}/.ssh/id_rsa&amp;quot;}}&lt;br /&gt;
Create a copy of the public key.&lt;br /&gt;
{{Cmd|cp ${HOME}/.ssh/id_rsa.pub ${HOME}/.ssh/YOUR_USERNAME.pub}}&lt;br /&gt;
Send the public key to your server by running the command shown below.&lt;br /&gt;
{{Cmd|scp ${HOME}/.ssh/YOUR_USERNAME.pub root@YOUR_SERVER_IP:/var/lib/git/YOUR_USERNAME.pub}}&lt;br /&gt;
&lt;br /&gt;
=== In your server set up Gitolite ===&lt;br /&gt;
This command will setup gitolite using the public key you just sent to the server.&lt;br /&gt;
{{Cmd|su git -c &amp;quot;gitolite setup -pk /var/lib/git/YOUR_USERNAME.pub&amp;quot;}}&lt;br /&gt;
{{Warning|There is no need to add password to the default git account that was created automatically by the system. We run git via su git.}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation set up Gitolite ===&lt;br /&gt;
Clone the .git directory to administrate Gitolite outside a server.&lt;br /&gt;
{{Cmd|git clone git@${SERVERIP}:gitolite-admin}}&lt;br /&gt;
Use your favorite text editor and open the file ${HOME}/gitolite-admin/conf/gitolite.conf&lt;br /&gt;
{{Cmd|vim ${HOME}/gitolite-admin/conf/gitolite.conf}}&lt;br /&gt;
Add to that file the name of a git repository which Gitolite will manage. It should look something like this:&lt;br /&gt;
{{Cat|${HOME}/gitolite-admin/conf/gitolite.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
repo gitolite-admin&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
repo testing&lt;br /&gt;
RW+ = @all&lt;br /&gt;
repo YOUR_GIT_REPO&lt;br /&gt;
RW+ = YOUR_USERNAME&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Make commit of what you just changed.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/ commit -am &amp;quot;My new custom repository.&amp;quot;}}&lt;br /&gt;
Push the changes to the server.&lt;br /&gt;
{{Cmd|git -C ${HOME}/gitolite-admin/&amp;quot; push}}&lt;br /&gt;
&lt;br /&gt;
=== In your workstation, if you don&#039;t have a .git, create one ===&lt;br /&gt;
Initialize a .git&lt;br /&gt;
{{Cmd|git -C ${HOME} init}}&lt;br /&gt;
We will add the remote for this new .git. In this case we point the server in which Gitolite was installed, and the repository name we sent before by pushing data via gitolite-admin.&lt;br /&gt;
{{Cmd|git -C ${HOME} remote add origin git@YOUR_SERVER_IP:YOUR_GIT_REPO}}&lt;br /&gt;
Add some files to your new repository.&lt;br /&gt;
{{Cmd|git -C ${HOME} add ${HOME}/.bashrc}}&lt;br /&gt;
Create a commit.&lt;br /&gt;
{{Cmd|git -C ${HOME} commit -am &amp;quot;This is my first commit.&amp;quot;}}&lt;br /&gt;
Push the files to the server. In this case it&#039;s being pushed to the server in which Gitolite was installed.&lt;br /&gt;
{{Cmd|git -C ${HOME} push --set-upstream origin master}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:Git]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
	<entry>
		<id>https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16228</id>
		<title>ZNC</title>
		<link rel="alternate" type="text/html" href="https://wiki.alpinelinux.org/w/index.php?title=ZNC&amp;diff=16228"/>
		<updated>2019-08-20T06:18:15Z</updated>

		<summary type="html">&lt;p&gt;Nicolaus: Created ZNC page. Copypasting from the Znc page with lowercase.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://wiki.znc.in/ZNC ZNC] is an advanced IRC bouncer that can establish such a permanent connection to several IRC networks and channels so your IRC client (or multiple clients) can disconnect/reconnect without losing the chat session, while appearing as a single user to other users.&lt;br /&gt;
&lt;br /&gt;
== Setting up ZNC ==&lt;br /&gt;
Install the package that contains ZNC.&lt;br /&gt;
    {{Cmd|apk add znc}}&lt;br /&gt;
Create a ZNC configuration file, this command will automatically create znc.conf in /var/lib/znc/configs/. You will be asked to enter some information.&lt;br /&gt;
    {{Cmd|rc-service znc setup}}&lt;br /&gt;
    {{Note|Make sure the information you enter is as it&#039;s shown below.}}&lt;br /&gt;
    Listen on port: 5000&lt;br /&gt;
    Listen using SSL: yes&lt;br /&gt;
    Listen using both IPv4 and IPv6: no&lt;br /&gt;
    Username: your_username&lt;br /&gt;
    Enter password: your_password&lt;br /&gt;
    Confirm password: your_password&lt;br /&gt;
    Nick: nick&lt;br /&gt;
    Alternate nick: nick_&lt;br /&gt;
    Real name: optional&lt;br /&gt;
    Bind host: try to leave empty&lt;br /&gt;
    Set up a network? no&lt;br /&gt;
    Launch ZNC now? no&lt;br /&gt;
    {{Warning|Never edit the configuration file while ZNC is running; always check with &amp;lt;code&amp;gt;htop&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;rc-status&amp;lt;/code&amp;gt; if ZNC is running.}}&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
== Run ZNC in a subdomain using NGINX ==&lt;br /&gt;
&lt;br /&gt;
=== Configure the ZNC webadmin page ===&lt;br /&gt;
&lt;br /&gt;
Open the ZNC webadmin page &amp;lt;code&amp;gt;https://YOUR_SERVER_IP:5000&amp;lt;/code&amp;gt; in your browser. Accept the insecure certificate and go forward.&lt;br /&gt;
Log in with your username and password and go to global settings.&lt;br /&gt;
We want to maintain the webadmin connections separate from the IRC connections.&lt;br /&gt;
Let&#039;s make a listening port for the IRC connections.&lt;br /&gt;
&lt;br /&gt;
In Listen Port(s) add:&lt;br /&gt;
&lt;br /&gt;
    Port: 6000&lt;br /&gt;
    BindHost: *&lt;br /&gt;
    SSL: on&lt;br /&gt;
    IPv4: on&lt;br /&gt;
    IPv6: off&lt;br /&gt;
    IRC: on&lt;br /&gt;
    HTTP: off&lt;br /&gt;
    URIPrefix: /&lt;br /&gt;
Save the information you entered and stop the service for now.&lt;br /&gt;
    {{Cmd|rc-service znc stop}}&lt;br /&gt;
Edit the configuration file.&lt;br /&gt;
    {{Cmd|vim /lib/znc/configs/znc.conf}}&lt;br /&gt;
&lt;br /&gt;
{{Note|Listener0 is the webadmin port (it&#039;s listening port 5000). Listener1 is the webadmin port (it&#039;s listening port 6000).}}&lt;br /&gt;
Your configuration file should look like this:&lt;br /&gt;
&lt;br /&gt;
{{Cat|/lib/znc/configs/znc.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
 &amp;lt;Listener listener0&amp;gt;&lt;br /&gt;
    Allow IRC = false&lt;br /&gt;
    AllowWeb = true&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 5000&lt;br /&gt;
    SSL = false&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
 &amp;lt;Listener listener1&amp;gt;&lt;br /&gt;
    AllowIRC = true&lt;br /&gt;
    AllowWeb = false&lt;br /&gt;
    IPv4 = true&lt;br /&gt;
    IPv6 = false&lt;br /&gt;
    Port = 6000&lt;br /&gt;
    SSL = true&lt;br /&gt;
    URIPrefix = /&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Start ZNC as service.&lt;br /&gt;
    {{Cmd|rc-service znc start}}&lt;br /&gt;
&lt;br /&gt;
=== Configure NGINX ===&lt;br /&gt;
Install NGINX if you haven&#039;t already.&lt;br /&gt;
    {{Cmd|apk add nginx}}&lt;br /&gt;
Create a configuration file in conf.d separated from the main configuration files.  &lt;br /&gt;
    {{Cmd|vim /etc/nginx/conf.d/znc.your_domain.com.conf}}&lt;br /&gt;
The file should look something like below.&lt;br /&gt;
{{Cat|/etc/nginx/conf.d/znc.your_domain.com.conf|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
    server {&lt;br /&gt;
        server_name znc.yourdomain.com;&lt;br /&gt;
        location / {&lt;br /&gt;
            proxy_pass http://localhost:5000;&lt;br /&gt;
            proxy_max_temp_file_size 0;&lt;br /&gt;
            }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
Restart the NGINX service.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
=== Set up SSL certificates ===&lt;br /&gt;
{{Note|We opt to use SSL certificates made by Let&#039;s Encrypt, instead of using the znc.pem certificates that come with the program. If you didn&#039;t turn off SSL in listener0 (webpage), you will probably get a lot of errors.}}&lt;br /&gt;
Install Certbot and its module to work with NGINX.&lt;br /&gt;
    {{Cmd|apk add certbot cerbot-nginx}}&lt;br /&gt;
Run Certbot, this program will create Let&#039;s Encrypt SSL certificates for free. You will have to manually or automatically renew them every month.&lt;br /&gt;
    {{Cmd|certbot}}&lt;br /&gt;
Restart NGINX and you&#039;re done.&lt;br /&gt;
    {{Cmd|rc-service nginx restart}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Server]]&lt;br /&gt;
[[Category:IRC]]&lt;/div&gt;</summary>
		<author><name>Nicolaus</name></author>
	</entry>
</feed>