forked from mattmakai/fullstackpython.com
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoperating-system.html
More file actions
105 lines (95 loc) · 5.48 KB
/
operating-system.html
File metadata and controls
105 lines (95 loc) · 5.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
<!doctype html>
<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js ie7 oldie" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js ie8 oldie" lang="en"> <![endif]-->
<!--[if gt IE 8]><!-->
<html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="language" content="English" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Full Stack Python</title>
<meta name="description" content="Full stack Python shows how an entire Python web application is built, from the server to the front end JavaScript.">
<meta name="author" content="Matt Makai">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="/css/c.css" />
<link rel="stylesheet" href="/css/bootstrap-responsive.min.css" />
<script src="/js/modernizr-2.0.6.min.js"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-19910497-7']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<a href="https://github.com/makaimc/fullstackpython.github.com" class="github">
<img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" />
</a>
<div class="container">
<div class="row">
<div class="span12">
<div class="logo-header-section">
<a href="/"><img src="../img/full-stack-python-logo-bw.png" height="42" width="42" class="logo-image" /></a>
<span class="logo-title"><a href="/">Full Stack Python</a></span>
</div>
</div>
</div>
<h1>Operating System</h1>
<p>The operating system runs on top of the server or virtual server
and controls access to computing resources. The only operating
system I can recommend for production Python web stack deployments is
a flavor of Linux. Ubuntu Long Term Support (LTS) releases, Red Hat
Enterprise Linux, and CentOS are all viable options.</p>
<p><em>Side note</em>: Mac OS X is fine for development activities. Windows and Mac
OS X are not appropriate for most test and production deployments unless
there is a specific reason why you must use them in lieu of Linux.</p>
<div class="section" id="ubuntu">
<h2>Ubuntu</h2>
<p>Ubuntu is a Linux distribution packaged by the
<a class="reference external" href="http://www.canonical.com/">Canonical Ltd</a> company. Ubuntu uses the
Debian distribution as a base for packages, including the <a class="reference external" href="http://wiki.debian.org/Apt">aptitude package
manager</a>. For desktop versions of Ubuntu,
GNOME (until the 11.04 release) or Unity (11.10 through current)
is added to the distribution to provide a user interface.</p>
<p>Ubuntu <a class="reference external" href="https://wiki.ubuntu.com/LTS">Long Term Support (LTS)</a> releases
are the recommended versions to use for deployments. LTS versions receive
five years of post-release updates from Canonical. Every two years, Canonical
creates a new LTS release, which allows for an easy upgrade path as well
as flexibility in skipping every other LTS release if necessary.</p>
</div>
<div class="section" id="red-hat-and-centos">
<h2>Red Hat and CentOS</h2>
<p><a class="reference external" href="http://www.redhat.com/products/enterprise-linux/">Red Hat Enterprise Linux</a>
(RHEL) and <a class="reference external" href="http://www.centos.org/">Community ENTerprise Operating System</a>
(CentOS) are the same distribution. The only difference between the two
(other than the name) is that CentOS is an open source, liberally
licensed free derivative of RHEL.</p>
<p>RHEL and CentOS use a different package manager and command-line interface
from Debian-based Linux distributions: RPM Package Manager (RPM) and the
Yellowdog Updater, Modified (YUM). RPM has a specific .rpm file format
to handle the packaging and installation of libraries and applications. YUM
provides a command-line interface for interacting with the RPM system.</p>
</div>
<div class="section" id="operating-system-resources">
<h2>Operating System Resources</h2>
<p><a class="reference external" href="http://www.andrewault.net/2010/05/17/securing-an-ubuntu-server/">Securing an Ubuntu Server</a></p>
<p><a class="reference external" href="http://joshrendek.com/2013/01/securing-ubuntu/">Securing Ubuntu</a></p>
<p><a class="reference external" href="http://plusbryan.com/my-first-5-minutes-on-a-server-or-essential-security-for-linux-servers">First 5 Minutes on a Server</a></p>
<p><a class="reference external" href="http://spenserj.com/blog/2013/07/15/securing-a-linux-server/">Securing a Linux Server</a></p>
<p><a class="reference external" href="https://github.com/marshyski/quick-secure">quick-secure scripts</a> for
securing RedHat flavors of Linux on boot.</p>
</div>
<hr/>
<div class="footer pull-right">
<a href="http://www.mattmakai.com/" class="underline">Matt Makai</a> 2013
</div>
</div>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="/js/bootstrap.min.js"></script>
</body>
</html>