"Linux" is a very meaningful and broad concept. Linux system administration is a complex but coherent system of knowledge. The study of a family of systems significantly expands the horizons and will not be superfluous for the developer of information systems, especially in a distributed and dynamic application.
About solutions and problems
System administration is a responsible job. However, it is often very difficult to convince the head of the company (customer) of this. Many people think that the system administrator does everything quickly, after him everything works perfectly, which means that the work is simple and there is nothing to pay for. When the administrator fails to cope with the tasks, the manager (customer) deprives him of the bonus (payment) and starts defiantly looking for another specialist. However…
As a result, the administration of the Linux server suffers, which, like a car, prefers to work under the control of one "driver". When the system was installed and configured by one specialist, and then he was replaced by another, and even more so by a third and beyond … The company (customer) will definitely feel a negative result and will be very sorry about it, even if the first master “honestly” leaves his post, telling everything passwords and server management rules.
Linux administration is a big branch of knowledge and skills. But there are always three positions (installation, configuration and maintenance). And it is they who make up what they understand, each in his own way, a specialist and the head of the company (customer).
The psychology of a system administrator (the logic of his behavior) is more pronounced than that of a programmer (developer), and the danger for the head of the company (customer) is that "offense inflicted on qualifications or time spent (labor)" can cause a complete failure of the server at the most unexpected moment in time.
The code of honor and conscience of system administration is an implicit custom, but it includes an adequate and honest attitude not only from the specialist, but also from the one who pays the money (usually does not pay, but tries to command what (how) make and order "music".
System administration is a mandatory position in the staff of a company of any size. Especially if its interests are related to the operation or development of information systems. Never will a third-party service option provide the desired level of stability and security, will not be the right basis for Linux administration -server.
Installation, configuration and maintenance
The Linux family of operating systems is vast, multifaceted and focused on various applications. For example, the CentOS line of systems is a corporate application, UBUNTU is a home version with a good graphical shell. FreeBSD is notorious for its capriciousness and demanding system administrator knowledge. Arch Linux - prefers manual installation and configuration over the convenience of automatic installation.
The general logic of Linuxoids: simplicity, reliability and stability. Security issues are addressed at the system level, but can be easily developed through the administration of a Linux server. Work always "without panic" - the original motto, which would have been adopted by Windows-based systems long ago.
Installation is always subject to a beginner for any "Linux". Always setting up, maintaining and administering Linux is the development of knowledge and skills of a specialist. The classic application as a hosting and file server is not only Apache (NGiNX & php-fpm), MySQL, PHP and Samba, but also the development of knowledge to optimize each position.
Administration of Linux servers is, first of all, the choice of a specific specialist. Moreover, his professional skills are no less important than his ideas about responsibility, decency and attitude towards the work assigned. This is also the attitude of the management of the company (customer) to the specialist.
Administration - secondary, primary, honestly configured,labor relations and obligations of the parties to comply with them adequately in any situation.
A characteristic feature of every Linuxoid is the command line, which Windows users have long forgotten about. Server management is SSH. The server does not have to be near the administrator and can be located anywhere. Using PuTTY (or a similar tool) you can manage the server from anywhere. The graphical interface for the server is nonsense, but the situations are different.
Logically and for development purposes, it is very convenient to put the main functionality on a physical computer and improve it over time. Additionally, for development and experiments - install a system of virtual machines and conduct experiments in independent "virtual boxes".
Common practice is hosting. You can start classically: Apache, MySQL and PHP. Then configure NGiNX, php-fpm, MySQL and PHP. You can replace PHP with Perl or Python, choose a different database. You can install Samba in a separate virtual box, connect it to the local network, and conduct experiments comparing performance between CentOS and UBUNTU.
The basic basics of Linux administration are never to experiment on a live system. The server has become, the hosting is configured, the web resource is functioning. At this point, the administrator must stop, take stock and further improve his knowledge on a virtual machine or other physical computer. New knowledge has appeared, new experience has been tested(tool) - you can implement it into a running system. Not otherwise.
The basics of administration in general is a reasonable combination of knowledge and skills of a specialist and the attitude of the company (customer) management towards him. There is no mutual understanding, there is no stability in labor relations, you can not even take on the creation of your own server - the result will certainly be negative.
System programming and administration
Programmers very quickly divided into categories: applied - this is Fortran and mathematics, system - this is assembler and programming. This figurative comparison did not become the ancestor of system administration, but very clearly separates the boundaries of areas of competence.
Linux system administration is about building and maintaining it. Who lives, how he lives and what he has the right to - these are the tenants: sites, files, folders, accesses, applications and other components that are installed on the server, but their management is at the mercy of users, developers, owners - entities using server capabilities.
The system administrator may not know what functionality the software product provides. His task is to install the product, assign user rights and ensure its stable operation.
The rights of the head of the company (customer) do not include the obligatory knowledge of the password to access the system, and even more so the root access (root). Only one person should know everything about the system and be responsible for it.
Multiple administrative access to the server - a guarantee of its failure at the most unexpected moment in time. It is possible to regulate the transfer of essential administrative information in the event of illness, absence, or other mishap with the administrator, but in the normal state of things, only one system administrator is responsible for the server and its operation and ensures it.
Linux administration is different from Windows administration. The logic of thinking is completely different. The line of Macintosh (Mac) development is generally nonsense, but the number of users, according to Apple, is much more than 100 million people. The field of information technology is rich in diverse and unexpected solutions, but the Linux family has always stood apart.
Many researchers have tried to build a genealogy of "Linux" systems. Beautiful, interesting, but something else is important. Administration of Linux servers disciplined area of expertise. Explained how to build systems and how to manage them.
It doesn't matter what the server is on: Debian or Arch, CentOS or Cosmic Cuttlefish. It is important that the space cuttlefish has nothing to do with Ubuntu 18.10, but by the beauty of the name it tries to show the quality of the new version for both application and system use.
If a specialist decided to become a system administrator, then he relied on the development of his own knowledge and improving it for third-party use. Ideally, when this desire and action supportsthe company in which he works, not only in word but also in deed.