diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..ba8d521 --- /dev/null +++ b/LICENSE @@ -0,0 +1,10 @@ +The text of and illustrations in this document are licensed by Red Hat +under a Creative Commons Attribution–Share Alike 3.0 Unported license +("CC-BY-SA"). An explanation of CC-BY-SA is available at +http://creativecommons.org/licenses/by-sa/3.0/. In accordance with +CC-BY-SA, if you distribute this document or an adaptation of it, you +must provide the URL for the original version. + +Red Hat, as the licensor of this document, waives the right to +enforce, and agrees not to assert, Section 4d of CC-BY-SA to the +fullest extent permitted by applicable law. diff --git a/antora.yml b/antora.yml index d70d031..e17d26f 100644 --- a/antora.yml +++ b/antora.yml @@ -1,5 +1,5 @@ --- name: fedora -version: rawhide +version: f30 # Navigation is in the main 'fedora' component: # https://pagure.io/fedora-docs/release-docs-home diff --git a/build.sh b/build.sh index 083da18..91dd641 100755 --- a/build.sh +++ b/build.sh @@ -1,35 +1,51 @@ #!/bin/sh -image="antora/antora" +image="docker.io/antora/antora" cmd="--html-url-extension-style=indexify site.yml" -if [ "$(uname)" == "Darwin" ]; then +if uname | grep -iwq darwin; then # Running on macOS. # Let's assume that the user has the Docker CE installed # which doesn't require a root password. - docker run --rm -it -v $(pwd):/antora $image $cmd + echo "" + echo "This build script is using Docker container runtime to run the build in an isolated environment." + echo "" + docker run --rm -it -v "$(pwd):/antora" "${image}" ${cmd} -elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then +elif uname | grep -iq linux; then # Running on Linux. # Check whether podman is available, else faill back to docker # which requires root. - if [ -f /usr/bin/podman ]; then - runtime="podman" + + if [ -f /usr/local/bin/antora ]; then + /usr/local/bin/antora "${cmd}" + elif uname -m | grep -iwq aarch64; then + echo "no antora/aarch64 container try just \`npm install -g @antora/cli @antora/site-generator-default\`" + elif [ -f /usr/bin/podman ]; then + echo "" + echo "This build script is using Podman to run the build in an isolated environment." + echo "" + podman run --rm -it -v "$(pwd):/antora:z" "${image}" ${cmd} + + elif [ -f /usr/bin/docker ]; then + echo "" + echo "This build script is using Docker to run the build in an isolated environment." + echo "" + + if groups | grep -wq "docker"; then + docker run --rm -it -v "$(pwd):/antora:z" "${image}" ${cmd} + else + echo "You might be asked for your password." + echo "You can avoid this by adding your user to the 'docker' group," + echo "but be aware of the security implications." + echo "See https://docs.docker.com/install/linux/linux-postinstall/" + echo "" + sudo docker run --rm -it -v "$(pwd):/antora:z" "${image}" ${cmd} + fi else - runtime="docker" - fi - if groups | grep -wq "docker"; then - # Check if the current user is in the "docker" group. If true, no sudo is needed. echo "" - echo "This build script is using $runtime to run the build in an isolated environment." - echo "" - $runtime run --rm -it -v $(pwd):/antora:z $image $cmd - else - # User isn't in the docker group; run the command with sudo. - echo "" - echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password." - echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/." - echo "" - sudo $runtime run --rm -it -v $(pwd):/antora:z $image $cmd + echo "Error: Container runtime haven't been found on your system. Fix it by:" + echo "$ sudo dnf install podman" + exit 1 fi fi diff --git a/modules/system-administrators-guide/pages/RPM.adoc b/modules/system-administrators-guide/pages/RPM.adoc index 127584b..b602585 100644 --- a/modules/system-administrators-guide/pages/RPM.adoc +++ b/modules/system-administrators-guide/pages/RPM.adoc @@ -348,12 +348,12 @@ indexterm:[packages,finding Fedora RPM packages]indexterm:[RPM,finding Fedora RP Although there are many [application]*RPM* repositories on the Internet, for security and compatibility reasons, you should consider installing only official Fedora-provided RPM packages. The following is a list of sources for [application]*RPM* packages: * indexterm:[{MAJOROS} installation media,installable packages] -indexterm:[packages,{MAJOROS} installation media] -Official {MAJOROS} installation media. + indexterm:[packages,{MAJOROS} installation media] + Official {MAJOROS} installation media. * indexterm:[initial RPM repositories,installable packages] -indexterm:[packages,initial RPM repositories] -Official [application]*RPM* repositories provided with the [application]*DNF* package manager. See xref:package-management/DNF.adoc#ch-DNF[DNF] for details on how to use the official {MAJOROS} package repositories. + indexterm:[packages,initial RPM repositories] + Official [application]*RPM* repositories provided with the [application]*DNF* package manager. See xref:package-management/DNF.adoc#ch-DNF[DNF] for details on how to use the official {MAJOROS} package repositories. * Unofficial, third-party repositories not affiliated with {OSORG} also provide RPM packages. @@ -413,44 +413,49 @@ indexterm:[RPM,tips]indexterm:[packages,RPM,tips] [application]*RPM* is a useful tool for both managing your system and diagnosing and fixing problems. See the following examples for an overview of some of the most-used options. * To verify your entire system and see what files are missing, issue the following command as `root`: -indexterm:[RPM,finding deleted files with]indexterm:[packages,finding deleted files from] + indexterm:[RPM,finding deleted files with]indexterm:[packages,finding deleted files from] ++ [subs="quotes, macros"] ---- [command]#rpm -Va# ---- - ++ If some files are missing or appear corrupted, consider reinstalling relevant packages. * To determine which package owns a file, enter: -indexterm:[RPM,determining file ownership with]indexterm:[packages,determining file ownership with] + indexterm:[RPM,determining file ownership with]indexterm:[packages,determining file ownership with] ++ [subs="quotes, macros"] ---- [command]#rpm -qf _file_pass:attributes[{blank}]# ---- * To verify the package that owns a particular file, enter as `root`: - ++ [subs="quotes, macros"] ---- [command]#rpm -Vf _file_pass:attributes[{blank}]# ---- * To locate documentation files that are a part of a package to which a file belongs, enter: -indexterm:[RPM,documentation with]indexterm:[packages,locating documentation for]indexterm:[documentation,finding installed] + indexterm:[RPM,documentation with]indexterm:[packages,locating documentation for]indexterm:[documentation,finding installed] ++ [subs="quotes, macros"] ---- [command]#rpm -qdf _file_pass:attributes[{blank}]# ---- * To find information about a (non-installed) package file, use the following command: -indexterm:[RPM,querying uninstalled packages]indexterm:[packages,querying uninstalled] + indexterm:[RPM,querying uninstalled packages]indexterm:[packages,querying uninstalled] ++ [subs="quotes, macros"] ---- [command]#rpm -qip _package.rpm_pass:attributes[{blank}]# ---- * To list files contained in a package, use: -indexterm:[RPM,querying for file list]indexterm:[packages,obtaining list of files] + indexterm:[RPM,querying for file list]indexterm:[packages,obtaining list of files] ++ [subs="quotes, macros"] ---- [command]#rpm -qlp _package.rpm_pass:attributes[{blank}]# diff --git a/modules/system-administrators-guide/pages/_partials/servers/The_Apache_HTTP_Server.adoc b/modules/system-administrators-guide/pages/_partials/servers/The_Apache_HTTP_Server.adoc index f051d86..c07dfd7 100644 --- a/modules/system-administrators-guide/pages/_partials/servers/The_Apache_HTTP_Server.adoc +++ b/modules/system-administrators-guide/pages/_partials/servers/The_Apache_HTTP_Server.adoc @@ -2,6 +2,7 @@ [[s1-The_Apache_HTTP_Server]] == The Apache HTTP Server indexterm:[httpd,Apache HTTP Server] +<<<<<<< HEAD The web server available in {MAJOROS} is the Apache HTTP server daemon, `httpd`, an open source web server developed by the link:++https://www.apache.org/++[Apache Software Foundation]. In Fedora 19 the Apache server was updated to [application]*Apache HTTP Server 2.4*. This section describes the basic configuration of the `httpd` service, and covers some advanced topics such as adding server modules, setting up virtual hosts, or configuring the secure HTTP server. There are important differences between the Apache HTTP Server 2.4 and version 2.2, and if you are upgrading from a release prior to Fedora 19, you will need to update the `httpd` service configuration accordingly. This section reviews some of the newly added features, outlines important changes, and guides you through the update of older configuration files. @@ -116,6 +117,9 @@ Syntax OK ---- For more information on upgrading the Apache HTTP Server configuration from version 2.2 to 2.4, see link:++https://httpd.apache.org/docs/2.4/upgrading.html++[]. +======= +The web server available in {MAJOROS} is the Apache HTTP server daemon, `httpd`, an open source web server developed by the link:++https://www.apache.org/++[Apache Software Foundation]. This section describes the basic configuration of the `httpd` service, and covers some advanced topics such as adding server modules, setting up virtual hosts, or configuring the secure HTTP server. +>>>>>>> 1cea858... Issue 23 - remove old references to F19 and a useless changelog from httpd section [[s2-apache-running]] === Running the httpd Service diff --git a/modules/system-administrators-guide/pages/infrastructure-services/Services_and_Daemons.adoc b/modules/system-administrators-guide/pages/infrastructure-services/Services_and_Daemons.adoc index 7a3557c..c37b986 100644 --- a/modules/system-administrators-guide/pages/infrastructure-services/Services_and_Daemons.adoc +++ b/modules/system-administrators-guide/pages/infrastructure-services/Services_and_Daemons.adoc @@ -13,7 +13,7 @@ This chapter covers the configuration of the services to be run when a system is [IMPORTANT] ==== -When you allow access for new services, always remember that both the firewall and [application]*SELinux* need to be configured as well. One of the most common mistakes committed when configuring a new service is neglecting to implement the necessary firewall configuration and SELinux policies to allow access for it. For more information, refer to the {MAJOROSVER} [citetitle]_Security Guide_. +When you allow access for new services, always remember that both the firewall and [application]*SELinux* need to be configured as well. One of the most common mistakes committed when configuring a new service is neglecting to implement the necessary firewall configuration and SELinux policies to allow access for it. ==== @@ -269,8 +269,3 @@ For any changes in the `/etc/ssh/sshd_config` configuration file to take effect, === Installed Documentation * `systemctl`(1) — The manual page for the [application]*systemctl* utility. - -[[s2-services-additional-resources-books]] -=== Related Books - -[citetitle]_{MAJOROSVER} Security Guide_:: A guide to securing {MAJOROS}. It contains valuable information on how to set up the firewall, as well as the configuration of [application]*SELinux*. diff --git a/modules/system-administrators-guide/pages/infrastructure-services/TigerVNC.adoc b/modules/system-administrators-guide/pages/infrastructure-services/TigerVNC.adoc index a5b1534..ba8b53f 100644 --- a/modules/system-administrators-guide/pages/infrastructure-services/TigerVNC.adoc +++ b/modules/system-administrators-guide/pages/infrastructure-services/TigerVNC.adoc @@ -37,7 +37,7 @@ To install the [application]*TigerVNC* server, issue the following command as `r [subs="attributes"] ---- -~]#{nbsp}dnf install tigervnc-server +# dnf install tigervnc-server ---- [[s3-configuring-vnc-server]] @@ -50,17 +50,17 @@ To install the [application]*TigerVNC* server, issue the following command as `r [subs="macros, attributes"] ---- -~]#{nbsp}pass:quotes[`cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service`] +# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service ---- + There is no need to include the display number in the file name because `systemd` automatically creates the appropriately named instance in memory on demand, replacing `'%i'` in the service file by the display number. For a single user it is not necessary to rename the file. For multiple users, a uniquely named service file for each user is required, for example, by adding the user name to the file name in some way. See xref:TigerVNC.adoc#configuring-vncserver-2users[Configuring VNC Server for Two Users] for details. . Edit `/etc/systemd/system/vncserver@.service`, -replacing _USER_ with the actual user name. -Leave the remaining lines of the file unmodified. -The [option]`-geometry` argument specifies the size of the VNC desktop to -be created; by default, it is set to `1024x768`. + replacing _USER_ with the actual user name. + Leave the remaining lines of the file unmodified. + The [option]`-geometry` argument specifies the size of the VNC desktop to + be created; by default, it is set to `1024x768`. + [subs="quotes, macros"] ---- @@ -77,18 +77,18 @@ PIDFile=/home/pass:attributes[{blank}]_USER_pass:attributes[{blank}]/.vnc/%H%i.p [subs="macros, attributes"] ---- -~]#{nbsp}pass:quotes[`systemctl daemon-reload`] +# pass:quotes[`systemctl daemon-reload`] ---- . Set the password for the user or users defined in the configuration file. Note -that you need to switch from `root` to _USER_ first. + that you need to switch from `root` to _USER_ first. + [subs="macros, attributes"] ---- -~]#{nbsp}su - pass:quotes[_USER_] -~]${nbsp}pass:quotes[`vncpasswd`] +# su - pass:quotes[_USER_] +$ pass:quotes[`vncpasswd`] Password: Verify: @@ -111,20 +111,20 @@ If you want to configure more than one user on the same machine, create different template-type service files, one for each user. . Create two service files, for example `vncserver-_USER_1_pass:attributes[{blank}]@.service` -and `vncserver-_USER_2_pass:attributes[{blank}]@.service`. -In both these files substitute _USER_ with the correct user name. + and `vncserver-_USER_2_pass:attributes[{blank}]@.service`. + In both these files substitute _USER_ with the correct user name. . Set passwords for both users: + [subs="macros, attributes"] ---- -~]${nbsp}su - USER_1 -~]${nbsp}pass:quotes[`vncpasswd`] +$ su - USER_1 +$ vncpasswd Password: Verify: -~]${nbsp}su - USER_2 -~]${nbsp}pass:quotes[`vncpasswd`] +$ su - USER_2 +$ vncpasswd Password: Verify: @@ -141,7 +141,7 @@ With a valid display number, execute the following command: [subs="attributes"] ---- -~]#{nbsp}systemctl start vncserver@:display_number.service +# systemctl start vncserver@:display_number.service ---- @@ -150,7 +150,7 @@ You can also enable the service to start automatically at system start. Then, wh [subs="attributes"] ---- -~]#{nbsp}systemctl enable vncserver@:display_number.service +# systemctl enable vncserver@:display_number.service ---- @@ -166,8 +166,8 @@ start on display 3, and a VNC server for USER_2 to start on display 5: [subs="attributes"] ---- -~]#{nbsp}systemctl start vncserver-USER_1@:3.service -~]#{nbsp}systemctl start vncserver-USER_2@:5.service +# systemctl start vncserver-USER_1@:3.service +# systemctl start vncserver-USER_2@:5.service ---- @@ -180,7 +180,7 @@ the automatic start of the service at system start: [subs="attributes"] ---- -~]#{nbsp}systemctl disable vncserver@:display_number.service +# systemctl disable vncserver@:display_number.service ---- @@ -190,7 +190,7 @@ command as `root`: [subs="attributes"] ---- -~]#{nbsp}systemctl stop vncserver@:display_number.service +# systemctl stop vncserver@:display_number.service ---- @@ -212,7 +212,7 @@ To install the [application]*TigerVNC* client, [command]#vncviewer#pass:attribut [subs="attributes"] ---- -~]#{nbsp}dnf install tigervnc +# dnf install tigervnc ---- [[s6-connecting-vnc-viewer]] @@ -238,7 +238,7 @@ the command looks as follows: [subs="quotes, macros, attributes"] ---- -[command]#~]${nbsp}vncviewer 192.168.0.4:3# +[command]#$ vncviewer 192.168.0.4:3# ---- @@ -264,12 +264,12 @@ For displays `0` to `3`, make use of `firewalld`pass:attributes[{blank}]'s suppo [[proc-Enabling_VNC_Service_in_firewalld]] .Enabling VNC Service in firewalld . Run the following command to see the information concerning `firewalld` -settings: + settings: + [subs="quotes, macros, attributes"] ---- -[command]#~]${nbsp}firewall-cmd --list-all# +[command]#$ firewall-cmd --list-all# ---- @@ -277,7 +277,7 @@ settings: + [subs="attributes"] ---- -~]#{nbsp}firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.122.116" service name=vnc-server accept' +# firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.122.116" service name=vnc-server accept' success ---- + @@ -287,7 +287,7 @@ See the link:++https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_ + [subs="attributes"] ---- -~]#{nbsp}firewall-cmd --list-all +# firewall-cmd --list-all public (default, active) interfaces: bond0 bond0.192 sources: @@ -308,7 +308,7 @@ To open a specific port or range of ports make use of the [option]`--add-port` o + [subs="attributes"] ---- -~]#{nbsp}firewall-cmd --zone=public --add-port=5904/tcp +# firewall-cmd --zone=public --add-port=5904/tcp success ---- @@ -316,7 +316,7 @@ success + [subs="attributes"] ---- -~]#{nbsp}firewall-cmd --zone=public --list-ports +# firewall-cmd --zone=public --list-ports 5904/tcp ---- @@ -334,7 +334,7 @@ The format of the command to encrypt a VNC server-client connection is as follow [subs="attributes"] ---- -~]${nbsp}vncviewer -via user@host:display_number +$ vncviewer -via user@host:display_number ---- @@ -347,7 +347,7 @@ The format of the command to encrypt a VNC server-client connection is as follow [subs="attributes"] ---- -~]${nbsp}vncviewer -via USER_2@192.168.2.101:3 +$ vncviewer -via USER_2@192.168.2.101:3 ---- diff --git a/modules/system-administrators-guide/pages/monitoring-and-automation/Viewing_and_Managing_Log_Files.adoc b/modules/system-administrators-guide/pages/monitoring-and-automation/Viewing_and_Managing_Log_Files.adoc index 2b25ada..4835fa1 100644 --- a/modules/system-administrators-guide/pages/monitoring-and-automation/Viewing_and_Managing_Log_Files.adoc +++ b/modules/system-administrators-guide/pages/monitoring-and-automation/Viewing_and_Managing_Log_Files.adoc @@ -723,7 +723,7 @@ The following is a list of some of the directives you can specify in your [appli ** `maillast` — Specifies that the about-to-expire log files are to be mailed, instead of the just-rotated log files. This is the default option when `mail` is enabled. -For the full list of directives and various configuration options, see the `logrotate(5)` manual page. +For the full list of directives and various configuration options, see the `logrotate(8)` manual page. [[sec-using_the_new_configuration_format]] == Using the New Configuration Format @@ -2073,9 +2073,11 @@ When you select the `Show matches only` option, only the matched strings will be [[s2-logfiles-adding]] === Adding a Log File -To add a log file you want to view in the list, select menu:File[ -> `Open` > -]. This will display the `Open Log` window where you can select the directory and file name of the log file you want to view. xref:Viewing_and_Managing_Log_Files.adoc#fig-redhat-logviewer-add[System Log - adding a log file] illustrates the Open Log window. +To add a log file you want to view in the list, select menu:File[> `Open` >]. +This will display the `Open Log` window where you can select the directory and +file name of the log file you want to view. +xref:Viewing_and_Managing_Log_Files.adoc#fig-redhat-logviewer-add[System Log - adding a log file] +illustrates the Open Log window. [[fig-redhat-logviewer-add]] .System Log - adding a log file diff --git a/modules/system-administrators-guide/pages/package-management/DNF.adoc b/modules/system-administrators-guide/pages/package-management/DNF.adoc index 7ac95cc..5836d91 100644 --- a/modules/system-administrators-guide/pages/package-management/DNF.adoc +++ b/modules/system-administrators-guide/pages/package-management/DNF.adoc @@ -1,4 +1,3 @@ - :experimental: include::{partialsdir}/entities.adoc[] @@ -198,7 +197,7 @@ Be careful to escape the glob expressions when passing them as arguments to a [c DNF searches only package names when using glob expressions. To search for a version of a package, include a dash and part of the version number as follows: ---- -~]# dnf search kernel*-4* +~]# dnf list kernel*-4* Last metadata expiration check performed 2:46:09 ago on Thu May 14 23:23:51 2015. Installed Packages kernel.x86_64 4.0.0-1.fc22 @System diff --git a/modules/system-administrators-guide/pages/servers/Configuring_NTP_Using_ntpd.adoc b/modules/system-administrators-guide/pages/servers/Configuring_NTP_Using_ntpd.adoc index e3e3274..9e531bc 100644 --- a/modules/system-administrators-guide/pages/servers/Configuring_NTP_Using_ntpd.adoc +++ b/modules/system-administrators-guide/pages/servers/Configuring_NTP_Using_ntpd.adoc @@ -29,9 +29,9 @@ Stratum 0::: Atomic Clocks and their signals broadcast over Radio and GPS ** Mobile Phone Systems -** Low Frequency Radio Broadcasts -WWVB (Colorado, USA.), JJY-40 and JJY-60 (Japan), DCF77 (Germany), and MSF (United Kingdom) - +** Low Frequency Radio Broadcasts+ + WWVB (Colorado, USA.), JJY-40 and JJY-60 (Japan), DCF77 (Germany), and MSF (United Kingdom) ++ These signals can be received by dedicated devices and are usually connected by RS-232 to a system used as an organizational or site-wide time server. Stratum 1::: Computer with radio clock, GPS clock, or atomic clock attached diff --git a/preview.sh b/preview.sh index 16d02d8..4270107 100755 --- a/preview.sh +++ b/preview.sh @@ -1,36 +1,18 @@ #!/bin/sh -if [ "$(uname)" == "Darwin" ]; then +if [ "$(uname)" = "Darwin" ]; then # Running on macOS. # Let's assume that the user has the Docker CE installed # which doesn't require a root password. echo "The preview will be available at http://localhost:8080/" - docker run --rm -v $(pwd):/antora:ro -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro -p 8080:80 nginx + docker run --rm -v "$(pwd):/antora:ro" -v "$(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro" -p 8080:80 nginx -elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then +elif [ "$(expr substr "$(uname -s)" 1 5)" = "Linux" ]; then # Running on Linux. - # Check whether podman is available, else faill back to docker - # which requires root. - if [ -f /usr/bin/podman ]; then - runtime="podman" - else - runtime="docker" - fi - if groups | grep -wq "docker"; then - # Check if the current user is in the "docker" group. If true, no sudo is needed. - echo "" - echo "This build script is using $runtime to run the build in an isolated environment." - echo "The preview will be available at http://localhost:8080/" - echo "" - $runtime run --rm -v $(pwd):/antora:ro,z -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro,z -p 8080:80 nginx - else - # User isn't in the docker group; run the command with sudo. - echo "" - echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password." - echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/." - echo "" - echo "The preview will be available at http://localhost:8080/" - echo "" - sudo $runtime run --rm -v $(pwd):/antora:ro,z -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro,z -p 8080:80 nginx - fi + # Fedora Workstation has python3 installed as a default, so using that + echo "" + echo "The preview is available at http://localhost:8080" + echo "" + cd ./public + python3 -m http.server 8080 fi diff --git a/site.yml b/site.yml index 897c0da..22baccb 100644 --- a/site.yml +++ b/site.yml @@ -1,6 +1,6 @@ site: title: Local Preview - start_page: fedora:system-administrators-guide:index + start_page: fedora:system-administrators-guide:index.adoc content: sources: - url: . @@ -18,5 +18,5 @@ output: destinations: - provider: archive runtime: - pull: true + fetch: true cache_dir: ./cache