From 234aae43197176c1aff28753ebf4644fb5646e4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Ricks?= Date: Fri, 20 Jan 2023 09:15:56 +0100 Subject: [PATCH] Remove: Drop 21.4 because it is end of life Remove all docs for 21.4. Users are encouraged to use 22.4 instead. We don't support 21.4 anymore. --- src/21.4/container/docker-compose.yml | 1 - src/21.4/container/gvmd-not-responding.png | Bin 66633 -> 0 bytes src/21.4/container/index.md | 121 -------------- src/21.4/container/troubleshooting.md | 28 ---- src/21.4/container/workflows.md | 2 - .../source-build/directory-permissions.rst | 43 ----- src/21.4/source-build/feed-sync-vts.rst | 16 -- src/21.4/source-build/finish.rst | 19 --- src/21.4/source-build/gsa/build.rst | 28 ---- src/21.4/source-build/gsa/dependencies.rst | 36 ---- .../source-build/gvm-libs/dependencies.rst | 70 -------- .../source-build/gvm-libs/description.rst | 2 - src/21.4/source-build/gvmd/dependencies.rst | 154 ------------------ src/21.4/source-build/index.rst | 147 ----------------- .../openvas-scanner/dependencies.rst | 63 ------- .../ospd-openvas/dependencies.rst | 72 -------- src/21.4/source-build/postgres.rst | 63 ------- src/21.4/source-build/start-services.rst | 34 ---- src/21.4/source-build/systemd.rst | 113 ------------- src/21.4/source-build/troubleshooting.md | 4 - src/changelog.md | 2 + src/common/source-build/gvm-libs/version.rst | 5 - src/index.rst | 4 +- 23 files changed, 3 insertions(+), 1024 deletions(-) delete mode 120000 src/21.4/container/docker-compose.yml delete mode 100644 src/21.4/container/gvmd-not-responding.png delete mode 100644 src/21.4/container/index.md delete mode 100644 src/21.4/container/troubleshooting.md delete mode 100644 src/21.4/container/workflows.md delete mode 100644 src/21.4/source-build/directory-permissions.rst delete mode 100644 src/21.4/source-build/feed-sync-vts.rst delete mode 100644 src/21.4/source-build/finish.rst delete mode 100644 src/21.4/source-build/gsa/build.rst delete mode 100644 src/21.4/source-build/gsa/dependencies.rst delete mode 100644 src/21.4/source-build/gvm-libs/dependencies.rst delete mode 100644 src/21.4/source-build/gvm-libs/description.rst delete mode 100644 src/21.4/source-build/gvmd/dependencies.rst delete mode 100644 src/21.4/source-build/index.rst delete mode 100644 src/21.4/source-build/openvas-scanner/dependencies.rst delete mode 100644 src/21.4/source-build/ospd-openvas/dependencies.rst delete mode 100644 src/21.4/source-build/postgres.rst delete mode 100644 src/21.4/source-build/start-services.rst delete mode 100644 src/21.4/source-build/systemd.rst delete mode 100644 src/21.4/source-build/troubleshooting.md delete mode 100644 src/common/source-build/gvm-libs/version.rst diff --git a/src/21.4/container/docker-compose.yml b/src/21.4/container/docker-compose.yml deleted file mode 120000 index 5763e59c..00000000 --- a/src/21.4/container/docker-compose.yml +++ /dev/null @@ -1 +0,0 @@ -../../_static/docker-compose-21.4.yml \ No newline at end of file diff --git a/src/21.4/container/gvmd-not-responding.png b/src/21.4/container/gvmd-not-responding.png deleted file mode 100644 index 3c36365429a9c1e1ad4bcff932dcbcba93f38db7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66633 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 E4@6Sr` can be opened in the browser. - -```{code-block} shell ---- -caption: Opening Greenbone Security Assistant in the browser ---- -xdg-open "http://127.0.0.1:9392" 2>/dev/null >/dev/null & -``` - -The browser will show the login page of GSA and after using the credentials -created before, it is possible to start with vulnerability scanning. - -```{figure} /images/GSA-21.4.png ---- -alt: Launching Greenbone Security Assistant for the first time ---- -Greenbone Security Assistant after logging in for the first time -``` - -## Setup and Start Script - -```{note} -Please remember to follow the instructions described in the [Prerequisites](#prerequisites) -first. -``` - -As a quick solution we provide all the commands above in a single script. This -script can be downloaded with the following command directly: - -```{code-block} shell ---- -caption: Downloading setup and start script to the current working dir ---- -curl -f -O https://greenbone.github.io/docs/latest/_static/setup-and-start-greenbone-community-edition.sh && chmod u+x setup-and-start-greenbone-community-edition.sh -``` - -To execute the script following command must be run: - -```{code-block} shell ---- -caption: Run setup and start script ---- -./setup-and-start-greenbone-community-edition.sh 21.4 -``` - -```{toctree} -:hidden: - -workflows -troubleshooting -``` - -[docker]: https://docs.docker.com/ -[docker-compose]: https://docs.docker.com/compose/ diff --git a/src/21.4/container/troubleshooting.md b/src/21.4/container/troubleshooting.md deleted file mode 100644 index f588ef4f..00000000 --- a/src/21.4/container/troubleshooting.md +++ /dev/null @@ -1,28 +0,0 @@ -```{include} /common/container/troubleshooting.md -``` - -### Cannot Log in to the Web Interface: *Greenbone Vulnerability Manager service is not responding* - -If it is not possible to log in to the web interface and the following error -message is shown - -```{image} gvmd-not-responding.png ---- -alt: gvmd not responding -width: 200px -align: center ---- -``` - -and/or the logs contain a `Failed to connect to server at /run/gvmd/gvmd.sock: Connection refused` -message, the {term}`gvmd` container must be restarted. It is very likely it -had some issues accessing the PostgreSQL database. - -```{code-block} shell ---- -caption: Restart {term}`gvmd` ---- -docker-compose -f $DOWNLOAD_DIR/docker-compose.yml -p greenbone-community-edition \ - restart gvmd -``` - diff --git a/src/21.4/container/workflows.md b/src/21.4/container/workflows.md deleted file mode 100644 index 580b9533..00000000 --- a/src/21.4/container/workflows.md +++ /dev/null @@ -1,2 +0,0 @@ -```{include} /common/container/workflows.md -``` diff --git a/src/21.4/source-build/directory-permissions.rst b/src/21.4/source-build/directory-permissions.rst deleted file mode 100644 index 136c5e8b..00000000 --- a/src/21.4/source-build/directory-permissions.rst +++ /dev/null @@ -1,43 +0,0 @@ -Adjusting Permissions ---------------------- - -For a system-wide multi-user installation, it must be ensured that the -directory permissions are set correctly and are matching the group setup. -All users of the group *gvm* should be able to read and write logs, lock files -and data like VTs. - -.. code-block:: - :caption: Adjusting directory permissions - - sudo chown -R gvm:gvm /var/lib/gvm - sudo chown -R gvm:gvm /var/lib/openvas - sudo chown -R gvm:gvm /var/log/gvm - sudo chown -R gvm:gvm /run/gvmd - sudo chown -R gvm:gvm /run/gsad - sudo chown -R gvm:gvm /run/ospd - - sudo chmod -R g+srw /var/lib/gvm - sudo chmod -R g+srw /var/lib/openvas - sudo chmod -R g+srw /var/log/gvm - -To allow all users of the group *gvm* access to the postgres database via the -various *gvmd* commands, the permissions of the *gvmd* executable will be adjusted -to always run as the *gvm* user and under the *gvm* group. - -.. code-block:: - :caption: Adjusting gvmd permissions - - sudo chown gvm:gvm /usr/local/sbin/gvmd - sudo chmod 6750 /usr/local/sbin/gvmd - -Additionally the feed sync script permissions should be adjusted to only allow -*gvm* user to execute them. Otherwise the permissions of the synced files will -be broken. - -.. code-block:: - :caption: Adjusting feed sync script permissions - - sudo chown gvm:gvm /usr/local/bin/greenbone-nvt-sync - sudo chmod 740 /usr/local/sbin/greenbone-feed-sync - sudo chown gvm:gvm /usr/local/sbin/greenbone-*-sync - sudo chmod 740 /usr/local/sbin/greenbone-*-sync diff --git a/src/21.4/source-build/feed-sync-vts.rst b/src/21.4/source-build/feed-sync-vts.rst deleted file mode 100644 index 994e911c..00000000 --- a/src/21.4/source-build/feed-sync-vts.rst +++ /dev/null @@ -1,16 +0,0 @@ -Downloading Vulnerability Tests -------------------------------- - -.. note:: - - Downloading the data during the synchronization may take a while - depending on the network connection and server resources. - -VT data contains :file:`.nasl` files for creating results during a vulnerability -scan. The `.nasl` files are processed by the OpenVAS Scanner. - -.. code-block:: - :caption: Syncing :term:`VTs` processed by the scanner, this will take a while. - - sudo -u gvm greenbone-nvt-sync - diff --git a/src/21.4/source-build/finish.rst b/src/21.4/source-build/finish.rst deleted file mode 100644 index a4b2c777..00000000 --- a/src/21.4/source-build/finish.rst +++ /dev/null @@ -1,19 +0,0 @@ -Starting the Vulnerability Management -===================================== - -After the services have started and all data has been loaded, the :term:`Greenbone -Security Assistant web interface – GSA – ` can be opened in the browser. - -.. code-block:: - :caption: Opening Greenbone Security Assistant in the browser - - xdg-open "http://127.0.0.1:9392" 2>/dev/null >/dev/null & - -The browser will show the login page of *GSA* and after using the credentials -created in the `Setting Up an Admin User <#setting-up-an-admin-user>`_ chapter, -it is possible to start with the vulnerability scanning. - -.. figure:: /images/GSA-21.4.png - :alt: Launching Greenbone Security Assistant for the first time - - Greenbone Security Assistant after logging in for the first time diff --git a/src/21.4/source-build/gsa/build.rst b/src/21.4/source-build/gsa/build.rst deleted file mode 100644 index 61110792..00000000 --- a/src/21.4/source-build/gsa/build.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. tabs:: - .. tab:: Debian/Ubuntu - .. code-block:: - :caption: Building gsa - - cd $SOURCE_DIR/gsa-$GSA_VERSION - - rm -rf build - - yarnpkg - yarnpkg build - - .. tab:: Fedora/CentOS - .. code-block:: - :caption: Building gsa - - cd $SOURCE_DIR/gsa-$GSA_VERSION - - rm -rf build - - yarn - yarn build - -.. code-block:: - :caption: Installing gsa - - sudo mkdir -p $INSTALL_PREFIX/share/gvm/gsad/web/ - sudo cp -r build/* $INSTALL_PREFIX/share/gvm/gsad/web/ diff --git a/src/21.4/source-build/gsa/dependencies.rst b/src/21.4/source-build/gsa/dependencies.rst deleted file mode 100644 index bbc1c71c..00000000 --- a/src/21.4/source-build/gsa/dependencies.rst +++ /dev/null @@ -1,36 +0,0 @@ -.. note:: - - GSA is a JavaScript based web application. For maintaining the JavaScript - dependencies, `yarn`_ is used. - -.. tabs:: - .. tab:: Debian/Ubuntu - - .. note:: - - In Debian-based distributions, the package for installing yarn is called - **yarnpkg**. Be aware that the command to start yarn is also named - **yarnpkg** when installing from a Debian package. - - .. code-block:: - :caption: Required dependencies for GSA - - sudo apt install -y \ - nodejs \ - yarnpkg - - .. tab:: Fedora - .. code-block:: - :caption: Install nodejs 14 - - sudo dnf module enable nodejs:14 -y - sudo dnf install -y nodejs yarnpkg nodejs-typescript - - .. tab:: CentOS - .. code-block:: - :caption: Install nodejs 14 - - curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash - - sudo dnf install -y nodejs yarnpkg - -.. _yarn: https://classic.yarnpkg.com/ diff --git a/src/21.4/source-build/gvm-libs/dependencies.rst b/src/21.4/source-build/gvm-libs/dependencies.rst deleted file mode 100644 index 3a553c43..00000000 --- a/src/21.4/source-build/gvm-libs/dependencies.rst +++ /dev/null @@ -1,70 +0,0 @@ -.. tabs:: - .. tab:: Debian/Ubuntu - .. code-block:: - :caption: Required dependencies for gvm-libs - - sudo apt install -y \ - libglib2.0-dev \ - libgpgme-dev \ - libgnutls28-dev \ - uuid-dev \ - libssh-gcrypt-dev \ - libhiredis-dev \ - libxml2-dev \ - libpcap-dev \ - libnet1-dev - - .. code-block:: - :caption: Optional dependencies for gvm-libs - - sudo apt install -y \ - libldap2-dev \ - libradcli-dev - - .. tab:: Fedora - .. code-block:: - :caption: Required dependencies for gvm-libs - - sudo dnf install -y \ - glib2-devel \ - gpgme-devel \ - gnutls-devel \ - libgcrypt-devel \ - libuuid-devel \ - libssh-devel \ - hiredis-devel \ - libxml2-devel \ - libpcap-devel \ - libnet-devel - - .. code-block:: - :caption: Optional dependencies for gvm-libs - - sudo dnf install -y \ - openldap-devel \ - radcli-devel - - .. tab:: CentOS - .. code-block:: - :caption: Required dependencies for gvm-libs - - sudo dnf install -y \ - glib2-devel \ - gpgme-devel \ - gnutls-devel \ - libgcrypt-devel \ - libuuid-devel \ - libssh-devel \ - hiredis-devel \ - libxml2-devel \ - libpcap-devel \ - libnet-devel \ - uuid-devel - - .. code-block:: - :caption: Optional dependencies for gvm-libs - - sudo dnf install -y \ - openldap-devel \ - radcli-devel - diff --git a/src/21.4/source-build/gvm-libs/description.rst b/src/21.4/source-build/gvm-libs/description.rst deleted file mode 100644 index 89e46ef5..00000000 --- a/src/21.4/source-build/gvm-libs/description.rst +++ /dev/null @@ -1,2 +0,0 @@ -*gvm-libs* is a C library providing basic functionality like XML parsing and -network communication. It is used in *openvas-scanner*, *gvmd* and *gsad*. diff --git a/src/21.4/source-build/gvmd/dependencies.rst b/src/21.4/source-build/gvmd/dependencies.rst deleted file mode 100644 index 6001fd33..00000000 --- a/src/21.4/source-build/gvmd/dependencies.rst +++ /dev/null @@ -1,154 +0,0 @@ -.. tabs:: - .. tab:: Debian - .. code-block:: - :caption: Required dependencies for gvmd - - sudo apt install -y \ - libglib2.0-dev \ - libgnutls28-dev \ - libpq-dev \ - postgresql-server-dev-13 \ - libical-dev \ - xsltproc \ - rsync - - .. code-block:: - :caption: Optional dependencies for gvmd - - sudo apt install -y --no-install-recommends \ - texlive-latex-extra \ - texlive-fonts-recommended \ - xmlstarlet \ - zip \ - rpm \ - fakeroot \ - dpkg \ - nsis \ - gnupg \ - gpgsm \ - wget \ - sshpass \ - openssh-client \ - socat \ - snmp \ - python3 \ - smbclient \ - python3-lxml \ - gnutls-bin \ - xml-twig-tools - - .. tab:: Ubuntu - .. code-block:: - :caption: Required dependencies for gvmd - - sudo apt install -y \ - libglib2.0-dev \ - libgnutls28-dev \ - libpq-dev \ - postgresql-server-dev-14 \ - libical-dev \ - xsltproc \ - rsync - - .. code-block:: - :caption: Optional dependencies for gvmd - - sudo apt install -y --no-install-recommends \ - texlive-latex-extra \ - texlive-fonts-recommended \ - xmlstarlet \ - zip \ - rpm \ - fakeroot \ - dpkg \ - nsis \ - gnupg \ - gpgsm \ - wget \ - sshpass \ - openssh-client \ - socat \ - snmp \ - python3 \ - smbclient \ - python3-lxml \ - gnutls-bin \ - xml-twig-tools - - .. tab:: Fedora - .. code-block:: - :caption: Required dependencies for gvmd - - sudo dnf install -y \ - glib2-devel \ - gnutls-devel \ - postgresql-server-devel \ - libical-devel \ - xsltproc \ - rsync \ - libbsd-devel \ - gpgme-devel - - .. code-block:: - :caption: Optional dependencies for gvmd - - sudo dnf install -y --setopt=install_weak_deps=False \ - texlive-scheme-medium \ - texlive-fontawesome \ - texlive-fontmfizz \ - texlive-fonts-churchslavonic \ - texlive-fontsetup \ - texlive-fontsize \ - texlive-fonttable \ - fontawesome-fonts \ - gnupg2-smime \ - openssh-clients \ - xmlstarlet \ - zip \ - rpm \ - fakeroot \ - dpkg \ - nsis \ - gnupg \ - wget \ - sshpass \ - socat \ - samba-client \ - python3-lxml \ - gnutls-utils \ - perl-XML-Twig - - .. tab:: CentOS - .. code-block:: - :caption: Required dependencies for gvmd - - sudo dnf install -y \ - glib2-devel \ - gnutls-devel \ - postgresql-server-devel \ - libical-devel \ - libxslt \ - rsync \ - libbsd-devel \ - gpgme-devel - - .. code-block:: - :caption: Optional dependencies for gvmd - - sudo dnf install -y --setopt=install_weak_deps=False \ - texlive* \ - gnupg2-smime \ - openssh-clients \ - xmlstarlet \ - zip \ - rpm \ - fakeroot \ - dpkg \ - gnupg \ - wget \ - sshpass \ - socat \ - samba-client \ - python3-lxml \ - gnutls-utils \ - perl-XML-Twig diff --git a/src/21.4/source-build/index.rst b/src/21.4/source-build/index.rst deleted file mode 100644 index c6b2bd0d..00000000 --- a/src/21.4/source-build/index.rst +++ /dev/null @@ -1,147 +0,0 @@ -========================== -Building 21.4 from Source -========================== - -.. include:: /common/source-build/introduction.rst - -.. highlight:: shell-session - -.. include:: /common/source-build/hardware.rst - -.. include:: /common/source-build/prerequisites.rst - -Setting the Version -------------------- - -To make the downloading easier, an environment variable for the desired release -version will be set. Using a variable allows adjusting the version easily after -a new release. - -.. code-block:: - :caption: Setting a GVM version as environment variable - - export GVM_VERSION=21.4.4 - - -Building and Installing the Components -====================================== - -.. note:: - - The components should be build and installed in the listed order. - -gvm-libs --------- - -.. include:: /21.4/source-build/gvm-libs/description.rst -.. include:: /common/source-build/gvm-libs/version.rst -.. include:: /21.4/source-build/gvm-libs/dependencies.rst -.. include:: /common/source-build/gvm-libs/download.rst - -Afterwards, gvm-libs can be build and installed. - -.. include:: /common/source-build/gvm-libs/build.rst - -gvmd ----- - -.. include:: /common/source-build/gvmd/description.rst - -.. code-block:: - :caption: Setting the gvmd version to use - - export GVMD_VERSION=21.4.5 - -.. include:: /21.4/source-build/gvmd/dependencies.rst - -Details about the optional dependencies can be found at -https://github.com/greenbone/gvmd/blob/oldstable/INSTALL.md#prerequisites-for-optional-features - -.. include:: /common/source-build/gvmd/download.rst - -.. include:: /common/source-build/gvmd/build.rst - -Greenbone Security Assistant ----------------------------- - -The Greenbone Security Assistant (GSA) sources consist of two parts: - -* Web server *gsad* -* Web application *GSA* - -GSA ---- - -.. include:: /common/source-build/gsa/description.rst -.. include:: /common/source-build/gsa/version.rst -.. include:: /21.4/source-build/gsa/dependencies.rst -.. include:: /common/source-build/gsa/download.rst -.. include:: /21.4/source-build/gsa/build.rst - -gsad ----- - -.. include:: /common/source-build/gsad/description.rst -.. include:: /common/source-build/gsad/version.rst -.. include:: /common/source-build/gsad/dependencies.rst -.. include:: /common/source-build/gsad/download.rst -.. include:: /common/source-build/gsad/build.rst - -openvas-smb ------------ - -.. include:: /common/source-build/openvas-smb.rst - -openvas-scanner ---------------- - -.. include:: /common/source-build/openvas-scanner/description.rst -.. include:: /common/source-build/openvas-scanner/version.rst -.. include:: /21.4/source-build/openvas-scanner/dependencies.rst -.. include:: /common/source-build/openvas-scanner/download.rst -.. include:: /common/source-build/openvas-scanner/build.rst - -ospd-openvas ------------- - -.. include:: /common/source-build/ospd-openvas/description.rst - -.. code-block:: - :caption: Setting the ospd and ospd-openvas versions to use - - export OSPD_OPENVAS_VERSION=$GVM_VERSION - -.. include:: /21.4/source-build/ospd-openvas/dependencies.rst -.. include:: /common/source-build/ospd-openvas/download.rst -.. include:: /common/source-build/ospd-openvas/build.rst - -gvm-tools ---------- - -.. include:: /common/source-build/gvm-tools/description.rst -.. include:: /common/source-build/gvm-tools/dependencies.rst -.. include:: /common/source-build/gvm-tools/install.rst - -Performing a System Setup -========================= - -.. include:: /common/source-build/redis.rst -.. include:: /21.4/source-build/directory-permissions.rst -.. include:: /common/source-build/sudo-scanning.rst -.. include:: /21.4/source-build/postgres.rst -.. include:: /common/source-build/admin-user.rst -.. include:: /common/source-build/feed-import-owner.rst -.. include:: /21.4/source-build/systemd.rst - -.. include:: /common/source-build/feed-sync.rst -.. include:: /21.4/source-build/feed-sync-vts.rst -.. include:: /common/source-build/feed-sync-other.rst -.. include:: /21.4/source-build/start-services.rst -.. include:: /common/source-build/feed-loading.rst - -.. include:: /21.4/source-build/finish.rst - -.. toctree:: - :hidden: - - troubleshooting diff --git a/src/21.4/source-build/openvas-scanner/dependencies.rst b/src/21.4/source-build/openvas-scanner/dependencies.rst deleted file mode 100644 index bde80e99..00000000 --- a/src/21.4/source-build/openvas-scanner/dependencies.rst +++ /dev/null @@ -1,63 +0,0 @@ -.. tabs:: - .. tab:: Debian/Ubuntu - .. code-block:: - :caption: Required dependencies for openvas-scanner - - sudo apt install -y \ - bison \ - libglib2.0-dev \ - libgnutls28-dev \ - libgcrypt20-dev \ - libpcap-dev \ - libgpgme-dev \ - libksba-dev \ - rsync \ - nmap - - .. code-block:: - :caption: Optional dependencies for openvas-scanner - - sudo apt install -y \ - python3-impacket \ - libsnmp-dev - - .. tab:: Fedora - .. code-block:: - :caption: Required dependencies for openvas-scanner - - sudo dnf install -y \ - bison \ - glib2-devel \ - gnutls-devel \ - libgcrypt-devel \ - libpcap-devel \ - gpgme-devel \ - libksba-devel \ - rsync \ - nmap \ - json-glib-devel \ - libbsd-devel - - .. code-block:: - :caption: Fedora optional dependencies for openvas-scanner - - sudo dnf install -y \ - python3-impacket - - .. tab:: CentOS - .. code-block:: - :caption: Required dependencies for openvas-scanner - - sudo dnf install -y \ - bison \ - glib2-devel \ - gnutls-devel \ - libgcrypt-devel \ - libpcap-devel \ - gpgme-devel \ - libksba-devel \ - rsync \ - nmap \ - json-glib-devel \ - libbsd-devel - diff --git a/src/21.4/source-build/ospd-openvas/dependencies.rst b/src/21.4/source-build/ospd-openvas/dependencies.rst deleted file mode 100644 index 97081ced..00000000 --- a/src/21.4/source-build/ospd-openvas/dependencies.rst +++ /dev/null @@ -1,72 +0,0 @@ -.. tabs:: - .. tab:: Debian - .. code-block:: - :caption: Required dependencies for ospd-openvas - - sudo apt install -y \ - python3 \ - python3-pip \ - python3-setuptools \ - python3-packaging \ - python3-wrapt \ - python3-cffi \ - python3-psutil \ - python3-lxml \ - python3-defusedxml \ - python3-paramiko \ - python3-redis - - .. tab:: Ubuntu - .. code-block:: - :caption: Required dependencies for ospd-openvas - - INSTALL_PREFIX=/usr - sudo apt install -y \ - python3 \ - python3-pip \ - python3-setuptools \ - python3-packaging \ - python3-wrapt \ - python3-cffi \ - python3-psutil \ - python3-lxml \ - python3-defusedxml \ - python3-paramiko \ - python3-redis - - .. tab:: Fedora - .. code-block:: - :caption: Required dependencies for ospd-openvas - - INSTALL_PREFIX=/usr - sudo dnf install -y \ - python3 \ - python3-pip \ - python3-setuptools \ - python3-packaging \ - python3-wrapt \ - python3-cffi \ - python3-psutil \ - python3-lxml \ - python3-defusedxml \ - python3-paramiko \ - python3-redis - - .. tab:: CentOS - .. code-block:: - :caption: Required dependencies for ospd-openvas - - sudo dnf install -y \ - python3 \ - python3-pip \ - python3-setuptools \ - python3-packaging \ - python3-wrapt \ - python3-cffi \ - python3-psutil \ - python3-lxml \ - python3-defusedxml \ - python3-paramiko \ - python3-redis \ - python3-wheel - diff --git a/src/21.4/source-build/postgres.rst b/src/21.4/source-build/postgres.rst deleted file mode 100644 index acb432a9..00000000 --- a/src/21.4/source-build/postgres.rst +++ /dev/null @@ -1,63 +0,0 @@ -Setting up PostgreSQL ---------------------- - -The `PostgreSQL `_ database management system is -used as a central storage for user and scan information. *gvmd* connects to -a PostgreSQL database and queries the data. This database must be created -and configured. - -.. tabs:: - .. tab:: Debian/Ubuntu - .. code-block:: - :caption: Installing the PostgreSQL server - - sudo apt install -y postgresql - - .. tab:: Fedora/CentOS - .. code-block:: - :caption: Installing the PostgreSQL server - - sudo dnf install -y postgresql-server postgresql-contrib - -If necessary the PostgreSQL database server needs to be started manually - -.. tabs:: - .. tab:: Debian - .. code-block:: - :caption: Starting the PostgreSQL database server - - sudo systemctl start postgresql@13-main - - .. tab:: Ubuntu - .. code-block:: - :caption: Starting the PostgreSQL database server - - sudo systemctl start postgresql@14-main - - .. tab:: Fedora/CentOS - .. code-block:: - :caption: Starting the PostgreSQL database server - - sudo postgresql-setup --initdb --unit postgresql - sudo systemctl start postgresql - -.. code-block:: - :caption: Setting up PostgreSQL user and database - - sudo -u postgres bash - createuser -DRS gvm - createdb -O gvm gvmd - exit - -.. code-block:: - :caption: Setting up database permissions and extensions - - sudo -u postgres bash - psql gvmd - create role dba with superuser noinherit; - grant dba to gvm; - - create extension "uuid-ossp"; - create extension "pgcrypto"; - exit - exit diff --git a/src/21.4/source-build/start-services.rst b/src/21.4/source-build/start-services.rst deleted file mode 100644 index b82b88ee..00000000 --- a/src/21.4/source-build/start-services.rst +++ /dev/null @@ -1,34 +0,0 @@ -Starting the Greenbone Community Edition Services -------------------------------------------------- - -.. important:: - - When the feed content has been downloaded, the new data must be loaded by - the corresponding daemons. This may take several minutes up to hours, especially - for the initial loading of the data. Without loaded data, scans will contain - incomplete and erroneous results. - -After starting the Greenbone Community Edition services via systemd, the running -daemons will pick up the feed content and load the data automatically. - -.. warning:: - - Please be aware that even if the :command:`systemctl start` commands are returning - immediately, the **first startup** of the services may take several minutes - or even hours! - -.. code-block:: - :caption: Finally starting the services - - sudo systemctl start ospd-openvas - sudo systemctl start gvmd - sudo systemctl start gsad - - -.. code-block:: - :caption: Checking the status of the services - - sudo systemctl status ospd-openvas - sudo systemctl status gvmd - sudo systemctl status gsad - diff --git a/src/21.4/source-build/systemd.rst b/src/21.4/source-build/systemd.rst deleted file mode 100644 index 0453eaf9..00000000 --- a/src/21.4/source-build/systemd.rst +++ /dev/null @@ -1,113 +0,0 @@ -Setting up Services for *Systemd* ---------------------------------- - -`Systemd `_ is used to start the daemons *ospd-openvas*, -*gvmd* and *gsad*. Therefore, service files are required. - -.. code-block:: none - :caption: Systemd service file for ospd-openvas - - cat << EOF > $BUILD_DIR/ospd-openvas.service - [Unit] - Description=OSPd Wrapper for the OpenVAS Scanner (ospd-openvas) - Documentation=man:ospd-openvas(8) man:openvas(8) - After=network.target networking.service redis-server@openvas.service - Wants=redis-server@openvas.service - ConditionKernelCommandLine=!recovery - - [Service] - Type=forking - User=gvm - Group=gvm - RuntimeDirectory=ospd - RuntimeDirectoryMode=2775 - PIDFile=/run/ospd/ospd-openvas.pid - ExecStart=/usr/local/bin/ospd-openvas --unix-socket /run/ospd/ospd-openvas.sock --pid-file /run/ospd/ospd-openvas.pid --log-file /var/log/gvm/ospd-openvas.log --lock-file-dir /var/lib/openvas --socket-mode 0o770 - SuccessExitStatus=SIGKILL - Restart=always - RestartSec=60 - - [Install] - WantedBy=multi-user.target - EOF - -.. code-block:: - :caption: Install systemd service file for ospd-openvas - - sudo cp $BUILD_DIR/ospd-openvas.service /etc/systemd/system/ - -.. code-block:: none - :caption: Systemd service file for gvmd - - cat << EOF > $BUILD_DIR/gvmd.service - [Unit] - Description=Greenbone Vulnerability Manager daemon (gvmd) - After=network.target networking.service postgresql.service ospd-openvas.service - Wants=postgresql.service ospd-openvas.service - Documentation=man:gvmd(8) - ConditionKernelCommandLine=!recovery - - [Service] - Type=forking - User=gvm - Group=gvm - PIDFile=/run/gvmd/gvmd.pid - RuntimeDirectory=gvmd - RuntimeDirectoryMode=2775 - ExecStart=/usr/local/sbin/gvmd --osp-vt-update=/run/ospd/ospd-openvas.sock --listen-group=gvm - Restart=always - TimeoutStopSec=10 - - [Install] - WantedBy=multi-user.target - EOF - -.. code-block:: - :caption: Install systemd service file for gvmd - - sudo cp $BUILD_DIR/gvmd.service /etc/systemd/system/ - -.. code-block:: none - :caption: Systemd service file for gsad - - cat << EOF > $BUILD_DIR/gsad.service - [Unit] - Description=Greenbone Security Assistant daemon (gsad) - Documentation=man:gsad(8) https://www.greenbone.net - After=network.target gvmd.service - Wants=gvmd.service - - [Service] - Type=exec - User=gvm - Group=gvm - RuntimeDirectory=gsad - RuntimeDirectoryMode=2775 - PIDFile=/run/gsad/gsad.pid - ExecStart=/usr/local/sbin/gsad --foreground --listen=127.0.0.1 --port=9392 --http-only - Restart=always - TimeoutStopSec=10 - - [Install] - WantedBy=multi-user.target - Alias=greenbone-security-assistant.service - EOF - -.. code-block:: - :caption: Install systemd service file for gsad - - sudo cp $BUILD_DIR/gsad.service /etc/systemd/system/ - -Afterwards, the services need to be activated and started. - -.. code-block:: - :caption: Making systemd aware of the new service files - - sudo systemctl daemon-reload - -.. code-block:: - :caption: Ensuring services are run at every system startup - - sudo systemctl enable ospd-openvas - sudo systemctl enable gvmd - sudo systemctl enable gsad diff --git a/src/21.4/source-build/troubleshooting.md b/src/21.4/source-build/troubleshooting.md deleted file mode 100644 index c7133b72..00000000 --- a/src/21.4/source-build/troubleshooting.md +++ /dev/null @@ -1,4 +0,0 @@ -## Troubleshooting - -```{include} /common/source-build/troubleshooting.md -``` diff --git a/src/changelog.md b/src/changelog.md index 69fb48d4..b5ca87f8 100644 --- a/src/changelog.md +++ b/src/changelog.md @@ -8,6 +8,8 @@ and this project adheres to [Calendar Versioning](https://calver.org). ## Latest * Set `table_drive_lsc = yes` setting for openvas scanner to enable local security checks scanning via notus scanner +* Remove docs for 21.04 because it is end-of-life and wont get any updates + anymore. ## 23.1.0 - 23-01-13 * Fix installing ospd-openvas and notus-scanner on Debian 11 diff --git a/src/common/source-build/gvm-libs/version.rst b/src/common/source-build/gvm-libs/version.rst deleted file mode 100644 index 7082a260..00000000 --- a/src/common/source-build/gvm-libs/version.rst +++ /dev/null @@ -1,5 +0,0 @@ -.. code-block:: - :caption: Setting the gvm-libs version to use - - export GVM_LIBS_VERSION=$GVM_VERSION - diff --git a/src/index.rst b/src/index.rst index 6b840c48..35cc3025 100644 --- a/src/index.rst +++ b/src/index.rst @@ -19,7 +19,7 @@ issues and incomplete functionality may appear. The sources of the Greenbone Community Edition are adopted by third parties, for example Linux distributions like Kali, Alpine, etc. -This documentation covers the stable (22.4) and the oldstable (21.4) version of the Greenbone Community +This documentation covers the stable (22.4) version of the Greenbone Community Edition. .. image:: _static/greenbone-banner.png @@ -29,9 +29,7 @@ Edition. background 22.4/source-build/index - 21.4/source-build/index 22.4/container/index - 21.4/container/index faq glossary changelog