GitHub user furkandogmus added a comment to the discussion: [ROCKY 9.6 AS
SETUP] Ne bean named DefaultConfigResources available
Sir @DaanHoogland,
is there something wrong on my setup script?
```
#!/bin/bash
# CloudStack Development Environment Setup for Rocky Linux
# Based on Apache CloudStack Development Documentation
set -e
echo "=== CloudStack Development Environment Setup for Rocky Linux ==="
# Update system
echo "1. Updating system packages..."
sudo dnf update -y
# Install required packages for CloudStack development
echo "2. Installing development packages..."
sudo dnf install -y \
java-11-openjdk-devel \
maven \
mariadb-server \
mariadb \
bzip2 \
nfs-utils \
util-linux \
python3-setuptools \
python3-pip \
ipmitool \
genisoimage \
quota \
git \
wget \
which \
hostname \
net-tools
# Install additional dependencies
echo "3. Installing additional tools..."
sudo dnf groupinstall -y "Development Tools"
# Setup JAVA_HOME
echo "4. Setting up Java environment..."
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk' >> ~/.bashrc
# Configure MySQL/MariaDB
echo "5. Configuring MariaDB..."
sudo systemctl enable mariadb
sudo systemctl start mariadb
# Configure MariaDB for CloudStack
echo "6. Configuring MariaDB for CloudStack..."
sudo tee -a /etc/my.cnf.d/cloudstack.cnf > /dev/null <<EOF
[mysqld]
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION,ERROR_FOR_DIVISION_BY_ZERO,NO_ZERO_DATE,NO_ZERO_IN_DATE,NO_ENGINE_SUBSTITUTION"
server_id = 1
innodb_rollback_on_timeout=1
innodb_lock_wait_timeout=600
max_connections=1000
log-bin=mysql-bin
binlog-format = 'ROW'
default-authentication-plugin=mysql_native_password
bind-address = 127.0.0.1
EOF
sudo systemctl restart mariadb
# Reset MySQL root password to blank for CloudStack
echo "7. Setting up MariaDB root password..."
sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED BY '';"
2>/dev/null || true
sudo mysql -u root -e "FLUSH PRIVILEGES;" 2>/dev/null || true
# Setup NFS server
echo "8. Setting up NFS server..."
sudo systemctl enable nfs-server
sudo mkdir -p /export/testing/primary /export/testing/secondary
echo "/export *(rw,async,no_root_squash,no_subtree_check)" | sudo tee
/etc/exports
sudo systemctl start nfs-server
sudo exportfs -a
# Configure sudoers for CloudStack
echo "9. Configuring sudoers for CloudStack..."
USERNAME=$(whoami)
sudo tee /etc/sudoers.d/cloudstack > /dev/null <<EOF
Cmnd_Alias CLOUDSTACK = /bin/mkdir, /bin/mount, /bin/umount, /bin/cp,
/bin/chmod, /usr/bin/keytool, /bin/keytool
Defaults:$USERNAME !requiretty
$USERNAME ALL=(ALL) NOPASSWD:CLOUDSTACK
EOF
# Create workspace directory
echo "10. Creating workspace..."
mkdir -p ~/lab
cd ~/lab
# Clone CloudStack repository if not exists
if [ ! -d "cloudstack" ]; then
echo "11. Cloning CloudStack repository..."
git clone https://github.com/apache/cloudstack.git
fi
cd cloudstack
# Clone and install nonoss dependencies
echo "12. Setting up nonoss dependencies..."
if [ ! -d "../cloudstack-nonoss" ]; then
cd ~/lab
git clone https://github.com/shapeblue/cloudstack-nonoss.git
cd cloudstack-nonoss
bash -x install-non-oss.sh
cd ../cloudstack
fi
# Set Maven options for debugging
echo "13. Setting up Maven debugging options..."
echo 'export MAVEN_OPTS="$MAVEN_OPTS -Xdebug
-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n"' >> ~/.bashrc
# Create Python alias if needed
echo "14. Setting up Python alias..."
if ! command -v python &> /dev/null; then
echo 'alias python=python3' >> ~/.bashrc
fi
# Install Python dependencies
echo "15. Installing Python dependencies..."
pip3 install --user pynose
cd ~/lab/cloudstack && mvn clean install -Dnoredist -P developer,systemvm
-DskipTests -T8
mvn -Pdeveloper -pl developer -Ddeploydb
mvn -pl :cloud-client-ui jetty:run -Dnoredist -Djava.net.preferIPv4Stack=true
GitHub link:
https://github.com/apache/cloudstack/discussions/11347#discussioncomment-13934363
----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]