https://github.com/neikei/vagrant-debian-ansible-lemp
LEMP development environment for Symfony projects. Debian, Nginx, MySQL/MariaDB, PHP 7.3, Node.js and Symfony are preconfigured in the Vagrantbox with Ansible.
https://github.com/neikei/vagrant-debian-ansible-lemp
composer debian development-environment jessie lemp mysql nginx node-sass nodejs parallels php phpunit redis stretch symfony symfony3 symfony4 vagrant virtualbox webserver
Last synced: 3 months ago
JSON representation
LEMP development environment for Symfony projects. Debian, Nginx, MySQL/MariaDB, PHP 7.3, Node.js and Symfony are preconfigured in the Vagrantbox with Ansible.
- Host: GitHub
- URL: https://github.com/neikei/vagrant-debian-ansible-lemp
- Owner: neikei
- License: gpl-3.0
- Archived: true
- Created: 2017-02-15T14:54:36.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2020-02-10T17:20:58.000Z (about 5 years ago)
- Last Synced: 2024-09-30T16:02:39.236Z (7 months ago)
- Topics: composer, debian, development-environment, jessie, lemp, mysql, nginx, node-sass, nodejs, parallels, php, phpunit, redis, stretch, symfony, symfony3, symfony4, vagrant, virtualbox, webserver
- Language: Shell
- Homepage:
- Size: 160 KB
- Stars: 13
- Watchers: 4
- Forks: 10
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Vagrant-Debian-Ansible-LEMP
[](https://travis-ci.org/neikei/vagrant-debian-ansible-lemp) [](https://github.com/nikku/works-on-my-machine)
This is a development environment for [Symfony](https://symfony.com/) projects on a Debian based Vagrantbox.
## Included components
| Software | Debian Jessie | Debian Stretch | Tested |
|----------|---------------|----------------|----------|
| Debian | 8.11 | 9.6 | ✓ |
| Nginx | 1.14.2 | 1.14.2 | ✓ |
| MySQL | 5.5.62 | - | ✓ |
| MariaDB | - | 10.1.37 | ✓ |
| Redis | 2.8.17 | 3.2.6 | ✓ |
| PHP | 7.3 | 7.3 | ✓ |
| PHPUnit | 8.0.4 | 8.0.4 | ✓ |
| Composer | 1.8.4 | 1.8.4 | ✓ |
| Node.js | 8.15.0 | 8.15.0 | ✓ |
| Symfony | 3.4 or 4.2 | 3.4 or 4.2 | ✓ |## Requirements
- Hypervisor
- Virtualbox on Windows and Linux >= 5.2.4
- Parallels on Mac OS >= 10
- Vagrant >= 2.0.1
- Vagrant Plugins:
- vagrant-hostmanager # necessary for host entries
- vagrant-vbguest # recommended for virtualbox users
- vagrant-winnfsd # only for Windows## Getting started
1. git clone https://github.com/neikei/vagrant-debian-ansible-lemp.git
2. cd vagrant-debian-ansible-lemp
3. vagrant up --provider=virtualbox OR vagrant up --provider=parallels
4. ... wait ...
5. Check the initial webpage: http://lemp.test/## Default access
- Default project: http://lemp.test/
- Default web root: /vagrant/web
- Symfony projects: http://example.lemp.test
- Symfony web root: /vagrant/example
- Database: 192.168.56.111:3306
- user: admin
- password: changeme
- root is allowed to access the database from localhost without a password
- Redis: 127.0.0.1:6379## Symfony3 Debugging
The app_dev.php file of your application has to allow the first IP of the configured network. In the config.yaml example you have to allow the IP '192.168.56.1' in your app_dev.php to use http://example.lemp.test/app_dev.php for debugging.
```php
if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !(in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', '::1', '192.168.56.1'], true) || PHP_SAPI === 'cli-server')
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
```## xDebug
xDebug is available on port 9000 from your local machine to debug your application with tools like PHPStorm.
## Configuration
Check the config.yml if you want to modify the following settings.
```yaml
configs:
os: "9.6" # Choose between 8.11 and 9.6 (change requires: vagrant destroy & vagrant up)
private_ip: "192.168.56.111" # VM IP in your host-only-network
vmname: "symfony-development" # VM name for Virtualbox
servername: "lemp.test" # Servername and domain for your projects
projectnames: # Comma-separated list with your symfony projectnames (change requires: vagrant provision & vagrant hostmanager)
- example # Generated URL => example.lemp.test
symfony_version: 4.2 # Symfony version like 4.2 or 3.4
```Every servername or projectname change needs an update of your local hostfile.
```bash
vagrant hostmanager
```## Screenshot

## Feedback, Issues and Pull-Requests
Feel free to report issues, fork this project and submit pull requests.