Skip to content

Commit d701d1e

Browse files
committed
updating location and adding a new learning checklist
1 parent 4a7b6fa commit d701d1e

File tree

9 files changed

+116
-83
lines changed

9 files changed

+116
-83
lines changed

change-log.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,11 @@ <h1>Change Log</h1>
5252
<h2>2014</h2>
5353
<h3>May</h3>
5454
<ul>
55+
<li>Moving learning checklists to the bottom of the pages since they are
56+
specific advice for steps to take after reading a section.</li>
5557
<li>Adding a stub section for APIs.</li>
5658
<li>Cleaned up and polished the task queues and web analytics pages.</li>
57-
<li>Added learning checklist to operating systems, web servers, task queues and
59+
<li>Added learning checklist to operating systems, web servers, task queues and
5860
monitoring pages.</li>
5961
<li>Adding more logging resources.</li>
6062
<li>Continuing to add learning checklists to sections such as servers.</li>

feeds/all.atom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<feed xmlns="http://www.w3.org/2005/Atom"><title>Matt Makai</title><link href="http://www.fullstackpython.com/" rel="alternate"></link><link href="http://www.fullstackpython.com/feeds/all.atom.xml" rel="self"></link><id>http://www.fullstackpython.com/</id><updated>2014-05-18T09:12:48Z</updated></feed>
2+
<feed xmlns="http://www.w3.org/2005/Atom"><title>Matt Makai</title><link href="http://www.fullstackpython.com/" rel="alternate"></link><link href="http://www.fullstackpython.com/feeds/all.atom.xml" rel="self"></link><id>http://www.fullstackpython.com/</id><updated>2014-05-19T08:19:08Z</updated></feed>

operating-systems.html

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -61,23 +61,6 @@ <h2>Why are operating systems necessary?</h2>
6161
your assembly code, if you even were able to get that far.</p>
6262
<p>Fortunately, the open source community provides Linux to the Python world
6363
as a rock solid free operating system for running our applications.</p>
64-
<h2>Operating systems learning checklist</h2>
65-
<p><i class="fa fa-check-square-o"></i>
66-
Choose either a Debian-based Linux distribution such as Ubuntu or a
67-
Fedora-based distribution like CentOS.</p>
68-
<p><i class="fa fa-check-square-o"></i>
69-
Harden the security through a few basic steps. Install basic security
70-
packages such as <a href="http://www.fail2ban.org/wiki/index.php/Main_Page">fail2ban</a>
71-
or its equivalent. Create a new user account with sudo privileges and disable
72-
root logins. Disable password-only logins and use a public-private keypair
73-
instead. Read more about hardening systems in the resources listed below.</p>
74-
<p><i class="fa fa-check-square-o"></i>
75-
Install Python-specific packages to prepare the environment for running a
76-
Python application. Which packages you'll need to install depends on the
77-
distribution you've selected.</p>
78-
<p><i class="fa fa-check-square-o"></i>
79-
Read up on <a href="/web-servers.html">web servers</a> as installing one will be the
80-
next step in the deployment process.</p>
8164
<h2>Recommended operating systems</h2>
8265
<p>The only recommended operating system for production Python web stack
8366
deployments is Linux. There are several Linux distributions commonly used
@@ -146,6 +129,23 @@ <h2>Operating System Resources</h2>
146129
<a href="https://www.digitalocean.com/community/articles/how-to-set-up-ubuntu-cloud-servers-for-python-web-applications">walkthrough for setting up Python web applications on Ubuntu</a>.</p>
147130
</li>
148131
</ul>
132+
<h2>Operating systems learning checklist</h2>
133+
<p><i class="fa fa-check-square-o"></i>
134+
Choose either a Debian-based Linux distribution such as Ubuntu or a
135+
Fedora-based distribution like CentOS.</p>
136+
<p><i class="fa fa-check-square-o"></i>
137+
Harden the security through a few basic steps. Install basic security
138+
packages such as <a href="http://www.fail2ban.org/wiki/index.php/Main_Page">fail2ban</a>
139+
or its equivalent. Create a new user account with sudo privileges and disable
140+
root logins. Disable password-only logins and use a public-private keypair
141+
instead. Read more about hardening systems in the resources listed below.</p>
142+
<p><i class="fa fa-check-square-o"></i>
143+
Install Python-specific packages to prepare the environment for running a
144+
Python application. Which packages you'll need to install depends on the
145+
distribution you've selected.</p>
146+
<p><i class="fa fa-check-square-o"></i>
147+
Read up on <a href="/web-servers.html">web servers</a> as installing one will be the
148+
next step in the deployment process.</p>
149149
<h3>What topic do you need to learn to keep going?</h3>
150150
<div class="row">
151151
<div class="col-md-4">

