This commit is contained in:
2025-11-18 21:02:59 +01:00
commit 967226295e
3 changed files with 765 additions and 0 deletions

713
nginx.pp Normal file
View File

@@ -0,0 +1,713 @@
class nginx {
# 1. Software-Pakete sicherstellen
# Eine Liste von Paketen, die installiert sein sollen.
$packages = [
adduser,
apparmor,
apport,
apport-symptoms,
apt,
apt-utils,
augeas-lenses,
base-files,
base-passwd,
bash,
bash-completion,
bc,
bcache-tools,
bind9-dnsutils,
bind9-host,
bind9-libs,
binutils,
binutils-common,
binutils-x86-64-linux-gnu,
bolt,
bsdextrautils,
bsdutils,
btrfs-progs,
build-essential,
busybox-initramfs,
busybox-static,
byobu,
bzip2,
ca-certificates,
cloud-guest-utils,
cloud-init,
cloud-initramfs-copymods,
cloud-initramfs-dyn-netconf,
command-not-found,
console-setup,
console-setup-linux,
coreutils,
cpio,
cpp,
cpp-11,
cron,
cryptsetup,
cryptsetup-bin,
cryptsetup-initramfs,
curl,
dash,
dbus,
dbus-user-session,
debconf,
debconf-i18n,
debconf-utils,
debianutils,
diffutils,
dirmngr,
distro-info,
distro-info-data,
dmeventd,
dmidecode,
dmsetup,
dosfstools,
dpkg,
dpkg-dev,
e2fsprogs,
eatmydata,
ed,
eject,
ethtool,
facter,
fakeroot,
fdisk,
file,
finalrd,
findutils,
fontconfig-config,
fonts-dejavu-core,
fonts-lato,
fonts-ubuntu-console,
friendly-recovery,
ftp,
fuse3,
fwupd-signed,
'g++',
'g++-11',
gawk,
gcc,
gcc-11,
gcc-11-base,
gcc-12-base,
gdisk,
gettext-base,
'gir1.2-glib-2.0',
'gir1.2-packagekitglib-1.0',
git,
git-man,
gnupg,
gnupg-l10n,
gnupg-utils,
gpg,
gpg-agent,
gpg-wks-client,
gpg-wks-server,
gpgconf,
gpgsm,
gpgv,
grep,
groff-base,
gzip,
hdparm,
hiera,
hostname,
htop,
info,
init,
init-system-helpers,
initramfs-tools,
initramfs-tools-bin,
initramfs-tools-core,
install-info,
iproute2,
iptables,
iputils-ping,
iputils-tracepath,
irqbalance,
isc-dhcp-client,
isc-dhcp-common,
iso-codes,
javascript-common,
kbd,
keyboard-configuration,
klibc-utils,
kmod,
kpartx,
landscape-common,
less,
libacl1,
libaio1,
libalgorithm-diff-perl,
libalgorithm-diff-xs-perl,
libalgorithm-merge-perl,
libapparmor1,
libappstream4,
'libapt-pkg6.0',
libarchive13,
libargon2-1,
libasan6,
libassuan0,
libatasmart4,
libatm1,
libatomic1,
libattr1,
libaudit-common,
libaudit1,
libaugeas0,
libbinutils,
libblkid1,
libblockdev-crypto2,
libblockdev-fs2,
libblockdev-loop2,
libblockdev-part-err2,
libblockdev-part2,
libblockdev-swap2,
libblockdev-utils2,
libblockdev2,
'libboost-filesystem1.74.0',
'libboost-locale1.74.0',
'libboost-log1.74.0',
'libboost-nowide1.74.0',
'libboost-program-options1.74.0',
'libboost-regex1.74.0',
'libboost-thread1.74.0',
libbpf0,
libbrotli1,
libbsd0,
'libbz2-1.0',
libc-bin,
libc-dev-bin,
libc-devtools,
libc6,
libc6-dev,
libcap-ng0,
libcap2,
libcap2-bin,
'libcbor0.8',
libcc1-0,
libcom-err2,
'libcpp-hocon0.3.0',
libcrypt-dev,
libcrypt1,
libcryptsetup12,
libctf-nobfd0,
libctf0,
libcurl3-gnutls,
libcurl4,
'libdb5.3',
libdbus-1-3,
libdebconfclient0,
libdeflate0,
'libdevmapper-event1.02.1',
'libdevmapper1.02.1',
libdns-export1110,
libdpkg-perl,
libdrm-common,
libdrm2,
libdw1,
libeatmydata1,
libedit2,
libefiboot1,
libefivar1,
libelf1,
liberror-perl,
libestr0,
'libevent-core-2.1-7',
libexpat1,
libext2fs2,
'libfacter3.14.12',
libfakeroot,
libfastjson4,
libfdisk1,
libffi8,
libfido2-1,
libfile-fcntllock-perl,
libflashrom1,
libfontconfig1,
libfreetype6,
libfribidi0,
libftdi1-2,
libfuse3-3,
libfwupd2,
libfwupdplugin5,
'libgcab-1.0-0',
libgcc-11-dev,
libgcc-s1,
libgcrypt20,
libgd3,
libgdbm-compat4,
libgdbm6,
'libgirepository-1.0-1',
'libglib2.0-0',
'libglib2.0-bin',
'libglib2.0-data',
libgmp10,
libgnutls30,
libgomp1,
libgpg-error0,
libgpgme11,
libgpm2,
libgssapi-krb5-2,
'libgstreamer1.0-0',
'libgudev-1.0-0',
libgusb2,
libhogweed6,
libicu70,
libidn2-0,
libinih1,
libintl-perl,
libintl-xs-perl,
libip4tc2,
libip6tc2,
libisc-export1105,
libisl23,
libisns0,
libitm1,
libjansson4,
libjbig0,
libjcat1,
libjpeg-turbo8,
libjpeg8,
libjs-jquery,
libjson-c5,
'libjson-glib-1.0-0',
'libjson-glib-1.0-common',
libk5crypto3,
libkeyutils1,
libklibc,
libkmod2,
libkrb5-3,
libkrb5support0,
libksba8,
'libldap-2.5-0',
libldap-common,
'libleatherman1.12.1',
liblmdb0,
liblocale-gettext-perl,
liblsan0,
'liblvm2cmd2.03',
liblz4-1,
liblzma5,
liblzo2-2,
libmagic-mgc,
libmagic1,
libmaxminddb0,
libmbim-glib4,
libmbim-proxy,
libmd0,
libmm-glib0,
libmnl0,
libmodule-find-perl,
libmodule-scandeps-perl,
libmount1,
libmpc3,
libmpdec3,
libmpfr6,
libmspack0,
libncurses6,
libncursesw6,
libnetfilter-conntrack3,
libnetplan0,
libnettle8,
'libnewt0.52',
libnfnetlink0,
libnftables1,
libnftnl11,
libnghttp2-14,
libnginx-mod-http-geoip2,
libnginx-mod-http-image-filter,
libnginx-mod-http-xslt-filter,
libnginx-mod-mail,
libnginx-mod-stream,
libnginx-mod-stream-geoip2,
libnl-3-200,
libnl-genl-3-200,
libnpth0,
libnsl-dev,
libnsl2,
libnspr4,
libnss-systemd,
libnss3,
libntfs-3g89,
libnuma1,
libopeniscsiusr,
libp11-kit0,
libpackagekit-glib2-18,
libpam-cap,
libpam-modules,
libpam-modules-bin,
libpam-runtime,
libpam-systemd,
libpam0g,
libparted-fs-resize0,
libparted2,
'libpcap0.8',
libpci3,
libpcre2-8-0,
libpcre3,
'libperl5.34',
libpipeline1,
libplymouth5,
libpng16-16,
libpolkit-agent-1-0,
libpolkit-gobject-1-0,
libpopt0,
libproc-processtable-perl,
libprocps8,
libpsl5,
libpython2-stdlib,
'libpython2.7-minimal',
'libpython2.7-stdlib',
'libpython3-stdlib',
'libpython3.10',
'libpython3.10-minimal',
'libpython3.10-stdlib',
libqmi-glib5,
libqmi-proxy,
libquadmath0,
libreadline8,
librtmp1,
'libruby3.0',
libsasl2-2,
libsasl2-modules,
libsasl2-modules-db,
libseccomp2,
libselinux1,
libsemanage-common,
libsemanage2,
libsepol2,
libsgutils2-2,
libsigsegv2,
libslang2,
libsmartcols1,
libsmbios-c2,
libsodium23,
libsort-naturally-perl,
libsqlite3-0,
libss2,
libssh-4,
libssl3,
'libstdc++-11-dev',
'libstdc++6',
libstemmer0d,
libsystemd0,
libtasn1-6,
'libtcl8.6',
libterm-readkey-perl,
libtext-charwidth-perl,
libtext-iconv-perl,
libtext-wrapi18n-perl,
libtiff5,
libtinfo6,
libtirpc-common,
libtirpc-dev,
libtirpc3,
libtsan0,
'libtss2-esys-3.0.2-0',
libtss2-mu0,
libtss2-sys1,
libtss2-tcti-cmd0,
libtss2-tcti-device0,
libtss2-tcti-mssim0,
libtss2-tcti-swtpm0,
libubsan1,
libuchardet0,
libudev1,
libudisks2-0,
libunistring2,
libunwind8,
liburcu8,
'libusb-1.0-0',
libutempter0,
libuuid1,
libuv1,
libvolume-key1,
libwebp7,
libwrap0,
libx11-6,
libx11-data,
libxau6,
libxcb1,
libxdmcp6,
libxext6,
libxml2,
libxmlb2,
libxmlsec1,
libxmlsec1-openssl,
libxmuu1,
libxpm4,
'libxslt1.1',
libxtables12,
libxxhash0,
libyaml-0-2,
'libyaml-cpp0.7',
libzstd1,
linux-base,
linux-libc-dev,
locales,
login,
logrotate,
logsave,
lsb-base,
lsb-release,
lshw,
lsof,
lto-disabled-list,
lvm2,
lxd-agent-loader,
make,
man-db,
manpages,
manpages-dev,
mawk,
mdadm,
media-types,
motd-news-config,
mount,
mtr-tiny,
multipath-tools,
nano,
ncurses-base,
ncurses-bin,
ncurses-term,
needrestart,
netbase,
netcat-openbsd,
'netplan.io',
networkd-dispatcher,
nftables,
nginx,
nginx-common,
nginx-core,
ntfs-3g,
open-iscsi,
open-vm-tools,
openssh-client,
openssh-server,
openssh-sftp-server,
openssl,
overlayroot,
packagekit,
packagekit-tools,
parted,
passwd,
pastebinit,
patch,
'pci.ids',
pciutils,
perl,
perl-base,
'perl-modules-5.34',
pinentry-curses,
pkexec,
plymouth,
plymouth-theme-ubuntu-text,
policykit-1,
polkitd,
pollinate,
powermgmt-base,
procps,
psmisc,
publicsuffix,
puppet,
python-apt-common,
python-babel-localedata,
python-pip,
python-pkg-resources,
python-setuptools,
python2,
python2-minimal,
'python2.7',
'python2.7-minimal',
python3,
python3-apport,
python3-apt,
python3-attr,
python3-automat,
python3-babel,
python3-bcrypt,
python3-blinker,
python3-certifi,
python3-cffi-backend,
python3-chardet,
python3-click,
python3-colorama,
python3-commandnotfound,
python3-configobj,
python3-constantly,
python3-cryptography,
python3-dbus,
python3-debconf,
python3-debian,
python3-distro,
python3-distro-info,
python3-distupgrade,
python3-distutils,
python3-gdbm,
python3-gi,
python3-hamcrest,
python3-httplib2,
python3-hyperlink,
python3-idna,
python3-importlib-metadata,
python3-incremental,
python3-jeepney,
python3-jinja2,
python3-json-pointer,
python3-jsonpatch,
python3-jsonschema,
python3-jwt,
python3-keyring,
python3-launchpadlib,
'python3-lazr.restfulclient',
'python3-lazr.uri',
python3-lib2to3,
python3-magic,
python3-markupsafe,
python3-minimal,
python3-more-itertools,
python3-netifaces,
python3-newt,
python3-oauthlib,
python3-openssl,
python3-packaging,
python3-pexpect,
python3-pkg-resources,
python3-problem-report,
python3-ptyprocess,
python3-pyasn1,
python3-pyasn1-modules,
python3-pyparsing,
python3-pyrsistent,
python3-requests,
python3-secretstorage,
python3-serial,
python3-service-identity,
python3-setuptools,
python3-six,
python3-software-properties,
python3-systemd,
python3-twisted,
python3-tz,
python3-update-manager,
python3-urllib3,
python3-wadllib,
python3-yaml,
python3-zipp,
'python3-zope.interface',
'python3.10',
'python3.10-minimal',
rake,
readline-common,
rpcsvc-proto,
rsync,
rsyslog,
ruby,
ruby-augeas,
ruby-deep-merge,
ruby-net-telnet,
ruby-rbtree,
ruby-rubygems,
ruby-selinux,
ruby-shadow,
ruby-sorted-set,
ruby-webrick,
ruby-xmlrpc,
'ruby3.0',
rubygems-integration,
run-one,
sbsigntool,
screen,
secureboot-db,
sed,
sensible-utils,
sg3-utils,
sg3-utils-udev,
shared-mime-info,
snapd,
software-properties-common,
sosreport,
squashfs-tools,
ssh-import-id,
strace,
sudo,
systemd,
systemd-hwe-hwdb,
systemd-sysv,
systemd-timesyncd,
sysvinit-utils,
tar,
tcl,
'tcl8.6',
tcpdump,
telnet,
thin-provisioning-tools,
time,
tmux,
tnftp,
tpm-udev,
tzdata,
ubuntu-advantage-tools,
ubuntu-keyring,
ubuntu-minimal,
ubuntu-pro-client,
ubuntu-pro-client-l10n,
ubuntu-release-upgrader-core,
ubuntu-server,
ubuntu-standard,
ucf,
udev,
ufw,
unattended-upgrades,
unzip,
update-manager-core,
update-notifier-common,
usb-modeswitch,
usb-modeswitch-data,
'usb.ids',
usbutils,
usrmerge,
util-linux,
uuid-runtime,
vim,
vim-common,
vim-runtime,
vim-tiny,
wget,
whiptail,
xauth,
xdg-user-dirs,
xfsprogs,
xkb-data,
xxd,
xz-utils,
zerofree,
zip,
zlib1g,
zstd,
]
package { $packages:
ensure => 'installed',
}
# 2. Dienst-Zustand sicherstellen
# Stellt sicher, dass der nginx-Dienst läuft.
service { 'nginx':
ensure => 'running',
enable => true,
require => Package['nginx'],
}
# 3. index.html-Datei erstellen und verwalten
file { '/var/www/html/index.html':
ensure => 'file',
owner => 'www-data',
group => 'www-data',
mode => '0644',
content => "<h1>Hello World</h1>\n<p>Diese Seite wird von Puppet verwaltet.</p>\n",
require => Package['nginx'],
}
}