You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: operating-systems.html
+17-17Lines changed: 17 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -61,23 +61,6 @@ <h2>Why are operating systems necessary?</h2>
61
61
your assembly code, if you even were able to get that far.</p>
62
62
<p>Fortunately, the open source community provides Linux to the Python world
63
63
as a rock solid free operating system for running our applications.</p>
64
-
<h2>Operating systems learning checklist</h2>
65
-
<p><iclass="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><iclass="fa fa-check-square-o"></i>
69
-
Harden the security through a few basic steps. Install basic security
70
-
packages such as <ahref="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><iclass="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><iclass="fa fa-check-square-o"></i>
79
-
Read up on <ahref="/web-servers.html">web servers</a> as installing one will be the
80
-
next step in the deployment process.</p>
81
64
<h2>Recommended operating systems</h2>
82
65
<p>The only recommended operating system for production Python web stack
83
66
deployments is Linux. There are several Linux distributions commonly used
@@ -146,6 +129,23 @@ <h2>Operating System Resources</h2>
146
129
<ahref="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>
147
130
</li>
148
131
</ul>
132
+
<h2>Operating systems learning checklist</h2>
133
+
<p><iclass="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><iclass="fa fa-check-square-o"></i>
137
+
Harden the security through a few basic steps. Install basic security
138
+
packages such as <ahref="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><iclass="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><iclass="fa fa-check-square-o"></i>
147
+
Read up on <ahref="/web-servers.html">web servers</a> as installing one will be the
148
+
next step in the deployment process.</p>
149
149
<h3>What topic do you need to learn to keep going?</h3>
Copy file name to clipboardExpand all lines: source/content/pages/03-deployment/0305-operating-systems.markdown
+23-22Lines changed: 23 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,28 +39,6 @@ Fortunately, the open source community provides Linux to the Python world
39
39
as a rock solid free operating system for running our applications.
40
40
41
41
42
-
## Operating systems learning checklist
43
-
<iclass="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
-
<iclass="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
-
<iclass="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
-
<iclass="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
-
64
42
## Recommended operating systems
65
43
The only recommended operating system for production Python web stack
66
44
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.
128
106
* Digital Ocean has a detailed
129
107
[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).
130
108
109
+
110
+
## Operating systems learning checklist
111
+
<iclass="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
+
<iclass="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
+
<iclass="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
+
<iclass="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
+
131
132
### What topic do you need to learn to keep going?
Copy file name to clipboardExpand all lines: web-servers.html
+17-17Lines changed: 17 additions & 17 deletions
Original file line number
Diff line number
Diff line change
@@ -61,22 +61,6 @@ <h2>Why are web servers necessary?</h2>
61
61
<ahref="http://www.w3.org/People/Berners-Lee/">Tim Berners-Lee</a> at CERN in 1989.
62
62
Modern browsers and web servers have simply extended the language of the Web
63
63
to incorporate new standards.</p>
64
-
<h2>Web servers learning checklist</h2>
65
-
<p><iclass="fa fa-check-square-o"></i>
66
-
Choose a web server. <ahref="http://nginx.org/en/">Nginx</a> is recommended although
67
-
<ahref="http://httpd.apache.org/">Apache</a> is also a great choice.</p>
68
-
<p><iclass="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 <ahref="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><iclass="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><iclass="fa fa-check-square-o"></i>
78
-
Once you set up the <ahref="/wsgi-server.html">WSGI server</a> you'll need to configure
79
-
the web server as a pass through for dynamic content.</p>
80
64
<h2>Client requests</h2>
81
65
<p>A client that sends a request to a web server is usually a browser such
82
66
as Internet Explorer, Firefox, or Chrome, but it can also be a</p>
@@ -148,7 +132,23 @@ <h2>Web server resources</h2>
148
132
<p><ahref="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>
149
133
</li>
150
134
</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><iclass="fa fa-check-square-o"></i>
137
+
Choose a web server. <ahref="http://nginx.org/en/">Nginx</a> is recommended although
138
+
<ahref="http://httpd.apache.org/">Apache</a> is also a great choice.</p>
139
+
<p><iclass="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 <ahref="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><iclass="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><iclass="fa fa-check-square-o"></i>
149
+
Once you set up the <ahref="/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>
0 commit comments