servers.html

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,19 @@ <h3>Infrastructure-as-a-service resources</h3>
170170
shows how to work with a VPS once you've got the server up and running.</p>
171171
</li>
172172
</ul>
173-
<h3>Keep going with a server or try a PaaS option?</h3>
173+
<h2>Servers learning checklist</h2>
174+
<p><i class="fa fa-check-square-o"></i>
175+
Sign up for a
176+
<a href="https://www.linode.com/?r=bfeecaf55a83cd3dd224a5f2a3a001fdf95d4c3d">Linode</a>
177+
or
178+
<a href="https://www.digitalocean.com/">Digital Ocean</a> account.</p>
179+
<p><i class="fa fa-check-square-o"></i>
180+
Rent a VPS for a month. It will be provisioned and in a shutdown state
181+
awaiting your instructions.</p>
182+
<p><i class="fa fa-check-square-o"></i>
183+
Move to the <a href="/operating-systems.html">operating systems</a> section to learn
184+
how to load Ubuntu 12.04 LTS as a base OS for Python web applications.</p>
185+
<h3>Keep going with setting up a server or try a PaaS?</h3>
174186
<div class="row">
175187
<div class="col-md-4">
176188
<div class="well select-next">

source/content/pages/03-deployment/0303-servers.markdown

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,4 +152,20 @@ Python library for working with Amazon Web Services.
152152
shows how to work with a VPS once you've got the server up and running.
153153

154154

