Alt-Data Network
Details coming soon.
Hosting Setup
ANNE.WIKI itself is self hosted from home via the ANNE network. Self hosting from home is now a simple task once you are running an annode which acts as a mini webserver, in just a few simple steps you can host your own website, and new content is as simple as moving files to a folder on your own machine, no more uploading, changes can be made instantly. Below will walk through the simple steps to setup an html website.
The first step is to create a folder to host your content, if you used the easy web installer from this wiki, you will already have a convenient location to add this new folder at:
C://ANNE/Host
In this example we will name the folder "testhost" placed in the above Host folder. Go ahead and make a new folder and name it, then you will need to update your annode config.
Click the launch button on the annode to launch the annode config, enter your password to decrypt it.
On a new line enter the config shown below, adjust for your own folder structure.
Note: Use double backslash on windows, single on linux.
node.FOLDER_ALIASES=/testhost::C:\\ANNE\\Host\\testhost;
You must also ensure the configs below are set as shown
API.allowed = *
API.Listen = 0.0.0.0
Note: You must replace the IP:PORT below with your own annode IP:PORT.
anne.nodeURI = http://82.21.151.21:9116
Now an index.html file is needed, you can use a simple hello world, for this example, a free HTML5UP template has been placed in the testhost folder.
Reboot your annode and that's it, you are now hosting a website, albeit at your annode's IP, before proceeding to setup up the domain name, you can confirm all is correct by typing your IP:PORT followed by the /folder/index.html. Replace the IP (and folder) with your own IP.
http://82.21.151.21:9116/testhost/index.html
And as you can see below the template index.html is now viewable at the above URL
Note: If you have a dynamic IP, your IP in the URL will need to update with your IP.
Domain Setup
To point a domain name at your IP, you need to create an A record in your DNS settings at your domain host. Insturctions vary for each registrar be sure to view your registrars documentation. Typically you need a static IP if not planning to use ADDNS, some registrars provide Dynamic DNS services but these rarely allow the use of custom ports. If you do have a static IP, you will not need to use a DNS service if you use Apache or Nginx to setup reverse proxy so that the custom port is not required in the URL. There are also alternatives by using a third party DNS provider that support custom ports or by setting HTTPS record if the DNS provider supports it. The many methods possible are yet to be explored and we welcome any and all discussion and discovery on various ways to get setup. If you do not have a static IP you will either need to update your A record each time your IP changes (not recommended), or you can use ADDNS.
For this example we will use the domain anne.news which is registered at Namecheap, open your domain's Advanced DNS tab.
delete the current records, click Add new Record and create an A record with your IP as shown below.
Note: Your nameservers need to be set to the default BasicDNS.
Now you will need to update your config and add the following config on a new line.
Note: Replace anne.news with your domain, and adjust the path.
node.DOMAINS=anne.news:9116::C:\\ANNE\\Host\\testhost;
Also add the following config, this is the file extensions that can be served, you can add more file extensions here if others are needed.
node.exts = *.html;*.css;*.woff;*.woff2;*.ttf;*.scss;*.js;*.jpg;*.jpeg;*.pdf;*.wav;*.png;*.gif;*.mp3;*.ico;*.mp4;*.zip; *.svg; *.exe; *.json;
As you can now see in the below image, anne.news now resolves to the IP set in the A record, and the website is served via the Annode. The next step is to setup SSL.
Note: You still need the custom port and file in the URL, until you setup ADDNS.
IMPORTANT: You may not be able to reach the domain on the same machine hosting it, you can access files directly in for instant editing. Check domain on another machine with different IP.
SSL Setup
Setting up SSL takes a few minutes, we will generate the cert files, convert them, copy them to convenient location, then adjust the annode config, and thats about it.
First step is to visit sslfree.io Enter your domain name, your email, select DNS for the verification, accept Let's encrypt subscriber agreement, then click the Generate Free SSL button.
When you come to the next page you will be provided with instructions to verify ownership of the domain.
You will need to go back to your domains registrar and create a TXT record the same way you previously created the A record.
The TXT record must contain the provided string for verification, see the example below.
Note: In testing, using only "_acme-challenge" worked, this may differ between registrars.
Create the TXT record like below, wait a few minutes for this to propogate, go and make a coffee or cup of tea, then go back to sslfree.io and click the Verify Domain button shown above.
Now your .CRT file, private key and CA Bundle will be available to download, save them to a convenient location, for this example we will save them at C:/ANNE/Host/Cert
Now you will need to convert the cert files to a p12/pfk file. To do this you can use one of the many converters online. In this walk through we will use Namecheap's decoder.link/converter Select PEM to PKCS#12, and select the relevant files, set a password and click CONVERT.
Once converted download the zip file and save it to a convenient spot, this example will use the same Certs folder we saved the CRT files in earlier.
Unzip the zip folder and you should have a file name like 374rt4478478ry4r7rf7yr9fuf.pfx
Now need to update your annode config, enable SSL and provide the certificate's location.
Add the following to the annode config, adjusting to suit.
API.SSL=true
API.SSL_keyStorePath=C:\\ANNE\\Host\\Cert\\3ee3a34e29734984baba063686efacb6.pfx
API.SSL_keyStorePassword=THEPASSWORDYOUSETWHENCONVERTINGSSLFILES
That is it, all done, wait a while for propogation then your domain will be reachable with HTTPS.
ANNE Decentralized Domain Name System
Details coming soon.
ANNE Decentralized Content Delivery Network
Details coming soon.
Load Balancing
Details coming soon.