{"id":14986169,"url":"https://github.com/ytake/gardening","last_synced_at":"2025-04-11T20:32:06.107Z","repository":{"id":57088234,"uuid":"48945078","full_name":"ytake/gardening","owner":"ytake","description":"Vagrant Box(centos7) for PHP web developers.","archived":false,"fork":false,"pushed_at":"2018-05-28T18:06:08.000Z","size":47,"stargazers_count":26,"open_issues_count":1,"forks_count":8,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-25T18:21:18.106Z","etag":null,"topics":["centos7","couchbase","elasticsearch","fluentd","gardening","hhvm","php","vagrant"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/ytake.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}},"created_at":"2016-01-03T12:37:08.000Z","updated_at":"2023-07-12T18:38:11.000Z","dependencies_parsed_at":"2022-08-20T16:00:28.361Z","dependency_job_id":null,"html_url":"https://github.com/ytake/gardening","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytake%2Fgardening","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytake%2Fgardening/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytake%2Fgardening/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ytake%2Fgardening/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ytake","download_url":"https://codeload.github.com/ytake/gardening/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248125627,"owners_count":21051770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["centos7","couchbase","elasticsearch","fluentd","gardening","hhvm","php","vagrant"],"created_at":"2024-09-24T14:12:28.603Z","updated_at":"2025-04-11T20:32:01.093Z","avatar_url":"https://github.com/ytake.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gardening\n\npre-packaged Vagrant box that provides you a wonderful development environment  \nwithout requiring you to install PHP(7.0 ~ 7.2), a web server(Nginx or Apache),  \nand any other server software on your local machine.\n\nphp7 box:\n\n```json\n{\n  \"require-dev\": {\n    \"ytake/gardening\": \"~1.0\"\n  }\n}\n```\n\n(supported for virtualbox only)\n\n## boxes\nhttps://atlas.hashicorp.com/ytake\n\n## Included Software\n - CentOS 7\n - Git\n - PHP 7.x (remi repository)\n - Apache (2.4.6)\n - Nginx (1.14)\n - MySQL (5.7)\n - Sqlite3\n - PostgreSQL (10.1)\n - Composer (1.5)\n - Node.js (Gulp, webpack)\n - Redis(4.0)\n - Memcached\n - Elasticsearch(6.1)\n - Kibana(6.1)\n - MongoDB\n - Java(1.8)\n - fluentd\n - Couchbase(5.1)\n - beanstalkd(1.10)\n - RabbitMQ(3.7.2)\n - Apache Cassandra(3.11)\n - Apache Spark(2.2.1)\n - Apache Kafka(1.0.0 / Confluent Platform)\n \n## included php extensions\n\n```\n[PHP Modules]\namqp\napc\napcu\nast\nbcmath\nbz2\ncalendar\ncassandra\nCore\ncouchbase\nctype\ncurl\ndate\ndom\nds\nevent\nexif\nfileinfo\nfilter\nftp\ngd\ngeoip\ngettext\ngmp\ngrpc\nhash\niconv\nigbinary\nimagick\nintl\njson\nldap\nlibsodium\nlibxml\nmbstring\nmcrypt\nmemcached\nmemprof\nmongodb\nmsgpack\nmysqli\nmysqlnd\nopenssl\npcntl\npcre\npcs\nPDO\npdo_dblib\npdo_mysql\npdo_pgsql\npdo_sqlite\npdo_sqlsrv\npgsql\nphalcon\nPhar\nphpiredis\nposix\nprotobuf\nrdkafka\nreadline\nredis\nReflection\nsession\nshmop\nSimpleXML\nsoap\nsockets\nsodium\nsolr\nSPL\nsqlite3\nsqlsrv\nssh2\nstandard\nStomp\nswoole\nsysvmsg\nsysvsem\nsysvshm\ntokenizer\nuopz\nuuid\nwddx\nxdebug\nxhprof\nxml\nxmlreader\nxmlrpc\nxmlwriter\nxsl\nyaml\nZend OPcache\nzip\nzlib\nzmq\n\n[Zend Modules]\nXdebug\nZend OPcache\n```\n\n## Composer global\nincluded:\n - friendsofphp/php-cs-fixer\n - squizlabs/php_codesniffer\n - phpmd/phpmd\n\n## MySQL and PostgreSQL, RabbitMQ\n - user: gardening\n - password: 00:secreT,@\n\n## Xdebug\ndefault:\n```\nxdebug.remote_enable = 1\nxdebug.remote_connect_back = 1\nxdebug.max_nesting_level = 512\nxdebug.idekey = PHPSTORM\n```\n\n### php7.0\n\n```\nxdebug.remote_port = 9070\n```\n\n### php7.1\n\n```\nxdebug.remote_port = 9071\n```\n\n### php7.2\n\n```\nxdebug.remote_port = 9072\n```\n\n## Install Gardening Box\n\n### case 1, your \"home\" directory\n```bash\n$ cd ~\n$ git clone https://github.com/ytake/gardening.git gardening\n```\n\nsetup.sh(Windows .bat) command from the gardening directory to create the vagrant.yaml configuration file.(~/.gardening hidden directory)\n\n```bash\n$ bash setup.sh\n```\n\n### case2, Per Project Installation\n\nTo install gardening directly into your project, require it using Composer:\n\n```bash\n$ composer require ytake/gardening --dev\n```\n\nuse the make command to generate the Vagrantfile and gardening.yaml(or gardening.json) file in your project root.\n\n```bash\n$ ./vendor/bin/gardening gardening:setup\n```\n\ngardening.json:\n```bash\n$ ./vendor/bin/gardening gardening:setup --filetype=json\n```\n\n## Configuration\n\n### Choose Web Server\ndefault Nginx\n\n```yaml\nweb_server: nginx\n```\n\nApache can be selected if necessary\n\n```yaml\nweb_server: httpd\n```\n\n### Choose PHP version\ndefault PHP7.2\n\n```yaml\nphp-alternatives: \"7.1\"\n```\n\n(7.0 or 7.1 or 7.2)\n\n### Configuring Shared Folders\n\n```yaml\nfolders:\n    - map: /path/to/yourProject\n      to: /home/vagrant/yourProjectName\n```\n\nmany shared folders:\n```yaml\nfolders:\n    - map: /path/to/yourProject\n      to: /home/vagrant/yourProjectName\n    - map: /path/to/yourSecondfProject\n      to: /home/vagrant/yourSecondProjectName\n```\n\n### Configuring Sites\n```yaml\nsites:\n    - map: gardening.app.vagrant\n      to: /home/vagrant/yourProject/public\n```\n\nmany sites:\n```yaml\nsites:\n    - map: gardening.app.vagrant\n      to: /home/vagrant/yourProject/public\n    - map: gardening.second.app\n      to: /home/vagrant/yourSecondProject/public\n```\n\nuse symfony by setting the type option:\n```yaml\nsites:\n    - map: gardening.app.vagrant\n      to: /home/vagrant/yourProject/public\n      type: symfony\n```\n\n**symfony: symfony2, 3 / symfony4: symfony4**\n\n#### Multiple PHP Versions\n\n```yaml\nsites:\n    - map: gardening.app.vagrant\n      to: /home/vagrant/yourProject/public\n      php: \"7.1\"\n    - map: gardening.second.app\n      to: /home/vagrant/yourSecondProject/public\n      php: \"7.2\"\n```\n\n### Optional\n\n#### Fluentd\n\n[Fluentd](https://www.fluentd.org/)\n\nuse Fluentd by setting the fluentd option to true:\n\n```yaml\nfluentd: true\n```\n\n#### MongoDB\n\n[MongoDB](https://www.mongodb.com/)\n\nuse MongoDB by setting the mongodb option to true:\n\n```yaml\nmongodb: true\n```\n\n#### Elasticsearch\n\n[Elasticsearch](https://www.elastic.co) \n\nuse Elasticsearch by setting the elasticsearch option to true:\n\n```yaml\nelasticsearch: true\n```\n\n#### Kibana\n\n[Kibana](https://www.elastic.co/products/kibana)\n\nuse Kibana by setting the kibana option to true:\n\n```yaml\nkibana: true\n```\n\n*Access to Kibana http://vagrantIpAddress:5601/app/kibana*\n\n#### Couchbase\n\n[Couchbase](https://www.couchbase.com/)\n\nuse Couchbase by setting the couchbase option to true:\n\n```yaml\ncouchbase: true\n```\n\n*Access to admin console http://vagrantIpAddress:8091*\n\n#### Apache Cassandra\n\n[Cassabdra](http://cassandra.apache.org/)  \n[Cassabdra(DataStax)](http://docs.datastax.com/en/landing_page/doc/landing_page/current.html)  \n\nuse Apache Cassandra by setting the cassandra option to true:\n\n```yaml\ncassandra: true\n```\n\n#### RabbitMQ\n\n[RabbitMQ](https://www.rabbitmq.com/)\n\nuse Couchbase by setting the rabbitmq option to true:\n\n```yaml\nrabbitmq: true\n```\n\n*Access to rabbitmq management web ui http://vagrantIpAddress:15672*\n\n#### Apache Kafka (Confluent Platform)\n\n[Apache Kafka](https://kafka.apache.org/)  \n[Confluent](https://docs.confluent.io/current/)\n\nuse Kafka by setting the confluent option to true:\n\n```yaml\nconfluent: true\n```\n\n### Ports\n\nBy default, the following ports are forwarded to your gardening environment:\n\n - SSH: 2222 → Forwards To 22\n - HTTP: 8000 → Forwards To 80\n - HTTPS: 44300 → Forwards To 443\n - MySQL: 33060 → Forwards To 3306\n - Postgres: 54320 → Forwards To 5432\n - MongoDB: 47017 → Forwards To 27017\n - Elasticsearch: 19200 → Forwards To 9200\n - kibana: 56010 → Forwards To 5601\n - Cassandra: 19042 → Forwards To 9024\n - Kafka: 19092 → Forwards To 9092\n  \nForwarding Additional Ports:\n```yaml\nports:\n    - send: 7777\n      to: 777\n```\n\n## Notice","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fytake%2Fgardening","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fytake%2Fgardening","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fytake%2Fgardening/lists"}