-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall_cloudstack.sh
More file actions
83 lines (59 loc) · 3.15 KB
/
install_cloudstack.sh
File metadata and controls
83 lines (59 loc) · 3.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#!/bin/bash
set -e
# Variáveis (ajuste conforme necessário)
MYSQL_ROOT_PASSWORD="cloudstack"
echo "Iniciando a instalação do Apache CloudStack no Ubuntu 24.04..."
# 1. Preparar o Sistema Operacional
echo "Preparando o sistema operacional..."
# Verificar conectividade com a Internet
sudo apt install -y iputils-ping
ping -c 4 cloudstack.apache.org || { echo "Erro: Sem conectividade com a Internet. Verifique sua rede."; exit 1; }
# Instalar e configurar Chrony para sincronização de tempo
echo "Instalando e configurando Chrony..."
sudo apt update
sudo apt install -y chrony
sudo systemctl enable chrony
sudo systemctl start chrony
# 2. Instalar o Servidor de Gerenciamento
echo "Configurando o repositório de pacotes DEB do CloudStack..."
# Adicionar repositório CloudStack
echo "deb https://download.cloudstack.org/ubuntu noble 4.20" | sudo tee /etc/apt/sources.list.d/cloudstack.list
# Adicionar chave pública
wget -O - https://download.cloudstack.org/release.asc | sudo tee /etc/apt/trusted.gpg.d/cloudstack.asc
# Atualizar cache apt
sudo apt update
echo "Instalando o servidor de gerenciamento do CloudStack..."
sudo apt install -y cloudstack-management
# 3. Instalar o servidor de banco de dados MySQL
echo "Instalando e configurando o MySQL Server..."
sudo apt install -y mysql-server
# Configurar MySQL
sudo sed -i '/^bind-address/s/bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf
sudo sed -i '/^#max_connections/a innodb_rollback_on_timeout=1\ninnodb_lock_wait_timeout=600\nmax_connections=350\nlog_bin=mysql-bin' /etc/mysql/mysql.conf.d/mysqld.cnf
sudo systemctl restart mysql
# Configurar senha root do MySQL (se não estiver definida)
sudo mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '${MYSQL_ROOT_PASSWORD}'; FLUSH PRIVILEGES;"
# Executar script de inicialização do banco de dados do CloudStack
echo "Configurando o banco de dados do CloudStack..."
sudo cloudstack-setup-databases cloudstack:${MYSQL_ROOT_PASSWORD}@localhost --deploy-as=root:${MYSQL_ROOT_PASSWORD}
# Inicializar o banco de dados do CloudStack
echo "Inicializando o servidor de gerenciamento do CloudStack..."
sudo cloudstack-setup-management
# 4. Preparar Compartilhamentos NFS
echo "Configurando compartilhamentos NFS..."
sudo apt install -y nfs-kernel-server
sudo mkdir -p /export/primary
sudo mkdir -p /export/secondary
sudo chown nobody:nogroup /export/primary
sudo chown nobody:nogroup /export/secondary
sudo chmod 777 /export/primary
sudo chmod 777 /export/secondary
echo "/export/primary *(rw,async,no_subtree_check,no_root_squash)" | sudo tee -a /etc/exports
echo "/export/secondary *(rw,async,no_subtree_check,no_root_squash)" | sudo tee -a /etc/exports
sudo exportfs -a
sudo systemctl restart nfs-kernel-server
# 5. Preparar o Modelo de VM do Sistema
echo "Preparando o modelo de VM do sistema..."
sudo /usr/share/cloudstack-common/scripts/storage/secondary/cloudstack-setup-secondary-storage.sh /export/secondary
echo "Instalação do Apache CloudStack concluída!"
echo "Você pode acessar a interface web em http://<IP_DO_SEU_SERVIDOR>:8080/client"