Neuer StratoServer: Unterschied zwischen den Versionen

Aus Wiki schlicker.org
Zur Navigation springen Zur Suche springen
Zeile 198: Zeile 198:
 
==== Apache konfigurieren und VHosts erstellen ====
 
==== Apache konfigurieren und VHosts erstellen ====
  
 
+
<pre>
 +
cat > /etc/httpd/conf.d/letsencrypt.conf << __EOF__
 
Alias /.well-known/acme-challenge/ /var/www/html/.well-known/acme-challenge/
 
Alias /.well-known/acme-challenge/ /var/www/html/.well-known/acme-challenge/
 
<Directory "/var/www/html/.well-known/acme-challenge/">
 
<Directory "/var/www/html/.well-known/acme-challenge/">
Zeile 206: Zeile 207:
 
       RedirectMatch 404 "^(?!/\.well-known/acme-challenge/[\w-]{43}$)"
 
       RedirectMatch 404 "^(?!/\.well-known/acme-challenge/[\w-]{43}$)"
 
</Directory>
 
</Directory>
 +
__EOF__
 +
 +
cat > /etc/httpd/conf.d/namevirtualhost.conf << __EOF__
 +
NameVirtualHost 1.IP:80
 +
NameVirtualHost 2.IP:80
 +
 +
__EOF__
 +
 +
systemctl restart httpd
 +
</pre>

Version vom 28. Dezember 2022, 13:20 Uhr

Einen neuen Server bei Strato einrichten

Installation bei Strato

Bei Strato über den Installationsassistent wird ein neuer Server installiert. Dazu bei "Experten-Einsatz" das Betriebsystem "AlmaLinux 9" auswählen, das neue root-Password und die Sprache "deutsch" festlegen und mit einer minimalen Partitionierung den Server installieren.

Nach ca. 30min ist dann das neue System installiert und per ssh über die in der Strato-Oberfläche angegebene Primäre IP erreichbar

AlmaLinux 9 zu Rocky Linux 9

Da ich mehr mit Rocky Linux vertraut bin, wechseln wir gleich nach der Erst-Installtion das Betriebsystem.

# System aktualisieren
dnf -y update
dnf -y upgrade

cd /usr/local/src/
dnf install wget

# die wichtigen Dateien für RockyLinux herunterladen 
wget https://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r/rocky-gpg-keys-9.1-1.11.el9.noarch.rpm 
wget https://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r/rocky-release-9.1-1.11.el9.noarch.rpm
wget https://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r/rocky-repos-9.1-1.11.el9.noarch.rpm

# Alle Pakete identifizieren, die AlmaLinux-typisch sind und diese löschen
rpm -qa|grep alma
rpm -e --nodpes almalinux-gpg-keys-9.1-1.9.el9.x86_64 almalinux-release-9.1-1.9.el9.x86_64 almalinux-repos-9.1-1.9.el9.x86_64
rpm -e --nodeps almalinux-gpg-keys-9.1-1.9.el9.x86_64 almalinux-release-9.1-1.9.el9.x86_64 almalinux-repos-9.1-1.9.el9.x86_64

# Anschließend die vorher heruntergeladenen RockyLinux-RPMs installieren
rpm -Uvh *

# Überprüfen, ob noch AlsaLinux-Datein vorhanden sind
rpm -qa|grep -i alsa

# System ist nun auf RockyLinux 
cat /etc/os-release 
NAME="Rocky Linux"
VERSION="9.1 (Blue Onyx)"
ID="rocky"
ID_LIKE="rhel centos fedora"
VERSION_ID="9.1"
PLATFORM_ID="platform:el9"
PRETTY_NAME="Rocky Linux 9.1 (Blue Onyx)"
ANSI_COLOR="0;32"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:rocky:rocky:9::baseos"
HOME_URL="https://rockylinux.org/"
BUG_REPORT_URL="https://bugs.rockylinux.org/"
ROCKY_SUPPORT_PRODUCT="Rocky-Linux-9"
ROCKY_SUPPORT_PRODUCT_VERSION="9.1"
REDHAT_SUPPORT_PRODUCT="Rocky Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="9.1"

