Difference between revisions of "Server Basics"

From docwiki
Jump to: navigation, search
(Listen Sockets)
(Units)
 
(19 intermediate revisions by the same user not shown)
Line 6: Line 6:
 
Linux is an ideal operating sytstem for servers. From a small Raspberry Pi that controls some IoT devices to the big data centers. Linux is everywhere. Here we will only cover some of the more common server services. You can also learn some basics that are useful for many server applications.
 
Linux is an ideal operating sytstem for servers. From a small Raspberry Pi that controls some IoT devices to the big data centers. Linux is everywhere. Here we will only cover some of the more common server services. You can also learn some basics that are useful for many server applications.
   
== Listen Sockets ==
+
== Units ==
   
  +
* [[Listen Sockets, Ports and Telnet]]
When programs connect via the network, they use the system libraries to open so called <q>sockets<q>. Sockets are like similar to files: You can open and close them and read and write from them. For services where other clients connect to we have so called <q>listen sockets</q>.
 
  +
* [[inetd, tcpwrapper]]
 
  +
* [[Apache Basics and simple CGI scripts]]
Linux offers so called <q>unix domain sockets</q> which are look like files but are actually connections between programs. Similar to that there are <q>named pipes</q> which are can be even opened with regular file operations. But these 2 are only useful for communication between processes on the same machine.
 
  +
* [[openssl]]
 
  +
* [[Security of Web Applications]]
For network connections there are network sockets. A server chooses to open a network port and tells the operation system that it wants to listen there for incoming calls. Once the kernel receives packets form the network that the connection is established and the server can communicate with the other end. Most servers then fork off some process that handles the communication and the main program continues to listen for additional connections.
 
  +
* [[mysql, samba, other servers]]
 
For IP packets there are 16bit port numbers and the most used protocols are TCP (for end-to-end connections where the server program only wants a data-stream and is not interested in the details of the connection - e.g. a weeb server) and UDP which consists of small <q>datagram</q> packets. The server is responsible there to deal with issues like lost packets and even packets received in different order.
 
 
{| class="wikitable"
 
! Port Number
 
! Protocol
 
! Service
 
|-
 
| 22 || TCP || SSH
 
-
 

Latest revision as of 17:46, 1 April 2020


Motivation

Linux is an ideal operating sytstem for servers. From a small Raspberry Pi that controls some IoT devices to the big data centers. Linux is everywhere. Here we will only cover some of the more common server services. You can also learn some basics that are useful for many server applications.

Units