-
-
Save pauloperez/213a4a33622b58bac624 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
#title :wildfly-install.sh | |
#description :The script to install Wildfly 8.x | |
#more :http://sukharevd.net/wildfly-8-installation.html | |
#author :Dmitriy Sukharev | |
#editor :Paulo Perez | |
#date :20150113 | |
#usage :/bin/bash wildfly-install.sh | |
WILDFLY_VERSION=8.2.1.Final | |
WILDFLY_FILENAME=wildfly-$WILDFLY_VERSION | |
WILDFLY_ARCHIVE_NAME=$WILDFLY_FILENAME.tar.gz | |
WILDFLY_DOWNLOAD_ADDRESS=http://download.jboss.org/wildfly/$WILDFLY_VERSION/$WILDFLY_ARCHIVE_NAME | |
INSTALL_DIR=~ | |
WILDFLY_FULL_DIR=$INSTALL_DIR/$WILDFLY_FILENAME | |
WILDFLY_DIR=$INSTALL_DIR/wildfly | |
WILDFLY_USER="wildfly" | |
WILDFLY_SERVICE="wildfly" | |
WILDFLY_STARTUP_TIMEOUT=30 | |
WILDFLY_SHUTDOWN_TIMEOUT=30 | |
echo "Downloading: $WILDFLY_DOWNLOAD_ADDRESS..." | |
[ -e "$WILDFLY_ARCHIVE_NAME" ] && echo 'Wildfly archive already exists.' | |
if [ ! -e "$WILDFLY_ARCHIVE_NAME" ]; then | |
wget -q $WILDFLY_DOWNLOAD_ADDRESS | |
if [ $? -ne 0 ]; then | |
echo "Not possible to download Wildfly." | |
exit 1 | |
fi | |
fi | |
echo "Cleaning up..." | |
sudo rm -f "$WILDFLY_DIR" | |
sudo rm -rf "$WILDFLY_FULL_DIR" | |
sudo rm -rf "/var/run/$WILDFLY_SERVICE/" | |
sudo rm -f "/etc/init.d/$WILDFLY_SERVICE" | |
sudo rm -f "$WILDFLY_SERVICE_CONF" | |
echo "Installation..." | |
mkdir $WILDFLY_FULL_DIR | |
tar -xzf $WILDFLY_ARCHIVE_NAME -C $INSTALL_DIR | |
ln -s $WILDFLY_FULL_DIR/ $WILDFLY_DIR | |
sudo useradd -s /sbin/nologin $WILDFLY_USER | |
sudo usermod -a -G $WILDFLY_USER $USER | |
sudo chown -R $USER:$WILDFLY_USER $WILDFLY_DIR | |
sudo chown -R $USER:$WILDFLY_USER $WILDFLY_DIR/ | |
echo "Registrating Wildfly as service..." | |
# if Debian-like distribution | |
if [ -r /lib/lsb/init-functions ]; then | |
sudo cp $WILDFLY_DIR/bin/init.d/wildfly-init-debian.sh /etc/init.d/$WILDFLY_SERVICE | |
sudo sed -i -e 's,NAME=wildfly,NAME='$WILDFLY_SERVICE',g' /etc/init.d/$WILDFLY_SERVICE | |
WILDFLY_SERVICE_CONF=/etc/default/$WILDFLY_SERVICE | |
fi | |
# if RHEL-like distribution | |
if [ -r /etc/init.d/functions ]; then | |
sudo cp $WILDFLY_DIR/bin/init.d/wildfly-init-redhat.sh /etc/init.d/$WILDFLY_SERVICE | |
WILDFLY_SERVICE_CONF=/etc/default/wildfly.conf | |
fi | |
# if neither Debian nor RHEL like distribution | |
if [ ! -r /lib/lsb/init-functions -a ! -r /etc/init.d/functions ]; then | |
sudo cat > /etc/init.d/$WILDFLY_SERVICE << "EOF" | |
#!/bin/sh | |
### BEGIN INIT INFO | |
# Provides: ${WILDFLY_SERVICE} | |
# Required-Start: $local_fs $remote_fs $network $syslog | |
# Required-Stop: $local_fs $remote_fs $network $syslog | |
# Default-Start: 2 3 4 5 | |
# Default-Stop: 0 1 6 | |
# Short-Description: Start/Stop ${WILDFLY_FILENAME} | |
### END INIT INFO | |
WILDFLY_USER=${USER} | |
WILDFLY_DIR=${WILDFLY_DIR} | |
case "$1" in | |
start) | |
echo "Starting ${WILDFLY_FILENAME}..." | |
start-stop-daemon --start --background --chuid $WILDFLY_USER --exec $WILDFLY_DIR/bin/standalone.sh | |
exit $? | |
;; | |
stop) | |
echo "Stopping ${WILDFLY_FILENAME}..." | |
start-stop-daemon --start --quiet --background --chuid $WILDFLY_USER --exec $WILDFLY_DIR/bin/jboss-cli.sh -- --connect command=:shutdown | |
exit $? | |
;; | |
log) | |
echo "Showing server.log..." | |
tail -500f $WILDFLY_DIR/standalone/log/server.log | |
;; | |
*) | |
echo "Usage: /etc/init.d/wildfly {start|stop}" | |
exit 1 | |
;; | |
esac | |
exit 0 | |
EOF | |
sudo sed -i -e 's,${WILDFLY_USER},'$WILDFLY_USER',g; s,${WILDFLY_FILENAME},'$WILDFLY_FILENAME',g; s,${WILDFLY_SERVICE},'$WILDFLY_SERVICE',g; s,${WILDFLY_DIR},'$WILDFLY_DIR',g' /etc/init.d/$WILDFLY_SERVICE | |
fi | |
sudo chmod 775 /etc/init.d/$WILDFLY_SERVICE | |
if [ ! -z "$WILDFLY_SERVICE_CONF" ]; then | |
echo "Configuring service..." | |
sudo touch $WILDFLY_SERVICE_CONF | |
sudo chown -R $USER:$WILDFLY_USER $WILDFLY_SERVICE_CONF | |
sudo chmod 775 $WILDFLY_SERVICE_CONF | |
echo JBOSS_HOME=\"$WILDFLY_DIR\" >> $WILDFLY_SERVICE_CONF | |
echo JBOSS_USER=$USER >> $WILDFLY_SERVICE_CONF | |
echo STARTUP_WAIT=$WILDFLY_STARTUP_TIMEOUT >> $WILDFLY_SERVICE_CONF | |
echo SHUTDOWN_WAIT=$WILDFLY_SHUTDOWN_TIMEOUT >> $WILDFLY_SERVICE_CONF | |
fi | |
sudo mkdir /var/run/wildfly | |
sudo chown -R $USER:$WILDFLY_USER /var/run/wildfly | |
sudo mkdir /var/log/wildfly | |
sudo chown -R $USER:$WILDFLY_USER /var/log/wildfly | |
sudo service $WILDFLY_SERVICE start | |
echo "Done." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment