Initialer Import der Synology Scripts
This commit is contained in:
+109
@@ -0,0 +1,109 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Überprüfung des Betriebssystems
|
||||
function check_os() {
|
||||
if [ -f /etc/redhat-release ]; then
|
||||
echo "Red Hat Derivat erkannt"
|
||||
OS="redhat"
|
||||
elif [ -f /etc/debian_version ]; then
|
||||
echo "Debian/Ubuntu erkannt"
|
||||
OS="debian"
|
||||
else
|
||||
echo "Betriebssystem nicht unterstützt"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Automatische Ermittlung von Systeminformationen
|
||||
function get_system_info() {
|
||||
HOSTNAME=$(hostname)
|
||||
IP_ADDR=$(hostname -I | awk '{print $1}')
|
||||
CPU_CORES=$(nproc)
|
||||
TOTAL_MEM=$(grep MemTotal /proc/meminfo | awk '{print $2}')
|
||||
echo "Systeminformationen:"
|
||||
echo "Hostname: $HOSTNAME"
|
||||
echo "IP-Adresse: $IP_ADDR"
|
||||
echo "CPU-Kerne: $CPU_CORES"
|
||||
echo "Speicher (kB): $TOTAL_MEM"
|
||||
}
|
||||
|
||||
# Installation der notwendigen Pakete auf Debian/Ubuntu
|
||||
function install_debian_dependencies() {
|
||||
echo "Installiere Abhängigkeiten auf Debian/Ubuntu..."
|
||||
sudo apt update
|
||||
sudo apt install -y openjdk-11-jdk postgresql postgresql-contrib libreoffice curl wget unzip
|
||||
}
|
||||
|
||||
# Installation der notwendigen Pakete auf Red Hat Derivaten
|
||||
function install_redhat_dependencies() {
|
||||
echo "Installiere Abhängigkeiten auf Red Hat..."
|
||||
sudo yum update -y
|
||||
sudo yum install -y java-11-openjdk postgresql-server postgresql-contrib libreoffice curl wget unzip
|
||||
}
|
||||
|
||||
# Alfresco herunterladen
|
||||
function download_alfresco() {
|
||||
echo "Lade Alfresco herunter..."
|
||||
wget https://download.alfresco.com/cloudfront/release/community/202210-GA-build-411/alfresco-content-services-community-distribution-202210.zip -O alfresco.zip
|
||||
#wget https://nexus.alfresco.com/nexus/service/local/repositories/releases/content/org/alfresco/alfresco-content-services-community-distribution/23.1.0/alfresco-content-services-community-distribution-23.1.0.zip -O alfresco.zip
|
||||
unzip alfresco.zip -d /opt/alfresco
|
||||
chmod -R 755 /opt/alfresco
|
||||
}
|
||||
|
||||
# Datenbank konfigurieren (PostgreSQL)
|
||||
function configure_database() {
|
||||
echo "Konfiguriere PostgreSQL..."
|
||||
sudo postgresql-setup initdb
|
||||
sudo systemctl start postgresql
|
||||
sudo systemctl enable postgresql
|
||||
sudo -u postgres psql -c "CREATE USER alfresco WITH PASSWORD 'alfresco';"
|
||||
sudo -u postgres psql -c "CREATE DATABASE alfresco WITH OWNER alfresco;"
|
||||
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE alfresco TO alfresco;"
|
||||
}
|
||||
|
||||
# Alfresco konfigurieren
|
||||
function configure_alfresco() {
|
||||
echo "Konfiguriere Alfresco..."
|
||||
ALFRESCO_GLOBAL_PROPERTIES="/opt/alfresco/web-server/shared/classes/alfresco-global.properties"
|
||||
cp /opt/alfresco/web-server/shared/classes/alfresco-global.properties.sample $ALFRESCO_GLOBAL_PROPERTIES
|
||||
|
||||
cat <<EOL >> $ALFRESCO_GLOBAL_PROPERTIES
|
||||
db.driver=org.postgresql.Driver
|
||||
db.username=alfresco
|
||||
db.password=alfresco
|
||||
db.url=jdbc:postgresql://localhost:5432/alfresco
|
||||
alfresco.host=$IP_ADDR
|
||||
alfresco.port=8080
|
||||
share.host=$IP_ADDR
|
||||
share.port=8080
|
||||
index.subsystem.name=solr6
|
||||
EOL
|
||||
}
|
||||
|
||||
# Alfresco Dienst starten
|
||||
function start_alfresco() {
|
||||
echo "Starte Alfresco..."
|
||||
/opt/alfresco/alfresco.sh start
|
||||
}
|
||||
|
||||
# Hauptfunktion zur Installation und Konfiguration von Alfresco
|
||||
function install_alfresco() {
|
||||
check_os
|
||||
get_system_info
|
||||
|
||||
if [ "$OS" == "debian" ]; then
|
||||
install_debian_dependencies
|
||||
elif [ "$OS" == "redhat" ]; then
|
||||
install_redhat_dependencies
|
||||
fi
|
||||
|
||||
download_alfresco
|
||||
configure_database
|
||||
configure_alfresco
|
||||
start_alfresco
|
||||
|
||||
echo "Alfresco Installation und Konfiguration abgeschlossen!"
|
||||
}
|
||||
|
||||
# Skript starten
|
||||
install_alfresco
|
||||
Reference in New Issue
Block a user