{"id":20703651,"url":"https://github.com/cppmx/wordpress_chef","last_synced_at":"2026-04-18T21:04:23.603Z","repository":{"id":179196543,"uuid":"662817511","full_name":"cppmx/wordpress_chef","owner":"cppmx","description":"Despliegue de Wodpress en máquinas virtuales usando Vagrant y Chef","archived":false,"fork":false,"pushed_at":"2023-08-07T14:34:55.000Z","size":1844,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-11T04:32:42.581Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cppmx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-06T00:42:23.000Z","updated_at":"2023-07-06T02:35:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"aee10535-e2bc-493f-8140-f5e06d30c0bf","html_url":"https://github.com/cppmx/wordpress_chef","commit_stats":null,"previous_names":["cppmx/wordpress_chef"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cppmx/wordpress_chef","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cppmx%2Fwordpress_chef","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cppmx%2Fwordpress_chef/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cppmx%2Fwordpress_chef/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cppmx%2Fwordpress_chef/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cppmx","download_url":"https://codeload.github.com/cppmx/wordpress_chef/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cppmx%2Fwordpress_chef/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31984558,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T20:23:30.271Z","status":"ssl_error","status_checked_at":"2026-04-18T20:23:29.375Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-17T01:08:55.697Z","updated_at":"2026-04-18T21:04:23.558Z","avatar_url":"https://github.com/cppmx.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Despliegue de Wordpress usando Vagrant y Chef\n\n- Master ![Build Status on Master Branch](https://github.com/cppmx/wordpress_chef/actions/workflows/ci.yaml/badge.svg)\n\nEste proyecto es para una tarea de la Maestría en Desarrollo y Operaciones de UNIR.\n\nEl Objetivo es desplegar Wondpress usando Vagrant y Chef.\n\n## Supuestos\n\n- Se espera que la red de las VMs sea 192.168.56.0/24. Si VirtualBox tiene otro rango de red entonces hay que ajustar el archivio `.env` con los valores adecuados.\n\n## Pre-requisitos\n\n- Necesitas tener instalado Git\n- Necesitas tener instalado Vagrant 2.3.7 o superior\n- Necesitas tener instalado VirtualBox 7.0 o superior\n- Ruby 2.5 o superior\n\nInstala el plugin `vagrant-env` para poder cargar variables ed ambiente desde el archivo `.env`\n\n```bash\n vagrant plugin install vagrant-env\n```\n\nTambién debes instalar la gema `serverspec` para poder ejecutar las pruebas de integración e infraestructura:\n\n```bash\n gem install serverspec\n```\n\n## Arquitectura\n\nEl proyecto se compone de tres servicios, cada uno deployado en una VM individual:\n\n- [database](cookbooks/database/README.md): En esta VM se instala MySQL.\n- [wordpress](cookbooks/wordpress/README.md): En esta VM se instala el servidor web Apache y la aplicación Wordpress es instalada para ser servida por el servidor web.\n- [proxy](cookbooks/proxy/README.md): Em esta VM se instala un proxy Nginx el cual será el punto de entrada a la aplicación.\n\nEn el siguiente diagrama se pueden ver cómo se relacionan las VMs y los puertos de comunicación que esa cada una de ellas:\n\n```mermaid\ngraph LR;\n    A(\"Usuario\") --\u003e |80| B(\"proxy\n    192.168.56.2\") --\u003e |8080| C(\"wordpress\n  192.168.56.10\") ---\u003e |3306| D[(\"database\n  192.168.56.20\")]\n```\n\n## Configuraciones\n\nEn el archivo `.env` se pueden definir algunos valores como las IPs de las máquinas virtuales y el usuario y el password de la BD que se usará para configurar Wordpress.\n\nAntes de levantar Vagrant se puede definir la caja que se usará. Mira el siguiente diagrama:\n\n```mermaid\ngraph TB;\n    A[Inicio] --\u003e B{BOX_NAME?}\n    B --\u003e|No| C[\"Deploy\n    ubuntu/focal64\"]\n    B --\u003e|Si| D[\"Deploy\n    generic/centos8\"]\n    C --\u003e E[Fin]\n    D --\u003e E[Fin]\n```\n\nLee la sección [Uso](#uso) para ver ejemplos de esto.\n\n## Uso\n\nPara levantar las dos máquinas virtuales con Ubuntu 20.04 ejecuta el comando:\n\n```bash\n vagrant up\n```\n\nPara levantar las dos máquinas virtuales con CentOS 8 ejecuta el comando:\n\n```bash\n BOX_NAME=\"generic/centos8\" vagrant up\n```\n\nSe van a crear dos máquinas virtuales, una llamada `wordpress` y otra llamada `database`.\nSi quieres mezclar las versiones puedes hacerlo del siguiente modo.\n\n### Wordpress con Ubuntu y MySQL con CentOS:\n\n```bash\n vagrant up wordpress\n BOX_NAME=\"generic/centos8\" vagrant up database\n```\n\n### Wordpress con CentOS y MySQL con Ubuntu:\n\n```bash\n BOX_NAME=\"generic/centos8\" vagrant up wordpress\n vagrant up database\n```\n\n## Wordpress\n\nUna vez que se hayan levantado todas las VMs podrás acceder a Wordpress en la página: http://192.168.56.2/\n\n\n## Unit tests\n\nPara ejecutar las pruebas unitarias usa el script `tests.sh` si estás en Linux o Mac.\n\n```bash\n ./tests.sh\n Seleccione una opción:\n 1. Ejecutar pruebas unitarias en una VM\n 2. Ejecutar pruebas unitarias en un contenedor\n 3. Ejecutar pruebas de integración e infraestructura\n 4. Salir\n Opción: \n```\n\nSi seleccionas 1 se ejecutará una VM usando Vagrant y ejecutará las pruebas unitarias.\n\nSi seleccionas 2 se ejecutarán las pruebas unitarias usando Docker.\n\nTambién puedes seleccionar una de estos dos opciones desde el script para no pasar por el menú:\n\n```bash\n # Para ejecutar las pruebas unitarias en una VM.\n ./tests.sh vm\n\n # Para ejecutar las pruebas unitarias en Docker.\n ./tests.sh docker\n```\n\n## Pruebas de integración e infraestructura\n\nPara ejecutar todas las pruebas de integración usa el script `tests.sh` opción 3:\n\n```bash\n ./tests.sh\n Seleccione una opción:\n 1. Ejecutar pruebas unitarias en una VM\n 2. Ejecutar pruebas unitarias en un contenedor\n 3. Ejecutar pruebas de integración e infraestructura\n 4. Salir\n Opción: \n```\n\nSi deseas ejecutar una a una las pruebas de integración e infraestructura entonces pásale el nombre de la receta al script `tests.sh`:\n\n```bash\n # Para ejecutar las pruebas de integración e infraestructura de la base de datos\n ./tests.sh database\n\n # Para ejecutar las pruebas de integración e infraestructura de Wordpress\n ./tests.sh wordpress\n\n# Para ejecutar las pruebas de integración e infraestructura del proxy\n ./tests.sh proxy\n```\n\n# Referencias:\n\n- Chef Documentation: https://docs.chef.io/\n- ChefSpec: https://docs.chef.io/workstation/chefspec/\n- ServerSpec: https://serverspec.org/resource_types.html\n- Test Kitchen: https://docs.chef.io/workstation/kitchen/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcppmx%2Fwordpress_chef","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcppmx%2Fwordpress_chef","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcppmx%2Fwordpress_chef/lists"}