||3 years ago|
|content||3 years ago|
|renderedContent||3 years ago|
|templates||3 years ago|
|webResources||3 years ago|
|.gitignore||3 years ago|
|ContentConverter.py||3 years ago|
|Generate_Certificates.sh||3 years ago|
|LICENSE||3 years ago|
|ReadMe.org||3 years ago|
|RedirectToHttpsServer.py||3 years ago|
|SimpleBlogServer.py||3 years ago|
|WordPressXmlToOrgMode.py||3 years ago|
- Simple Org Blog
Simple Org Blog
This project is meant to be a quick-and-dirty blog based on org-mode formatted documents.
You can put your
.org files in
content/ and it will be rendered into
renderedContent within fifteen minutes, or immediately after starting the server.
This project requires Python 3.
1. Install Python dependencies
The server is powered by
tornado. I use
orgparse to parse org document properties.
pandoc is used for converting org files into html files.
pip3 install tornado orgparse
2. Install pandoc
sudo apt install pandoc
This will be used to convert
.org files into
3. Generate SSL keys
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout certificates/server_jupyter_based.crt.key -out certificates/server_jupyter_based.crt.pem
If you have a domain name, you should use Certbot to generate your certificates. These won't pop the security warning like the self-signing ones will.
4. Run the server
If you want to redirect all HTTP visits to the blog server (which is HTTPS only), also run the redirect server:
5. Trust the certificate
Open your browser and visit
Your web browser should complain that the website's owner cannot be verified. This is a security measure for SSL related to the certificate. Because we made the certificate ourselves, the browser doesn't know whether to trust the certificate, because there is no signing authority.
You can safely click
Advanced and add the certificate as trustworthy, because you've signed the certificate and trust yourself :).
If you want to get rid of this, you'll need to get a signing authority like
LetsEncrypt to generate your certificate.
Deploying on the internet
Create an Ubuntu machine. I used the lowest spec ($3.50/month option) because I don't expect much traffic
Open up port
443in the Lightsail Network configuration page
Use the Amazon SSH stuff to start setting up the machine
sudo apt update && sudo apt upgradeis necessary to install Python and such
Use Certbot to generate certificates
Modify SimpleBlogServer port to be port 443 (HTTPS default)
Follow the /code/macoy/simple-org-blog/src/commit/d1aa2a29d99f51907b84b46f705846d7310927ec/Setup section normally
Use SCP to copy content from local machine into Amazon