86 lines
3.1 KiB
Bash
Executable File
86 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Set variables
|
|
EJBCA_VERSION="7.9.0.2" # Ändern Sie dies entsprechend der gewünschten Version
|
|
WILDFLY_VERSION="32.0.1.Final" # Ändern Sie dies entsprechend der gewünschten Version
|
|
JAVA_VERSION="11" # Ändern Sie dies entsprechend der gewünschten Version
|
|
INSTALL_DIR="/opt/ejbca"
|
|
WILDFLY_DIR="/opt/wildfly"
|
|
JAVA_DIR="/opt/java"
|
|
DB_USER="ejbcauser"
|
|
DB_PASS="ejbcapassword"
|
|
DB_NAME="ejbca"
|
|
DB_HOST="localhost"
|
|
|
|
# Update package list and install prerequisites
|
|
echo "Updating package list and installing prerequisites..."
|
|
sudo dnf update -y
|
|
sudo dnf install -y wget unzip mariadb-server
|
|
|
|
# Enable and start MariaDB
|
|
echo "Enabling and starting MariaDB..."
|
|
sudo systemctl enable mariadb
|
|
sudo systemctl start mariadb
|
|
|
|
# Install Java
|
|
echo "Installing Java..."
|
|
wget https://download.java.net/java/GA/jdk${JAVA_VERSION}/9/GPL/openjdk-${JAVA_VERSION}_linux-x64_bin.tar.gz
|
|
sudo tar -xzf openjdk-${JAVA_VERSION}_linux-x64_bin.tar.gz -C /opt/
|
|
sudo ln -s /opt/jdk-${JAVA_VERSION} $JAVA_DIR
|
|
export JAVA_HOME=$JAVA_DIR
|
|
export PATH=$JAVA_HOME/bin:$PATH
|
|
|
|
# Install WildFly
|
|
echo "Installing WildFly..."
|
|
wget https://download.jboss.org/wildfly/${WILDFLY_VERSION}/wildfly-${WILDFLY_VERSION}.zip
|
|
sudo unzip wildfly-${WILDFLY_VERSION}.zip -d /opt/
|
|
sudo ln -s /opt/wildfly-${WILDFLY_VERSION} $WILDFLY_DIR
|
|
|
|
# Install EJBCA
|
|
echo "Installing EJBCA..."
|
|
wget https://sourceforge.net/projects/ejbca/files/ejbca/${EJBCA_VERSION}/ejbca_ce_${EJBCA_VERSION}.tar.gz
|
|
sudo tar -xzf ejbca_ce_${EJBCA_VERSION}.tar.gz -C /opt/
|
|
sudo ln -s /opt/ejbca_ce-$EJBCA_VERSION $INSTALL_DIR
|
|
|
|
# Configure WildFly for EJBCA
|
|
echo "Configuring WildFly for EJBCA..."
|
|
sudo cp $INSTALL_DIR/doc/install/wildfly/jboss/standalone-full.xml $WILDFLY_DIR/standalone/configuration/
|
|
sudo cp $INSTALL_DIR/doc/install/wildfly/jboss/ejbca.xml $WILDFLY_DIR/standalone/deployments/
|
|
|
|
# Start WildFly
|
|
echo "Starting WildFly..."
|
|
sudo $WILDFLY_DIR/bin/standalone.sh -c standalone-full.xml &
|
|
|
|
# Wait for WildFly to start
|
|
sleep 20
|
|
|
|
# Setup EJBCA
|
|
echo "Setting up EJBCA..."
|
|
cd $INSTALL_DIR
|
|
sudo ./bin/ejbca.sh install wildfly
|
|
|
|
# Configure Database
|
|
echo "Configuring Database..."
|
|
sudo mysql -u root -e "CREATE DATABASE $DB_NAME;"
|
|
sudo mysql -u root -e "CREATE USER '$DB_USER'@'$DB_HOST' IDENTIFIED BY '$DB_PASS';"
|
|
sudo mysql -u root -e "GRANT ALL PRIVILEGES ON $DB_NAME.* TO '$DB_USER'@'$DB_HOST';"
|
|
sudo mysql -u root -e "FLUSH PRIVILEGES;"
|
|
|
|
# Update EJBCA configuration for MySQL
|
|
echo "Updating EJBCA configuration for MySQL..."
|
|
sudo sed -i "s/localhost/$DB_HOST/g" $INSTALL_DIR/conf/database.properties
|
|
sudo sed -i "s/ejbcauser/$DB_USER/g" $INSTALL_DIR/conf/database.properties
|
|
sudo sed -i "s/ejbcapassword/$DB_PASS/g" $INSTALL_DIR/conf/database.properties
|
|
|
|
# Restart WildFly to apply changes
|
|
echo "Restarting WildFly..."
|
|
sudo pkill -f 'wildfly'
|
|
sudo $WILDFLY_DIR/bin/standalone.sh -c standalone-full.xml &
|
|
|
|
# Final setup for EJBCA
|
|
echo "Final setup for EJBCA..."
|
|
cd $INSTALL_DIR
|
|
sudo ./bin/ejbca.sh ca init --dn "CN=EJBCA,O=My Organization,C=US" --caname "ManagementCA" --tokenType "soft" --keytype "RSA" --keyspec "2048" --password "changeit"
|
|
|
|
# Print completion message
|
|
echo "EJBCA installation and configuration completed successfully." |