sshd einrichten

Zuerst wird ein neuer User angelegt

useradd -u 1000 -c "Karl's Admin Account" -m ktsadmin
passwd ktsadmin

anschließend wird die Datei /etc/ssh/sshd_config angepasst

dnf install -y vim
vim /etc/ssh/sshd_config
  PORT 9999
  PermitRootLogin no
systemctl restart sshd

2.IP und IPV6 einrichten

Als erstes wird per NetworkManager eine 2. IP-Adresse konfiguriert und auch gleich die IPv6-IP aktiviert.

NetworkManager Konfigurationsdatei erstellen

vim /etc/NetworkManager/system-connection/Ethernet1.nmconnection
[connection]
id=Ethernet1
uuid=036aca4a-4251-4568-bce8-c2657ff311fe
type=ethernet
interface-name=eno1
timestamp=1672147920

[ethernet]

[ipv4]
address1=85.214.25.70/32,85.214.25.1
address2=85.214.91.231/32
dns=8.8.8.8;8.8.4.4;
method=manual

[ipv6]
address1=2a01:238:42ec:2f00:b821:b19c:85d0:1f03/64,fe80::1
dns=2001:4860:4860::8888;2001:4860:4860::8844;
method=manual

[proxy]

und mit

systemctl restart NetworkManager

aktiviert.

ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 0c:c4:7a:c3:01:93 brd ff:ff:ff:ff:ff:ff
    altname enp0s25
3: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 0c:c4:7a:c3:01:92 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 85.214.91.231/32 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
    inet 85.214.25.70/32 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
    inet6 2a01:238:42ec:2f00:b821:b19c:85d0:1f03/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::ec4:7aff:fec3:192/64 scope link 
       valid_lft forever preferred_lft forever

IP Forwarding aktivieren

vim /etc/sysctl.d/10-ipforward.conf
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding=1

Webmin mit SSL-Zertifikat (Letsencrypt)

Benötigte RPMs für webmin installieren

cd /usr/local/src
dnf  -y install epel-release
dnf -y install perl-lib perl-Encode-Detect perl-open
# webmin herunterladen
wget https://downloads.sourceforge.net/project/webadmin/webmin/2.010/webmin-2.010-1.noarch.rpm?
rpm -Uvh webmin
# anschließend webmin anpassen, auf 2. IP-Adresse binden und ssl erst mal auschalten
vim /etc/webmin/miniserv.conf

  bind=85.214.91.231
  ssl=0

systemctl restart webmin

nun läuft Webmin auf der 2.IP über http (http://2ip:10000)

Letsencrypt installieren

dnf install -y snapd
systemctl restart snapd
snap install core
snap refresh core
ln -s /var/lib/snapd/snap /snap
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot

damit ist das Letsencrypt-Tool certbot installiert.

Da für die Letsencrypt-Zertifikatserstellung ein laufender Webserver (Apache) vorausgesetzt wird, muss dieser zuerst installiert und konfiguriert werden.

Apache und PHP installieren

Dazu erst mal die REPOs von RPMFusion und Remi hinzufügen

wget https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm
wget https://mirrors.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm
rpm -Uvh rpmfusion*.rpm
dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm

dnf module reset php
dnf module install php:remi-8.2
dnf install httpd
systemctl restart httpd

Apache konfigurieren und VHosts erstellen

cat > /etc/httpd/conf.d/letsencrypt.conf << __EOF__
Alias /.well-known/acme-challenge/ /var/www/html/.well-known/acme-challenge/
<Directory "/var/www/html/.well-known/acme-challenge/">
     Options None
     AllowOverride None
     ForceType text/plain
      RedirectMatch 404 "^(?!/\.well-known/acme-challenge/[\w-]{43}$)"
</Directory>
__EOF__

cat > /etc/httpd/conf.d/namevirtualhost.conf << __EOF__
NameVirtualHost 1.IP:80
NameVirtualHost 2.IP:80

__EOF__

systemctl restart httpd