This is my base development environment for some of my projects.
Requirements on your host machine
- vagrant
- composer
vagrant plugin install vagrant-omnibus
- add line
10.0.0.3 example.com.dev
to your/etc/hosts
vagrant up
Now you have a clean dev environment. Please notice that the VM needs a htdocs
folder to bind the nginx document root on.
You can create it with mkdir dirname
or add your git project as submodule. Last one is recommended.
One more thing needed is an config file vagrant_config.json
inside of the htdocs folder.
This is where chef get's it's informations from.
vagrant_config.json
{
"type": "typo3-neos",
// Defines what type of Open-Source System you want to install.
"name": "example.com",
// Domain-Name of your project.
"nameClean": "exampleCom"
// Clean Domain-Name of your project, used as e.g. database name.
}
This setup belongs to your defined type
from your vagrant_config.json
.
- In your
vagrant_config.json
settype
totypo3-neos
- add
TYPO3:
Flow:
core:
subRequestPhpIniPathAndFilename: '/etc/php5/fpm/php.ini'
to your global Settings.yaml
vagrant ssh
into your VM and setdate.timezone
in your/ec/php5/fpm/php.ini
- go to
http://example.com.dev/setup
and use yournameClean
as your database name and "root" for user and password
My best practice is to use PhpStorm with "Deployment" set up an "Automatic Upload" enabled.
Connection
- Type: SFTP
- Host: 10.0.0.3
- Port: 22
- Root path: /var/www
- User name: vagrant
- Auth type: Key pair
- Private key file: ~/.vagrant.d/insecure_private_key
Mappings
- Local path: PROJECT_PATH/htdocs