|
⇤ ← Revision 1 vom 2012-08-31 14:13:31
Größe: 964
Kommentar:
|
Größe: 6985
Kommentar:
|
| Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
| Zeile 29: | Zeile 29: |
== Content Server - Nextcloud AIO == ==== Erstellen der VM ==== Das Grundgerüst besteht aus einem Debian 13 (Trixie) Betriebsystem. Gerne OHNE UI um Perfomance zu sparen. Für einen Erstellung einer VM für ca. '''50''' User wird empfohlen: Speicherplatz: Hierbei wird langsamer und schneller Speicher eingebunden An schnellem Speicher sollten '''80'''GB zur Verfügung zu stehen. An langsamen Speicher sollte es '''200'''GB und '''400'''GB jeweils geben. Arbeitsspeicher: Hierbei wird '''10240'''MB empfohlen. CPU: Hier werden '''8''' Kerne empfohlen. Der Server sollte im Netzwerk von dem Tjener bereit stehen. ==== Installation Docker ==== Um Docker zu installieren müssen sie die folgenden Schritte beachten: Ersteinmal muss der offizielle GPG key hinzugefügt werden, danach wird wird da Repository den Apt-sources zugefügt. {{{ # Add Docker's official GPG key: sudo apt update sudo apt install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc # Add the repository to Apt sources: sudo tee /etc/apt/sources.list.d/docker.sources <<EOF Types: deb URIs: https://download.docker.com/linux/ubuntu Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") Components: stable Architectures: $(dpkg --print-architecture) Signed-By: /etc/apt/keyrings/docker.asc EOF sudo apt update }}} Jetzt installieren wir Docker: {{{ sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin }}} Nachdem wir das installieren haben, verifizieren wir einmal das Docker läuft. {{{ sudo systemctl status docker }}} ==== Installation Nginx ==== ==== Installation Nextcloud-AIO ==== Zum Installieren nutzen wir https://github.com/nextcloud/all-in-one Dies Installieren wir über ein Bash Script welches wie folgend aussieht. {{{ #!/bin/bash #Auf der gefundenen IP-Adresse soll der Server dann erreichbar sein server_ipadress=$(ip route get 1.1.1.1 | grep -oP 'src \K[^ ]+') #Variable zum editieren der config.php Datei um Beispiel Dateien bei neuen Usern zu verhindern datei="/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/config/config.php" #Variable welche das Wort enthält welches vor dem neu Eingefügten Text steht suchzeile="'installed'" #Diese Zeile verhindert das Beispiel Dateien bei neuen Usern erstellt werden. einfuegtext="'skeletondirectory' => ''," if ! command -v docker &> /dev/null; then echo "Docker nicht installiert, installiere Docker." sudo apt-get update -y sudo apt-get install -y docker.io docker-compose else echo "Docker bereits installiert" fi #weitere Einstellungen die man vornehmen kann, diese benoetigen wir aber nicht #--dns=1.1.1.1 \ #--dns=8.8.8.8 \ #-e AIO_CONTAINER_REGISTRY="docker.io" \ #-e BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6" \ #-e AIO_DISABLE_BACKUP_SECTION=false \ docker run \ --detach \ --init \ --sig-proxy=false \ --name nextcloud-aio-mastercontainer \ --restart always \ --publish 8080:8080 \ --env APACHE_PORT=35460 \ -e SKIP_DOMAIN_VALIDATION=true \ --env NEXTCLOUD_DATADIR="/srv/nextcloud_data/" \ --env NEXTCLOUD_MOUNT="/mnt/" \ --env NEXTCLOUD_MEMORY_LIMIT=2048M \ --env NEXTCLOUD_UPLOAD_LIMIT=5G \ --env NEXTCLOUD_MAX_TIME=3600 \ --env COMPASS_MAX_DAYS=30 \ --env NEXTCLOUD_KEEP_DISABLED_APPS=true \ --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \ --volume /var/run/docker.sock:/var/run/docker.sock:ro \ nextcloud/all-in-one:latest echo "Öffne jetzt im Browser: https://${server_ipadress}:8080 und stelle diesen weiter ein" echo "danach werde weitere Anpassungen durchgeführt" #wartet auf nextcloud_aio_nextcloud container um direkt die Beispiel Dateien auszustellen container_name="nextcloud-aio-nextcloud" while [ "$(sudo docker inspect -f '{{.State.Running}}' $container_name 2>/dev/null)" != "true" ]; do echo -n "." sleep 10 done while [ ! -s "$datei" ]; do echo -n "_" sleep 2 done sleep 10 echo "${container_name} ist gestartet, änderung in der config werden vorgenomen:" #Gibt es die Config Datei? Verifiziert dies if [ ! -f "$datei" ]; then echo "fehler, die config datei wurde nicht gefunden" exit 1 fi #Gibt es die gesuchte Zeile? Verifiziert dies if ! grep -q "$suchzeile" "$datei"; then echo "fehler, die suchzeile wurde nicht in der config gefunden" exit 1 fi #Wenn die Datei, sowie die Zeile gefunden worden ist, wird die Zeile eingefügt, welche das erstellen der Beispiel Dateien verhindert sed -i "/'installed' => true/a \ $einfuegtext" "$datei" echo "ist eingefügt" }}} Jetzt sollte im Terminal stehen bei welcher IP-Adresse Sie sich einloggen können, um weitere Einstellungen vorzunehmen. Bitte beachte das das Skript immernoch läuft, sobald die erste Einstellung abgeschlossen ist werden weitere Einstellungen von diesem Skript an deiner Nextcloud instanz vorgenommen. ==== Installation Hpb ==== Das ist ein Einfaches Setup für Nextcloud Hochleistungsbackend, Signaling & Collabora Office für Debian 13. Dies wird auf einem externen Server z.B. bei Hetzner installiert um Datensicherheit bei den Backups zu gewährleisten. Collabora Office wird hier mit installiert um die Ressourcen zu schonen und die Perfomance von Nextcloud zu verbessern. ==== Installation Nextcloud Apps ==== Um Nextcloud so zu benutzen wie wir das wollen installieren wir weitere sog. App's um die Funktionen zu erweitern. Installiert werden diese unter den admin > Apps. Bitte installiere: LDAP user and group backend – User können sich mit den ldap benutzern anmelden External Storage Support – Externer Storage Big Blue Button integration – Meetings abhalten Custom CSS – Design anpassen |
Installation ITZkS Content-Server
Inhaltsverzeichnis
Diese Seite befindet sich im Aufbau
Boot-Verzögerung bei Stromausfall
Debian Edu System setzen beim Systemstart einen erreichbaren Hauptserver voraus. Für Debian Edu Server-VMs ergibt sich die Anforderung einer Boot-Verzögerung.
Anstelle aufwendiger VM-Host Skripte wird eine Startverzögerung durch ein hohes Timeout im Bootloader GRUB erwirkt.
<user>@contentserver:/# diff -u /etc/default/grub.orig /etc/default/grub --- /etc/default/grub.orig 2012-08-31 16:06:51.000000000 +0200 +++ /etc/default/grub 2012-08-31 16:06:59.000000000 +0200 @@ -2,7 +2,7 @@ # /boot/grub/grub.cfg. GRUB_DEFAULT=0 -GRUB_TIMEOUT=5 +GRUB_TIMEOUT=600 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT="quiet" GRUB_CMDLINE_LINUX=""
Danach muss die Konfigurationsänderung übernommen werden:
$ sudo update-grub
Content Server - Nextcloud AIO
Erstellen der VM
Das Grundgerüst besteht aus einem Debian 13 (Trixie) Betriebsystem. Gerne OHNE UI um Perfomance zu sparen.
Für einen Erstellung einer VM für ca. 50 User wird empfohlen:
Speicherplatz:
Hierbei wird langsamer und schneller Speicher eingebunden
An schnellem Speicher sollten 80GB zur Verfügung zu stehen. An langsamen Speicher sollte es 200GB und 400GB jeweils geben.
Arbeitsspeicher:
Hierbei wird 10240MB empfohlen.
CPU:
Hier werden 8 Kerne empfohlen.
Der Server sollte im Netzwerk von dem Tjener bereit stehen.
Installation Docker
Um Docker zu installieren müssen sie die folgenden Schritte beachten:
Ersteinmal muss der offizielle GPG key hinzugefügt werden, danach wird wird da Repository den Apt-sources zugefügt.
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt updateJetzt installieren wir Docker:
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Nachdem wir das installieren haben, verifizieren wir einmal das Docker läuft.
sudo systemctl status docker
Installation Nginx
Installation Nextcloud-AIO
Zum Installieren nutzen wir https://github.com/nextcloud/all-in-one
Dies Installieren wir über ein Bash Script welches wie folgend aussieht.
#Auf der gefundenen IP-Adresse soll der Server dann erreichbar sein
server_ipadress=$(ip route get 1.1.1.1 | grep -oP 'src \K[^ ]+')
#Variable zum editieren der config.php Datei um Beispiel Dateien bei neuen Usern zu verhindern
datei="/var/lib/docker/volumes/nextcloud_aio_nextcloud/_data/config/config.php"
#Variable welche das Wort enthält welches vor dem neu Eingefügten Text steht
suchzeile="'installed'"
#Diese Zeile verhindert das Beispiel Dateien bei neuen Usern erstellt werden.
einfuegtext="'skeletondirectory' => '',"
if ! command -v docker &> /dev/null; then
echo "Docker nicht installiert, installiere Docker."
sudo apt-get update -y
sudo apt-get install -y docker.io docker-compose
else
echo "Docker bereits installiert"
fi
#weitere Einstellungen die man vornehmen kann, diese benoetigen wir aber nicht
#--dns=1.1.1.1 \
#--dns=8.8.8.8 \
#-e AIO_CONTAINER_REGISTRY="docker.io" \
#-e BORG_RETENTION_POLICY="--keep-within=7d --keep-weekly=4 --keep-monthly=6" \
#-e AIO_DISABLE_BACKUP_SECTION=false \
docker run \
--detach \
--init \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 8080:8080 \
--env APACHE_PORT=35460 \
-e SKIP_DOMAIN_VALIDATION=true \
--env NEXTCLOUD_DATADIR="/srv/nextcloud_data/" \
--env NEXTCLOUD_MOUNT="/mnt/" \
--env NEXTCLOUD_MEMORY_LIMIT=2048M \
--env NEXTCLOUD_UPLOAD_LIMIT=5G \
--env NEXTCLOUD_MAX_TIME=3600 \
--env COMPASS_MAX_DAYS=30 \
--env NEXTCLOUD_KEEP_DISABLED_APPS=true \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
nextcloud/all-in-one:latest
echo "Öffne jetzt im Browser: https://${server_ipadress}:8080 und stelle diesen weiter ein"
echo "danach werde weitere Anpassungen durchgeführt"
#wartet auf nextcloud_aio_nextcloud container um direkt die Beispiel Dateien auszustellen
container_name="nextcloud-aio-nextcloud"
while [ "$(sudo docker inspect -f '{{.State.Running}}' $container_name 2>/dev/null)" != "true" ]; do
echo -n "."
sleep 10
done
while [ ! -s "$datei" ]; do
echo -n "_"
sleep 2
done
sleep 10
echo "${container_name} ist gestartet, änderung in der config werden vorgenomen:"
#Gibt es die Config Datei? Verifiziert dies
if [ ! -f "$datei" ]; then
echo "fehler, die config datei wurde nicht gefunden"
exit 1
fi
#Gibt es die gesuchte Zeile? Verifiziert dies
if ! grep -q "$suchzeile" "$datei"; then
echo "fehler, die suchzeile wurde nicht in der config gefunden"
exit 1
fi
#Wenn die Datei, sowie die Zeile gefunden worden ist, wird die Zeile eingefügt, welche das erstellen der Beispiel Dateien verhindert
sed -i "/'installed' => true/a \ $einfuegtext" "$datei"
echo "ist eingefügt"Jetzt sollte im Terminal stehen bei welcher IP-Adresse Sie sich einloggen können, um weitere Einstellungen vorzunehmen. Bitte beachte das das Skript immernoch läuft, sobald die erste Einstellung abgeschlossen ist werden weitere Einstellungen von diesem Skript an deiner Nextcloud instanz vorgenommen.
Installation Hpb
Das ist ein Einfaches Setup für Nextcloud Hochleistungsbackend, Signaling & Collabora Office für Debian 13.
Dies wird auf einem externen Server z.B. bei Hetzner installiert um Datensicherheit bei den Backups zu gewährleisten. Collabora Office wird hier mit installiert um die Ressourcen zu schonen und die Perfomance von Nextcloud zu verbessern.
Installation Nextcloud Apps
Um Nextcloud so zu benutzen wie wir das wollen installieren wir weitere sog. App's um die Funktionen zu erweitern. Installiert werden diese unter den admin > Apps.
Bitte installiere:
LDAP user and group backend – User können sich mit den ldap benutzern anmelden
External Storage Support – Externer Storage
Big Blue Button integration – Meetings abhalten
Custom CSS – Design anpassen
