From f22458a5e1ccd913722f1537579a2d32e139d8dc Mon Sep 17 00:00:00 2001 From: Peter Boy Date: Mar 08 2021 21:26:55 +0000 Subject: Added further content. --- diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index a80bce9..0da6fe1 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -1,6 +1,12 @@ * xref:index.adoc[Welcome] * xref:serverAdministration.adoc[Server Administration] -* xref:serverExamplesUseCases.adoc[Example Use Cases] +* xref:serverVirtualisation.adoc[Virtualisation] +** xref:virtualisationInstall.adoc[Add Virtualisation Support] +** xref:virtualisationVMInstall.adoc[VM Installation Using Cockpit] +** xref:virtualisationVMCloud.adoc[VM Installation Using Cloud Image] +* xref:serverContainers.adoc[Containers] +** xref:containerNspawn.adoc[Container systemd-nspawn] +* xref:serverUseCases.adoc[Example Use Cases] * xref:serverTutorials.adoc[Tutorials] * xref:serverTroubleshooting.adoc[Troubleshooting / Known Issues] * xref:serverCommunity.adoc[Community, Policies, and working methods] diff --git a/docs/modules/ROOT/pages/containerNspawn.adoc b/docs/modules/ROOT/pages/containerNspawn.adoc new file mode 100644 index 0000000..3f3367f --- /dev/null +++ b/docs/modules/ROOT/pages/containerNspawn.adoc @@ -0,0 +1,14 @@ += Systemd Nspawn Container +Peter Boy; Jan Kuparinen +:page-authors: {author}, {author_2} + +[sidebar] +**** +Author: Peter Boy (pboy) | Creation Date: N/A | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +Work in Progress. Comming soon +==== + + diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc index bc15012..317742b 100644 --- a/docs/modules/ROOT/pages/index.adoc +++ b/docs/modules/ROOT/pages/index.adoc @@ -1,22 +1,29 @@ -= Fedora server documentation += Fedora Server Documentation Peter Boy; Jan Kuparinen :page-authors: {author}, {author_2} image::Logo_server.png[Server] - +[sidebar] +**** +Author: Peter Boy (pboy) | Creation Date: 2021-03-10 | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +First Draft! Please comment on server mailing list +==== == Our Mission -### As a user, you gain the opportunity to use the server of the future right now. +*As a user, you gain the opportunity to use the server of the future right now.* Fedora Server provides a stable, flexible and universally adaptable basis for the everyday provision of digital services and information of all kinds by organizations and individuals, based on the latest technology and makes them available as early as possible. -### As a developer or system integrator, you gain an eye on the server of the future. +*As a developer or system integrator, you gain an eye on the server of the future.* Fedora Server is a platform for developers and system integrators, which provides an implementation of the latest server technology for further evaluation and practical appropriation. -== Why Use Fedora Server and For Whom Is Is +== Why Use Fedora Server Just a shot @@ -25,13 +32,13 @@ Just a shot Currently, we work on several projects - We are preparing Fedora Server 34 -- We are working on improving Server's documentation (you currently get a first blimpse) +- We are working on improving Server's documentation (you currently get a first glimpse) - We are exploring opportunities of aligning cloud images and server installation more closely with each other and further harmonising technical details. - Technically we are revisiting defaults ... filesystem / partitioning Stay tuned. The results will soon be visible. -== What you will find here +== What You Will Find Here - Server Administration (todo: One sentence short description) - Example Use Cases (todo: One sentence short description) @@ -39,7 +46,7 @@ Stay tuned. The results will soon be visible. - Trouble shooting guide / known issues - People, policies, and working methods -== How You Can Contriburte +== How You Can Contribute - Please, tell us about your usage of Fedora Server - Tell us about problems you found and how you resolved it diff --git a/docs/modules/ROOT/pages/serverAdministration.adoc b/docs/modules/ROOT/pages/serverAdministration.adoc index 28d1942..a55dbe2 100644 --- a/docs/modules/ROOT/pages/serverAdministration.adoc +++ b/docs/modules/ROOT/pages/serverAdministration.adoc @@ -1,8 +1,17 @@ = Fedora Server Administration Guides Peter Boy; Jan Kuparinen :page-authors: {author}, {author_2} + +[sidebar] +**** +Author: Peter Boy (pboy) | Creation Date: 2021-03-10 | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +First Draft! Please comment on server mailing list +==== -== What You finde here +== What You Find Here Basic installation and system administration is covered by Fedora's overall Installation Guide (link) and System Administration Guide (link). But there are several of Fedora Server specific topics which are not included. There are such basic items as harddisk partitioning to more advanced security considerations up to virtualisation. @@ -22,7 +31,7 @@ Basic installation and system administration is covered by Fedora's overall Inst == Post Installation security enhancements - Installing fail2ban (short step-by-step installation guide the Fedora way) -- Disabling ssh password based login all users but a small number of fallbacks (short guide ho to do) +- Disabling ssh password based login for all users but a small number of fallbacks (short guide how to do) - Protecting Cockpit password login - Don't deactivate SELinux but resolve issues (link to cockpit SELinux page and description how to resolve on CLI (or link) ) - Reduce the number of system users (If certain system users are required, move each (or all) to a lightweight system container, e.g. systemd-nspawn, or even a (semi-lightweight) Cloud Image VM) @@ -36,14 +45,11 @@ Basic installation and system administration is covered by Fedora's overall Inst - how to secure access / login page (integration into fail2ban, access via ssh tunnel, access via VPN) === SELinux issues +- How to fix === How to manage storage -== Introducing Virtualisation -=== Install Virtualisation Support -=== Install a Virtual Machine using Cockpit -=== Install a Virtual Machine using libvirt version 3 --cloud-init option Further topics of this kind to be added diff --git a/docs/modules/ROOT/pages/serverCommunicating.adoc b/docs/modules/ROOT/pages/serverCommunicating.adoc index 6dc222c..9c7ee29 100644 --- a/docs/modules/ROOT/pages/serverCommunicating.adoc +++ b/docs/modules/ROOT/pages/serverCommunicating.adoc @@ -1,4 +1,17 @@ = Communicating and Getting Help +Peter Boy; Jan Kuparinen +:page-authors: {author}, {author_2} + +[sidebar] +**** +Author: N/A | Creation Date: N/A | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +Placeholder! Please comment on server mailing list +==== + + For general troubleshooting help related to Fedora, please refer to link:https://ask.fedoraproject.org[Ask Fedora Forum]. diff --git a/docs/modules/ROOT/pages/serverCommunity.adoc b/docs/modules/ROOT/pages/serverCommunity.adoc index ac2a07d..ccd8f6a 100644 --- a/docs/modules/ROOT/pages/serverCommunity.adoc +++ b/docs/modules/ROOT/pages/serverCommunity.adoc @@ -2,6 +2,15 @@ Peter Boy; Jan Kuparinen :page-authors: {author}, {author_2} +[sidebar] +**** +Author: N/A | Creation Date: N/A | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +First Collection of Ideas! Please comment on server mailing list +==== + (We should make the working group more "tangible" and transparent, not just refer to an (anonymous) mailing list.) diff --git a/docs/modules/ROOT/pages/serverContainers.adoc b/docs/modules/ROOT/pages/serverContainers.adoc new file mode 100644 index 0000000..2ca1511 --- /dev/null +++ b/docs/modules/ROOT/pages/serverContainers.adoc @@ -0,0 +1,14 @@ += Containerisation +Peter Boy; Jan Kuparinen +:page-authors: {author}, {author_2} + +[sidebar] +**** +Author: Peter Boy (pboy) | Creation Date: N/A | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +Work in Progress. Comming soon +==== + + diff --git a/docs/modules/ROOT/pages/serverExamplesUseCases.adoc b/docs/modules/ROOT/pages/serverExamplesUseCases.adoc deleted file mode 100644 index 73c917c..0000000 --- a/docs/modules/ROOT/pages/serverExamplesUseCases.adoc +++ /dev/null @@ -1,18 +0,0 @@ -= Fedora Server Example Use Cases -Peter Boy; Jan Kuparinen -:page-authors: {author}, {author_2} - - 1 Setup a Fedora Local Home Server, including - 1.1 Security considerations - 1.2 Considerations organizing storage - 1.3 Configuring local network - 1.4 file services Windows. Apple, Fedora Workstation - 1.5 media server - 1.6 (personal web server, perhaps rather a bit off the mark ) - 1.7 Again, propably providing a configurable / adaptable Ansible playbook - 2 Setup a Home Server Mail Service -(items according above) - 3 More to come (hopefully) - - - diff --git a/docs/modules/ROOT/pages/serverFaq.adoc b/docs/modules/ROOT/pages/serverFaq.adoc index 3534741..0686aba 100644 --- a/docs/modules/ROOT/pages/serverFaq.adoc +++ b/docs/modules/ROOT/pages/serverFaq.adoc @@ -2,6 +2,15 @@ Peter Boy; Jan Kuparinen :page-authors: {author}, {author_2} +[sidebar] +**** +Author: N/A | Creation Date: N/A | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +Placeholder! Please comment on server mailing list +==== + [qanda] Can I see a built preview of this template to get a better idea about the result?:: Of course you can! Just look at the README of the repository — it should tell you everything. diff --git a/docs/modules/ROOT/pages/serverTroubleshooting.adoc b/docs/modules/ROOT/pages/serverTroubleshooting.adoc index 905017d..eb86bd8 100644 --- a/docs/modules/ROOT/pages/serverTroubleshooting.adoc +++ b/docs/modules/ROOT/pages/serverTroubleshooting.adoc @@ -1,17 +1,28 @@ = Communicating and Getting Help Peter Boy; Jan Kuparinen :page-authors: {author}, {author_2} + +[sidebar] +**** +Author: N/A | Creation Date: N/A | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +First Collection of Ideas! Please comment on server mailing list +==== -Some examples from latest discussions - 1. The well known BIOSboot partition issue - 2. systemnd-oomd and httpd / jBoss/wildfly - 3. UEFI – one ESP for /boot/efi requirement in software RAID 1 / RAID x +Some examples from latest discussions + +1. The well known BIOSboot partition issue +2. systemnd-oomd and httpd / jBoss/wildfly +3. UEFI – one ESP for /boot/efi requirement in software RAID 1 / RAID x + +### Some generic information -For general troubleshooting help related to Fedora, please refer to link:https://ask.fedoraproject.org[Ask Fedora Forum]. - If you found a bug, report it! + * link:https://docs.fedoraproject.org/en-US/quick-docs/howto-file-a-bug/[How to file a bug]. * Issues about server can be filed at link:https://pagure.io/fedora-server/issues[ticketing repository on Pagure]. @@ -20,4 +31,7 @@ If you found a bug, report it! * You can discuss server issues at link:https://discussion.fedoraproject.org/c/server[Server Discussion Forum]. -* You can e-mail us on the Server mailing list at link:https://lists.fedoraproject.org/admin/lists/server@lists.fedoraproject.org/[server@lists.fedoraproject.org]. \ No newline at end of file +* You can e-mail us on the Server mailing list at link:https://lists.fedoraproject.org/admin/lists/server@lists.fedoraproject.org/[server@lists.fedoraproject.org]. + +For general troubleshooting help related to Fedora, please refer to link:https://ask.fedoraproject.org[Ask Fedora Forum]. + \ No newline at end of file diff --git a/docs/modules/ROOT/pages/serverTutorials.adoc b/docs/modules/ROOT/pages/serverTutorials.adoc index 3c70ea0..bd08d97 100644 --- a/docs/modules/ROOT/pages/serverTutorials.adoc +++ b/docs/modules/ROOT/pages/serverTutorials.adoc @@ -2,6 +2,15 @@ Peter Boy; Jan Kuparinen :page-authors: {author}, {author_2} +[sidebar] +**** +Author: N/A | Creation Date: N/A | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +First Collection of Ideas! Please comment on server mailing list +==== + Some ideas: diff --git a/docs/modules/ROOT/pages/serverUseCases.adoc b/docs/modules/ROOT/pages/serverUseCases.adoc new file mode 100644 index 0000000..61d00f2 --- /dev/null +++ b/docs/modules/ROOT/pages/serverUseCases.adoc @@ -0,0 +1,27 @@ += Fedora Server Example Use Cases +Peter Boy; Jan Kuparinen +:page-authors: {author}, {author_2} + +[sidebar] +**** +Author: N/A | Creation Date: N/A | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +First Collection of Ideas! Please comment on server mailing list +==== + + 1 Setup a Fedora Local Home Server, including + 1.1 Security considerations + 1.2 Considerations organizing storage + 1.3 Configuring local network + 1.4 file services Windows. Apple, Fedora Workstation + 1.5 media server + 1.6 (personal web server, perhaps rather a bit off the mark ) + 1.7 Again, propably providing a configurable / adaptable Ansible playbook + 2 Setup a Home Server Mail Service +(items according above) + 3 More to come (hopefully) + + + diff --git a/docs/modules/ROOT/pages/serverVirtualisation.adoc b/docs/modules/ROOT/pages/serverVirtualisation.adoc new file mode 100644 index 0000000..d1ee52c --- /dev/null +++ b/docs/modules/ROOT/pages/serverVirtualisation.adoc @@ -0,0 +1,46 @@ +# Virtualisation + +[sidebar] +**** +Author: Peter Boy (pboy) | Creation Date: 2021-03-10 | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +First Draft! Please comment on server mailing list +==== + + +Todays Hardware is pretty much powerful enough to run not only one server but many of them. + +Virtualisation means that several complete and probably different operating systems run on one and the same hardware - as far as possible independently and isolated from each other. + +Containers are an alternative. Here, several containers use the kernel of the host system simultaneously. The mutual isolation is lower, but the performance overhead is also lower. + +Fedora Server uses KVM and the libvirt libraries for virtualisation. Another alternative that is often used is XEN. + +System software required for virtualisation is not automatically installed. It can be added as an option during installation. However, a more targeted installation is a subsequent, precisely fitting installation. + +After Fedora Server is enabled for virtualisation, one or more virtual machines can be installed. This can also be Fedora Server, or any other distribution. + +## Adding Virtualisation + +This step includes an installation of the libvirt software and further configuration steps. For example, external connectivity must be set up for virtual machines, e.g. through a virtual bridge. Often, an internal network is also required for protected communication between the virtual machines or with the host system. + +## Adding Virtual Maschines + +There are two common ways to install virtual machines: + +- Use of the distribution-specific installation programme with the help of specialised utilities +- Installation of cloud (base) images, a variant of the operating system optimised for virtualisation. + +### Distributionsspezifische Installation + +To do this, the standard ISO file is copied to the server and then executed via a utility. The web-based administration tool Cockpit is currently recommended for Fedora Server. An alternative is Virt-Manager, a graphical utility. However, it must be installed on the local workstation (Linux only) and then works via an ssh connection. Execution on the server itself is not supported, as Fedora Server is designed to be "headless", i.e. without a graphical user interface. + +Experienced administrators can also initialise an installation via the command line using VNC and virt-install. However, this is comparatively time-consuming and error-prone. + +### Cloud Base Images + +A special feature of cloud images is a configuration for a specific runtime environment and purpose with the help of a special programme, cloud-init. The necessary information is provided by the cloud system, e.g. Open Stack. These are not readily available on an autonomous server. With Fedora 33 and version 3 of the virt-install programme, the installation and use of cloud images and cloud-init has been greatly simplified. + +Installation is now accomplished with a single and simple invocation of the virt-install CLI programme. Currently, no support is available through a graphical or web-based programme. \ No newline at end of file diff --git a/docs/modules/ROOT/pages/virtualisationInstall.adoc b/docs/modules/ROOT/pages/virtualisationInstall.adoc new file mode 100644 index 0000000..5858b43 --- /dev/null +++ b/docs/modules/ROOT/pages/virtualisationInstall.adoc @@ -0,0 +1,116 @@ += Adding Virtualisation Support +Peter Boy; Jan Kuparinen +:page-authors: {author}, {author_2} + +[sidebar] +**** +Author: Peter Boy (pboy) | Creation Date: 2021-03-10 | Last update: N/A | Affected Fedora Version(s): 33 +**** +[NOTE] +==== +First Draft! Please comment on server mailing list +==== +Libvirt is the standard virtualisation method in Fedora and provides a management toolkit for KVM / QEMU. This includes a local virtual network for protected communication between the virtual guest systems with each other and with the host. + +== Preparation + +Libvirt stores its data including the image files of the virtual hard disk(s) for the guest systems in /var/lib/libvirt. If you adhere to the default partitioning concept, the libvirt application data is stored in its own logical volume in the default volume group (fedora_fedora). + +Before starting the installation, a logical partition must be created. The easiest way is to use Cockpit to create a logical volume, e.g. named libvirt, format it with XFS and mount it at the position /var/lib/libvirt. Cockpit creates this directory automatically. + +== Installing libvirt Virtualisation Software + +Installing the software is quite simple. +[source,] +---- +[…]# dnf install qemu-kvm libvirt virt-install cockpit-machines libguestfs-tools +---- + +Package libguestfs-tools provides various useful tools to maintain virtual disks. It is recommended not to install the group @virtualisation onto a Fedora Server. It includes various graphical programs and libraries that are not usable on headless servers. + +Next check the SELinux labels +[source,] +---- +[…]# ls -alZ /var/lib/libvirt +---- + +Usually, the installation adjusts the labels accordingly. Otherwise, an adjustment must be made manually. +[source,] +---- +[…]# /sbin/restorecon -R -vF /var/lib/libvirt +---- +If everything is correct, libvirtd must be activated and started. +[source,] +---- +[…]# systemctl enable libvirtd --now +---- + +By default, libvirt creates a bridge with an interface virbr0, the IP 192.168.122.1 and the internal name default. In addition, a separate firewall zone libvirt is set up. Check if everything is running as expected. +[source,] +---- +[…]# ip a +[…]# firewall-cmd –get-active-zones +---- + +== Adjusting libvirt Configuration + +The internal network should be used for the internal, protected communication of the VMs with each other and with the host. For this purpose, it is advantageous to set up a DNS for the internal network so that the VMs can be addressed by their names. + +The first step is to decide about a domain name. A top-level ".local" is explicitly not recommended, nor taking one if the official top-level names. But for example, you can take the official domain name and replace the top-level domain with 'lan' or 'internal'. The example domain example.com then becomes example.lan. We use that one throughout this tutorial. The host gets the name host.example.lan. + +Modify libvirt default network: +[source,] +---- +[…]# virsh net-edit default + + default + aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee + + + + + + + + + + + host + host.example.lan + + + + + + + + +---- + +Activate the modified configuration +[source,] +---- +[…]# virsh net-destroy default +[…]# virsh net-start default +---- + +== Converting the Hosts DNS Configuration +[IMPORTANT] +==== +Wait, systemd project is currently working to fix the resolved split-DNS bug +==== + +== Final Test + +Check the functionality of the name resolution with internal and external addresses.[source,] +---- +[…]# ping host +[…]# ping host.example.lan +[…]# ping host.example.com +[…]# ping guardian.co.uk +---- + + + + + diff --git a/docs/modules/ROOT/pages/virtualisationVMCloud.adoc b/docs/modules/ROOT/pages/virtualisationVMCloud.adoc new file mode 100644 index 0000000..a211126 --- /dev/null +++ b/docs/modules/ROOT/pages/virtualisationVMCloud.adoc @@ -0,0 +1,14 @@ += Virtual Machines based on Cloud Images +Peter Boy; Jan Kuparinen +:page-authors: {author}, {author_2} + +[sidebar] +**** +Author: Peter Boy (pboy) | Creation Date: N/A | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +Work in Progress. Comming soon +==== + + diff --git a/docs/modules/ROOT/pages/virtualisationVMInstall.adoc b/docs/modules/ROOT/pages/virtualisationVMInstall.adoc new file mode 100644 index 0000000..574f5fd --- /dev/null +++ b/docs/modules/ROOT/pages/virtualisationVMInstall.adoc @@ -0,0 +1,16 @@ += Installing Virtual Machines using Cockpit +Peter Boy; Jan Kuparinen +:page-authors: {author}, {author_2} + +[sidebar] +**** +Author: Peter Boy (pboy) | Creation Date: N/A | Last update: N/A | Related Fedora Version(s): 33 +**** +[NOTE] +==== +Work in Progress. Comming soon +==== + + + +