155-
### Keep going with a server or try a PaaS option?
155+
## Servers learning checklist
156+
<i class="fa fa-check-square-o"></i>
157+
Sign up for a
158+
[Linode](https://www.linode.com/?r=bfeecaf55a83cd3dd224a5f2a3a001fdf95d4c3d)
159+
or
160+
[Digital Ocean](https://www.digitalocean.com/) account.
161+
162+
<i class="fa fa-check-square-o"></i>
163+
Rent a VPS for a month. It will be provisioned and in a shutdown state
164+
awaiting your instructions.
165+
166+
<i class="fa fa-check-square-o"></i>
167+
Move to the [operating systems](/operating-systems.html) section to learn
168+
how to load Ubuntu 12.04 LTS as a base OS for Python web applications.
169+
170+
171+
### Keep going with setting up a server or try a PaaS?

source/content/pages/03-deployment/0305-operating-systems.markdown

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -39,28 +39,6 @@ Fortunately, the open source community provides Linux to the Python world
3939
as a rock solid free operating system for running our applications.
4040

4141

42-
## Operating systems learning checklist
43-
<i class="fa fa-check-square-o"></i>
44-
Choose either a Debian-based Linux distribution such as Ubuntu or a
45-
Fedora-based distribution like CentOS.
46-
47-
<i class="fa fa-check-square-o"></i>
48-
Harden the security through a few basic steps. Install basic security
49-
packages such as [fail2ban](http://www.fail2ban.org/wiki/index.php/Main_Page)
50-
or its equivalent. Create a new user account with sudo privileges and disable
51-
root logins. Disable password-only logins and use a public-private keypair
52-
instead. Read more about hardening systems in the resources listed below.
53-
54-
<i class="fa fa-check-square-o"></i>
55-
Install Python-specific packages to prepare the environment for running a
56-
Python application. Which packages you'll need to install depends on the
57-
distribution you've selected.
58-
59-
<i class="fa fa-check-square-o"></i>
60-
Read up on [web servers](/web-servers.html) as installing one will be the
61-
next step in the deployment process.
62-
63-
6442
## Recommended operating systems
6543
The only recommended operating system for production Python web stack
6644
deployments is Linux. There are several Linux distributions commonly used
@@ -128,4 +106,27 @@ provides a command-line interface for interacting with the RPM system.
128106
* Digital Ocean has a detailed
129107
[walkthrough for setting up Python web applications on Ubuntu](https://www.digitalocean.com/community/articles/how-to-set-up-ubuntu-cloud-servers-for-python-web-applications).
130108

109+
110+
## Operating systems learning checklist
111+
<i class="fa fa-check-square-o"></i>
112+
Choose either a Debian-based Linux distribution such as Ubuntu or a
113+
Fedora-based distribution like CentOS.
114+
115+
<i class="fa fa-check-square-o"></i>
116+
Harden the security through a few basic steps. Install basic security
117+
packages such as [fail2ban](http://www.fail2ban.org/wiki/index.php/Main_Page)
118+
or its equivalent. Create a new user account with sudo privileges and disable
119+
root logins. Disable password-only logins and use a public-private keypair
120+
instead. Read more about hardening systems in the resources listed below.
121+
122+
<i class="fa fa-check-square-o"></i>
123+
Install Python-specific packages to prepare the environment for running a
124+
Python application. Which packages you'll need to install depends on the
125+
distribution you've selected.
126+
127+
<i class="fa fa-check-square-o"></i>
128+
Read up on [web servers](/web-servers.html) as installing one will be the
129+
next step in the deployment process.
130+
131+
131132
### What topic do you need to learn to keep going?

source/content/pages/03-deployment/0307-web-servers.markdown

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -37,27 +37,6 @@ Modern browsers and web servers have simply extended the language of the Web
3737
to incorporate new standards.
3838

3939

40-
## Web servers learning checklist
41-
<i class="fa fa-check-square-o"></i>
42-
Choose a web server. [Nginx](http://nginx.org/en/) is recommended although
43-
[Apache](http://httpd.apache.org/) is also a great choice.
44-
45-
<i class="fa fa-check-square-o"></i>
46-
Create an SSL certificate. For testing use a self-signed certificate and for a
47-
production app buy one from [Digicert](http://www.digicert.com/). Configure
48-
the web server to serve traffic over SSL. You'll need SSL for serving only
49-
HTTPS traffic and preventing security issues that occur with unencrypted user
50-
input.
51-
52-
<i class="fa fa-check-square-o"></i>
53-
Configure the web server to serve up static files such as CSS, JavaScript
54-
and images.
55-
56-
<i class="fa fa-check-square-o"></i>
57-
Once you set up the [WSGI server](/wsgi-server.html) you'll need to configure
58-
the web server as a pass through for dynamic content.
59-
60-
6140
## Client requests
6241
A client that sends a request to a web server is usually a browser such
6342
as Internet Explorer, Firefox, or Chrome, but it can also be a
@@ -124,4 +103,25 @@ is provided by W3C.
124103
* [4 HTTP Security Headers You Should Always Be Using](http://ibuildings.nl/blog/2013/03/4-http-security-headers-you-should-always-be-using)
125104

126105

127-
### What do you want to learn after setting up a web server?
106+
## Web servers learning checklist
107+
<i class="fa fa-check-square-o"></i>
108+
Choose a web server. [Nginx](http://nginx.org/en/) is recommended although
109+
[Apache](http://httpd.apache.org/) is also a great choice.
110+
111+
<i class="fa fa-check-square-o"></i>
112+
Create an SSL certificate. For testing use a self-signed certificate and for a
113+
production app buy one from [Digicert](http://www.digicert.com/). Configure
114+
the web server to serve traffic over SSL. You'll need SSL for serving only
115+
HTTPS traffic and preventing security issues that occur with unencrypted user
116+
input.
117+
118+
<i class="fa fa-check-square-o"></i>
119+
Configure the web server to serve up static files such as CSS, JavaScript
120+
and images.
121+
122+
<i class="fa fa-check-square-o"></i>
123+
Once you set up the [WSGI server](/wsgi-server.html) you'll need to configure
124+
the web server as a pass through for dynamic content.
125+
126+
127+
### What do you want to learn after the web server is set up?

source/content/pages/10-misc/1005-change-log.markdown

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,11 @@ the
2424

2525
## 2014
2626
### May
27+
* Moving learning checklists to the bottom of the pages since they are
28+
specific advice for steps to take after reading a section.
2729
* Adding a stub section for APIs.
2830
* Cleaned up and polished the task queues and web analytics pages.
29-
* Added learning checklist to operating systems, web servers, task queues and
31+
* Added learning checklist to operating systems, web servers, task queues and
3032
monitoring pages.
3133
* Adding more logging resources.
3234
* Continuing to add learning checklists to sections such as servers.

web-servers.html

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -61,22 +61,6 @@ <h2>Why are web servers necessary?</h2>
6161
<a href="http://www.w3.org/People/Berners-Lee/">Tim Berners-Lee</a> at CERN in 1989.
6262
Modern browsers and web servers have simply extended the language of the Web
6363
to incorporate new standards.</p>
64-
<h2>Web servers learning checklist</h2>
65-
<p><i class="fa fa-check-square-o"></i>
66-
Choose a web server. <a href="http://nginx.org/en/">Nginx</a> is recommended although
67-
<a href="http://httpd.apache.org/">Apache</a> is also a great choice.</p>
68-
<p><i class="fa fa-check-square-o"></i>
69-
Create an SSL certificate. For testing use a self-signed certificate and for a
70-
production app buy one from <a href="http://www.digicert.com/">Digicert</a>. Configure
71-
the web server to serve traffic over SSL. You'll need SSL for serving only
72-
HTTPS traffic and preventing security issues that occur with unencrypted user
73-
input.</p>
74-
<p><i class="fa fa-check-square-o"></i>
75-
Configure the web server to serve up static files such as CSS, JavaScript
76-
and images.</p>
77-
<p><i class="fa fa-check-square-o"></i>
78-
Once you set up the <a href="/wsgi-server.html">WSGI server</a> you'll need to configure
79-
the web server as a pass through for dynamic content.</p>
8064
<h2>Client requests</h2>
8165
<p>A client that sends a request to a web server is usually a browser such
8266
as Internet Explorer, Firefox, or Chrome, but it can also be a</p>
@@ -148,7 +132,23 @@ <h2>Web server resources</h2>
148132
<p><a href="http://ibuildings.nl/blog/2013/03/4-http-security-headers-you-should-always-be-using">4 HTTP Security Headers You Should Always Be Using</a></p>
149133
</li>
150134
</ul>
151-
<h3>What do you want to learn after setting up a web server?</h3>
135+
<h2>Web servers learning checklist</h2>
136+
<p><i class="fa fa-check-square-o"></i>
137+
Choose a web server. <a href="http://nginx.org/en/">Nginx</a> is recommended although
138+
<a href="http://httpd.apache.org/">Apache</a> is also a great choice.</p>
139+
<p><i class="fa fa-check-square-o"></i>
140+
Create an SSL certificate. For testing use a self-signed certificate and for a
141+
production app buy one from <a href="http://www.digicert.com/">Digicert</a>. Configure
142+
the web server to serve traffic over SSL. You'll need SSL for serving only
143+
HTTPS traffic and preventing security issues that occur with unencrypted user
144+
input.</p>
145+
<p><i class="fa fa-check-square-o"></i>
146+
Configure the web server to serve up static files such as CSS, JavaScript
147+
and images.</p>
148+
<p><i class="fa fa-check-square-o"></i>
149+
Once you set up the <a href="/wsgi-server.html">WSGI server</a> you'll need to configure
150+
the web server as a pass through for dynamic content.</p>
151+
<h3>What do you want to learn after the web server is set up?</h3>
152152
<div class="row">
153153
<div class="col-md-3">
154154
<div class="well select-next">

0 commit comments

Comments
 (0)