Update README.md
This commit is contained in:
18
README.md
18
README.md
@@ -2,15 +2,17 @@
|
|||||||
|
|
||||||
## Motivation
|
## Motivation
|
||||||
|
|
||||||
Due to hosting my Nginx webserver at home my IP is subject to change as my ISP does not afford me a static one
|
Due to hosting my Nginx webserver at home my IP is subject to change, as my ISP does not grant me a static one
|
||||||
|
|
||||||
Said webserver hosts tobiastime.xyz and the pages you are currently viewing
|
Said webserver hosts tobiastime.xyz and the pages you are currently viewing
|
||||||
|
|
||||||
Initially I wanted to create a Bash script to interact with Namecheap's API allowing me to automatically update my A record when needs be
|
Initially I wanted to create a Bash script to interact with Namecheap's API allowing the automatic update of the A record for the root of my domain when needs be
|
||||||
|
|
||||||
However Namecheap charges $50 to interact with their API, and I have heard even if you cough up the money it is very poor and limited
|
However Namecheap charges $50 to interact with their API, and I have heard even if you cough up the money it is quite poor and limited
|
||||||
|
|
||||||
Consequently I began to run my own nameservers (ns1/2.tobiastime.xyz) on two headless Debian virutal private servers affording me full autonomy and control over my domain, utilizing PowerDNS as the backend
|
Consequently I began to run my own nameservers on two headless Debian virtual private servers with PowerDNS and a SQLite3 database serving as the backend
|
||||||
|
|
||||||
|
This granted me full autonomy and control over my domain
|
||||||
|
|
||||||
|
|
||||||
## Dependencies
|
## Dependencies
|
||||||
@@ -57,7 +59,7 @@ Create jaileduser as a system user
|
|||||||
useradd -r -s /usr/sbin/nologin jaileduser
|
useradd -r -s /usr/sbin/nologin jaileduser
|
||||||
```
|
```
|
||||||
|
|
||||||
If it hasn't been automatically created, then create jaileduser's home directory and give root ownership
|
If it has not been automatically created, then create jaileduser's home directory and give root ownership
|
||||||
|
|
||||||
Root must be given ownership due to chroot modifications we will make in the SSH config
|
Root must be given ownership due to chroot modifications we will make in the SSH config
|
||||||
|
|
||||||
@@ -93,7 +95,7 @@ Lastly we generate the SSH key for jaileduser so it can be used to authenticate
|
|||||||
|
|
||||||
And create the appropriate files within jaileduser's home directory
|
And create the appropriate files within jaileduser's home directory
|
||||||
|
|
||||||
The private key will need to be transfered and stored onto the Nginx server
|
The private key will need to be transferred and stored onto the Nginx server
|
||||||
|
|
||||||
``` bash
|
``` bash
|
||||||
mkdir /home/jaileduser/.ssh
|
mkdir /home/jaileduser/.ssh
|
||||||
@@ -240,7 +242,7 @@ On the master nameserver in /etc/crontab place:
|
|||||||
|
|
||||||
Assuming your system has logrotate installed (as most modern distros do
|
Assuming your system has logrotate installed (as most modern distros do
|
||||||
|
|
||||||
And you don't want a giant wall of text singular log file for all bashddns actions on the master nameserver
|
And you don't want a giant wall of text singular log file for all BashDDNS actions on the master nameserver
|
||||||
|
|
||||||
### A log rotate entry can be made as follows:
|
### A log rotate entry can be made as follows:
|
||||||
|
|
||||||
@@ -262,4 +264,4 @@ nano /etc/logrotate.d/bashddns
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
This will keep logs for a week, rotate them daily, compress old ones, and ensure the log file is readable and writebale by your user
|
This will keep logs for a week, rotate them daily, compress old ones, and ensure the log file is readable and writable by your user
|
||||||
|
|||||||
Reference in New Issue
Block a user