|
|
@@ -1,5 +1,49 @@ |
|
|
|
#!/bin/bash |
|
|
|
|
|
|
|
# Get user input for username and script to run |
|
|
|
# read -p "Enter the username to create: " username |
|
|
|
# read -p "Enter the full path to the shell script to run: " script_to_run |
|
|
|
username=elxrprod |
|
|
|
script_to_run=i.lin.sh |
|
|
|
|
|
|
|
# Get the current user (who is running this script) |
|
|
|
current_user=$(whoami) |
|
|
|
|
|
|
|
# 1. Check if the current user is the same as the username to create |
|
|
|
if [ "$current_user" == "$username" ]; then |
|
|
|
echo "Script launched from same user!" |
|
|
|
else |
|
|
|
|
|
|
|
if id "$username" &>/dev/null; then |
|
|
|
echo "User $username already exists, skipping user creation and password set." |
|
|
|
else |
|
|
|
|
|
|
|
# 1. Add user |
|
|
|
echo "Adding user $username..." |
|
|
|
useradd -m -s /bin/bash "$username" |
|
|
|
|
|
|
|
read -sp "Enter password for the new user: " user_password |
|
|
|
echo |
|
|
|
echo "Setting password for user $username..." |
|
|
|
echo "$username:$user_password" | sudo chpasswd |
|
|
|
|
|
|
|
# 2. Add user to the sudoers group (usually 'wheel' on CentOS) |
|
|
|
echo "Adding $username to the 'wheel' group for sudo access..." |
|
|
|
usermod -aG wheel "$username" |
|
|
|
fi |
|
|
|
|
|
|
|
# cd /home/$username |
|
|
|
#wget -q -O - http://git.bbh.org.in/chess/elxr/raw/branch/master/$script_to_run > $script_to_run |
|
|
|
sudo cp ./$script_to_run /home/$username |
|
|
|
sudo chmod u+x /home/$username/i.lin.sh |
|
|
|
|
|
|
|
# 3. Switch to the user and run the script |
|
|
|
echo "Switching to user $username and executing the script..." |
|
|
|
sudo -u "$username" bash -c "sh /home/$username/$script_to_run" |
|
|
|
|
|
|
|
exit 0 |
|
|
|
fi |
|
|
|
|
|
|
|
# Default values |
|
|
|
DEFAULT_REPOSERVER="http://git.bbh" |
|
|
|
DEFAULT_DEFAULTREPOOWNER="chess" |
|
|
@@ -44,9 +88,9 @@ echo "Do you want to skip development prerequisite installations? (yes/no, defau |
|
|
|
read skipdevprereqs |
|
|
|
SKIPDEVPREREQS=${skipdevprereqs:-"no"} |
|
|
|
|
|
|
|
# Prompt for ROOT folder, with two options: current directory or /var/chess/$INSTANCENAME/$INSTANCETYPE |
|
|
|
echo "Enter the ROOT folder location (default: current directory):" |
|
|
|
echo "1) Current directory" |
|
|
|
# Prompt for ROOT folder, with two options: ./chess/production_A or /var/chess/$INSTANCENAME/$INSTANCETYPE |
|
|
|
echo "Enter the ROOT folder location (default: ./chess/production_A):" |
|
|
|
echo "1) ./chess/production_A" |
|
|
|
echo "2) /var/chess/$INSTANCENAME/$INSTANCETYPE" |
|
|
|
read rootfolder |
|
|
|
if [ "$rootfolder" == "2" ]; then |
|
|
@@ -54,6 +98,13 @@ if [ "$rootfolder" == "2" ]; then |
|
|
|
else |
|
|
|
ROOT=$(pwd) # Default to current directory if user chooses 1 |
|
|
|
fi |
|
|
|
mkdir -p $ROOT |
|
|
|
cd $ROOT |
|
|
|
|
|
|
|
wget -q -O - http://git.bbh/chess/elxr/raw/branch/master/centosinit.sh > $ROOT/centosinit.sh |
|
|
|
sudo chmod u+x $ROOT/centosinit.sh |
|
|
|
sh $ROOT/centosinit.sh |
|
|
|
|
|
|
|
|
|
|
|
# If ROOT is not the current directory, create the necessary directories and change to ROOT |
|
|
|
if [ "$ROOT" != "$(pwd)" ]; then |
|
|
@@ -224,3 +275,21 @@ echo "module.exports = { instanceName : '$INSTANCENAME', reposerver: '$REPOSERVE |
|
|
|
|
|
|
|
echo "Setup completed successfully!" |
|
|
|
|
|
|
|
|
|
|
|
if [[ "$OS_NAME" == "CentOS Linux" ]] || [[ "$OS_NAME" == "CentOS" ]] || [[ "$OS_NAME" == "Red Hat" ]]; then |
|
|
|
sudo dnf install redis -y |
|
|
|
else |
|
|
|
sudo apt install redis -y |
|
|
|
fi |
|
|
|
sudo systemctl start redis |
|
|
|
sudo systemctl enable redis |
|
|
|
sudo systemctl status redis |
|
|
|
|
|
|
|
echo "Setup completed successfully!" |
|
|
|
|
|
|
|
|
|
|
|
# USE mysql; |
|
|
|
# ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'cihsr'; |
|
|
|
# FLUSH PRIVILEGES; |
|
|
|
|
|
|
|
mysql -u root -p cihsr < cihsr_prod.sql |