Passa al contenuto principale
Versione: 0.5.6

Joomla su Aruba Cloud

Esegui il deployment di Joomla 5 — un popolare CMS open-source — su Aruba Cloud tramite Terraform e cloud-init. Joomla viene installato tramite il CLI installer ufficiale con un backend MySQL 8.0 DBaaS gestito.

Versione provider: arubacloud/arubacloud ~> 1.0 | Terraform: ≥ 1.9


Introduzione​

Joomla 5 è un CMS ricco di funzionalità adatto per siti web, intranet e applicazioni web. Questo esempio esegue il provisioning di:

  • Apache2 + PHP 8.1 con tutte le estensioni richieste da Joomla
  • Joomla scaricato dalla release ufficiale su GitHub e installato tramite il CLI installer integrato in modalità completamente non presidiata
  • MySQL 8.0 gestito tramite ArubaCloud DBaaS
  • Porte 80 e 443 aperte a internet
  • HTTPS opzionale tramite Let's Encrypt quando domain è impostato
  • Directory di installazione rimossa automaticamente dopo la configurazione (requisito di sicurezza Joomla)

Panoramica dell'architettura​


Infrastruttura creata​

RisorsaPattern del nomeDescrizione
arubacloud_projectjoomla-prodContenitore del progetto
arubacloud_vpcjoomla-prod-vpcVirtual Private Cloud
arubacloud_subnetjoomla-prod-subnetSubnet base
arubacloud_securitygroupjoomla-prod-vm-sgSecurity group VM
arubacloud_securitygroupjoomla-prod-dbaas-sgSecurity group DBaaS
arubacloud_securityrulejoomla-prod-vm-sshRegola ingress SSH
arubacloud_securityrulejoomla-prod-vm-httpRegola ingress HTTP TCP 80
arubacloud_securityrulejoomla-prod-vm-httpsRegola ingress HTTPS TCP 443
arubacloud_securityrulejoomla-prod-db-mysqlRegola ingress MySQL solo dall'IP VM
arubacloud_elasticipjoomla-prod-vm-eipIP pubblico VM
arubacloud_elasticipjoomla-prod-dbaas-eipIP pubblico DBaaS
arubacloud_blockstoragejoomla-prod-bootDisco di boot da 30 GB (Performance)
arubacloud_keypairjoomla-prod-keypairChiave pubblica SSH
arubacloud_dbaasjoomla-prod-dbaasMySQL 8.0 gestito
arubacloud_databasejoomlaDatabase Joomla
arubacloud_dbaasuserjoomlaUtente DB Joomla
arubacloud_cloudserverjoomla-prod-vmVM CloudServer

Costo mensile stimato​

RisorsaSpecificheCosto stimato/mese
VM CloudServerCSO2A4 — 2 vCPU / 4 GB~€18
Disco di boot30 GB Performance~€5
Elastic IP (VM)—~€3
MySQL DBaaSDBO2A8 + 20 GB~€30
Elastic IP (DBaaS)—~€3
Totale~€59/mese

Requisiti​

  • Terraform ≥ 1.9
  • ArubaCloud Terraform Provider ~> 1.0
  • Un account ArubaCloud con credenziali API OAuth2
  • Una coppia di chiavi SSH

Variabili​

Obbligatorie​

VariabileDescrizione
arubacloud_client_idClient ID OAuth2 di ArubaCloud
arubacloud_client_secretClient secret OAuth2 di ArubaCloud
ssh_public_keyContenuto della chiave pubblica SSH
db_passwordPassword utente MySQL Joomla (min 16 caratteri)
admin_emailIndirizzo email dell'amministratore Joomla
admin_passwordPassword amministratore Joomla (min 12 caratteri)

Opzionali​

VariabileDefaultDescrizione
app_name"joomla"Nome breve usato in tutti i nomi delle risorse
environment"prod"Etichetta dell'ambiente
location"ITBG-Bergamo"Regione ArubaCloud
zone"ITBG-1"Zona di disponibilità
billing_period"Hour""Hour" o "Month"
vm_flavor"CSO2A4"Flavor del CloudServer
vm_image"LU22-001"Immagine del disco di boot (Ubuntu 22.04 LTS)
vm_disk_size_gb30Dimensione del disco di boot in GB
ssh_cidr"0.0.0.0/0"CIDR per SSH — limita in produzione
dbaas_flavor"DBO2A8"Flavor istanza DBaaS
db_storage_gb20Dimensione storage iniziale DBaaS in GB
site_name"My Joomla Site"Nome visualizzato del sito
admin_user"admin"Nome utente amministratore Joomla
admin_fullname"Site Administrator"Nome completo amministratore Joomla
joomla_version"5.3.2"Versione di Joomla
domain""Dominio per HTTPS automatico con Let's Encrypt

Output​

OutputDescrizione
site_urlURL del sito Joomla
admin_urlURL del pannello amministratore Joomla
vm_public_ipIndirizzo IP pubblico della VM
ssh_commandComando SSH per connettersi alla VM
db_hostIndirizzo host MySQL DBaaS

Istruzioni di deployment​

1. Clona e naviga​

git clone https://github.com/arubacloud/terraform-arubacloud-examples.git
cd terraform-arubacloud-examples/joomla

2. Configura le variabili​

cp terraform.tfvars.example terraform.tfvars

3. Esegui il deployment​

terraform init
terraform plan
terraform apply

Il bootstrap richiede circa 5–10 minuti.

4. Accedi a Joomla​

terraform output site_url
terraform output admin_url

Accedi a /administrator con admin_user e admin_password.


Riferimenti​