diff options
Diffstat (limited to 'tutorials/www/how-to-make-this-site.html')
-rw-r--r-- | tutorials/www/how-to-make-this-site.html | 90 |
1 files changed, 39 insertions, 51 deletions
diff --git a/tutorials/www/how-to-make-this-site.html b/tutorials/www/how-to-make-this-site.html index 2fcc26f..33d8943 100644 --- a/tutorials/www/how-to-make-this-site.html +++ b/tutorials/www/how-to-make-this-site.html @@ -1,11 +1,11 @@ <!DOCTYPE html> -<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<html lang="" xml:lang="" xmlns="http://www.w3.org/1999/xhtml"> <head> - <meta charset="utf-8" /> - <meta name="generator" content="pandoc" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> - <title>how-to-make-this-site</title> - <style> +<meta charset="utf-8"/> +<meta content="pandoc" name="generator"/> +<meta content="width=device-width, initial-scale=1.0, user-scalable=yes" name="viewport"/> +<title>how-to-make-this-site</title> +<style> html { line-height: 1.5; font-family: Georgia, serif; @@ -159,42 +159,41 @@ <nav id="TOC" role="doc-toc"> <h2 id="toc-title">Contents</h2> <ul> -<li><a href="#background">Background</a></li> -<li><a href="#what-is-a-web-server-and-how-do-i-run-one">What is a web +<li><a href="#background" target="_self">Background</a></li> +<li><a href="#what-is-a-web-server-and-how-do-i-run-one" target="_self">What is a web server and how do I run one?</a> <ul> -<li><a href="#getting-from-localhost-to-the-internet">Getting from +<li><a href="#getting-from-localhost-to-the-internet" target="_self">Getting from localhost to the internet</a></li> </ul></li> -<li><a -href="#how-can-i-make-this-server-available-on-the-internet-cheaply-and-independently">How +<li><a href="#how-can-i-make-this-server-available-on-the-internet-cheaply-and-independently" target="_self">How can I make this server available on the Internet <em>cheaply</em> and <em>independently</em></a> <ul> -<li><a href="#can-i-run-a-web-server-at-home">Can I run a web server at +<li><a href="#can-i-run-a-web-server-at-home" target="_self">Can I run a web server at home</a></li> -<li><a href="#so-what-should-i-do">So what should I do</a></li> +<li><a href="#so-what-should-i-do" target="_self">So what should I do</a></li> </ul></li> -<li><a href="#whats-a-domain-name">What's a "Domain Name"</a></li> -<li><a href="#setup-https-and-tls-for-some-sense-of-security">Setup +<li><a href="#whats-a-domain-name" target="_self">What's a "Domain Name"</a></li> +<li><a href="#setup-https-and-tls-for-some-sense-of-security" target="_self">Setup HTTPS and TLS, for some sense of security</a></li> -<li><a href="#perspective">Perspective</a></li> -<li><a href="#references">References</a> +<li><a href="#perspective" target="_self">Perspective</a></li> +<li><a href="#references" target="_self">References</a> <ul> -<li><a href="#terms-of-service-for-certain-isps">Terms of service for +<li><a href="#terms-of-service-for-certain-isps" target="_self">Terms of service for certain ISPs</a> <ul> -<li><a href="#verizon">Verizon</a></li> -<li><a href="#optimum">Optimum</a></li> -<li><a href="#spectrum">Spectrum</a></li> -<li><a href="#att">AT&T</a></li> -<li><a href="#cox-communications">Cox Communications</a></li> +<li><a href="#verizon" target="_self">Verizon</a></li> +<li><a href="#optimum" target="_self">Optimum</a></li> +<li><a href="#spectrum" target="_self">Spectrum</a></li> +<li><a href="#att" target="_self">AT&T</a></li> +<li><a href="#cox-communications" target="_self">Cox Communications</a></li> </ul></li> </ul></li> </ul> </nav> <h2 id="background">Background</h2> -<p><em>TL;DR get to </em><a href="#thepoint">the point</a></p> +<p><em>TL;DR get to </em><a href="#thepoint" target="_self">the point</a></p> <p>I think it was roughly the end of high school when I first had the idea I wanted to make <em>some</em> kind of website. This would be around 2010 and I did what I thought would be a good idea and bought a @@ -222,8 +221,7 @@ you want to take the time to deploy it yourself). But they also give out free .wordpress domains and some storage space with a snazzy dashboard to manage it all.</p> <p>I had fun with that one, I don't update it anymore, but it's still up -at <a -href="https://postquantumpoetry.wordpress.com">postquantumpoetry.wordpress.com</a>. +at <a href="https://postquantumpoetry.wordpress.com">postquantumpoetry.wordpress.com</a>. WordPress got closer to what I wanted, but it still wasn't <em>really</em> my site; it was WordPress's site unless I wanted to pay the hosting and domain fee. It's pretty modest, but I wasn't sold on @@ -261,15 +259,12 @@ and how do I run one?</h2> <p><em>TL;DR a web server is just a program that lets other computers on a network view files in a chosen folder. All you need to do is download a web server: apache and nginx are popular ones, but you can easily -program your own with web frameworks like <a -href="https://flask.palletsprojects.com/en/2.0.x/">Flask</a> or <a -href="https://facil.io/">Facil</a></em></p> +program your own with web frameworks like <a href="https://flask.palletsprojects.com/en/2.0.x/">Flask</a> or <a href="https://facil.io/">Facil</a></em></p> <p>You can run a web server for free right now. These instructions will be for Linux just for consistency since I'm as used to setting this up on a Windows server. If you've never used Linux, don't be scared! It's very easy to setup and manage in Windows now with Windows Subsystem for -Linux. If you're on Windows, follow their guide <a -href="https://docs.microsoft.com/en-us/windows/wsl/install">here</a>. It +Linux. If you're on Windows, follow their guide <a href="https://docs.microsoft.com/en-us/windows/wsl/install">here</a>. It should be pretty straightforward, but if you have any issues: 1) Make sure you check your Windows version as noted in the "Prerequisites," 2) Try a different distribution, like Debian with @@ -357,19 +352,16 @@ value.</p> <p>Now get your <em>public</em> ip address at this site https://who.is/ and share it with your friends. Watch in horror as they access all the files in the directory you launched the server!</p> -<h2 -id="how-can-i-make-this-server-available-on-the-internet-cheaply-and-independently">How +<h2 id="how-can-i-make-this-server-available-on-the-internet-cheaply-and-independently">How can I make this server available on the Internet <em>cheaply</em> and <em>independently</em></h2> <p><i> TL;DR Expense scales with independence. It's possible to become your own service provider, get IP addresses from ICANN, your own hardware to host it, to host your cat pics; but it's also a lot of time, -work and money to do all that (<a -href="https://hackaday.com/2018/09/20/one-mans-journey-to-become-his-own-isp/">this -guy</a> did it apparently, and so did <a -href="https://en.wikipedia.org/wiki/Kiwi_Farms">Null</a>)</p> +work and money to do all that (<a href="https://hackaday.com/2018/09/20/one-mans-journey-to-become-his-own-isp/">this +guy</a> did it apparently, and so did <a href="https://en.wikipedia.org/wiki/Kiwi_Farms">Null</a>)</i></p> <p>Most likely you'll want to rent someone else's server, usually a VPS. -</i></p> +</p> <p>Once you understand the basic installation above, you can now populate your site with content just by adding HTML files to your web directory. You can use an HTML editor to write these, or you can @@ -388,19 +380,18 @@ HTML files in vim or notepad and adding some CSS goes a long way. I wrote my own view of the topic in the context of how I wrote this site <a href="/tutorials/www/quick-intro-to-html-css.html">here</a>. And you can find a number of great guides on how to write files, copy them and -manage them in the <a href="#references">references</a>.</p> +manage them in the <a href="#references" target="_self">references</a>.</p> <p>One easy way to create HTML templates with these servers is through the use of "Server Side Includes," which essentially let you past one html document into another. This varies by server, for example, nginx -has their own options and syntax detailed <a -href="https://nginx.org/en/docs/http/ngx_http_ssi_module.html">here</a>.</p> +has their own options and syntax detailed <a href="https://nginx.org/en/docs/http/ngx_http_ssi_module.html">here</a>.</p> <ul> <li><a href="https://neocities.org/"><strong>Neocities</strong></a></li> </ul> <p>Neocities is based on the old Geocities from the mid 90s which allows simple static hosting and features and amazing array of creative projects. Everything is managed through the website, and you can pay to -set your own custom <a href="#whats-a-domain-name">domain name</a>.</p> +set your own custom <a href="#whats-a-domain-name" target="_self">domain name</a>.</p> <ul> <li><strong>Wordpress</strong> (but this time, you set it up)</li> </ul> @@ -423,8 +414,7 @@ online?</p> home</h3> <p>Technically yes, but practically probably not. At least not at a lot of extra cost to you. If you do want to host a small thing at home, like -some text or some cat pics, a <a -href="/tutorials/tor/how-to-host-a-tor-hidden-service.html">tor hidden +some text or some cat pics, a <a href="/tutorials/tor/how-to-host-a-tor-hidden-service.html">tor hidden service</a> is a great option.</p> <p>I spent a lot of time searching on this (you can find a full list of references at the bottom), and I've even tested a little bit by hosting @@ -460,7 +450,7 @@ like:</p> <li>Opening up your ports to the outside world.</li> </ul> <p>And in a nutshell that's it. There's fancy stuff of course, like -you'll want a <a href="#whats-a-domain-name">domain name</a> probably +you'll want a <a href="#whats-a-domain-name" target="_self">domain name</a> probably and I'll talk about that too, but at this point, your stuff is on the Internet! Just tell your friends to paste in your public ip address (your VPS provider will tell you this) and there's your stuff!</p> @@ -525,15 +515,12 @@ the site is somehow dangerous, even if it doesn't collect any information about the user. Because of that, most you will want to go the extra mile to make your visitors feel warm and fuzzy inside and implement HTTPS.</p> -<p>Fortunately, this is now much easier than is used to be thanks to <a -href="https://letsencrypt.org/">LetsEncrypt</a>. LetsEncrypt generously +<p>Fortunately, this is now much easier than is used to be thanks to <a href="https://letsencrypt.org/">LetsEncrypt</a>. LetsEncrypt generously serves as a free certificate authority, which allows you to generate signed certificates that are recognized by every web browser in the -world. The tool they recommend, <a -href="https://certbot.eff.org/">certbot</a> is painless to install. I've +world. The tool they recommend, <a href="https://certbot.eff.org/">certbot</a> is painless to install. I've rarely had to do much more than "certbot certonly" and follow the -prompts to get a certificate. Once you've obtained one, add it to <a -href="https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html">apache</a> +prompts to get a certificate. Once you've obtained one, add it to <a href="https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html">apache</a> or <a href="https://www.nginx.com/blog/nginx-ssl/#Examples">nginx</a>, switch the port to 443 instead of 80 and bam, you've got HTTPS!</p> <h2 id="perspective">Perspective</h2> @@ -605,3 +592,4 @@ others.</p> </ul> </body> </html> + |