When developing on Symfony 2 applications you must have noticed that using the
app/console application messes up the file permissions of the cache and
logs folder. Especially when your apache webserver is running as e.g.
www-data (which is often the case and it is good practice too).
By using apache-mpm-itk you can tell apache to serve/create files as if it was
running as that user. The apache daemon process is still owned by and running
A common practice is to configure your apache virtual host file to use the
UserId of your user. That way, all files generated in the
directory will always be owned by the same user. Then you do not have to worry
about setting umasks or applying world read/write permissions.
If you already have apache installed - do not worry - the following will replace your current apache installation without overwriting your configuration files.
# Update your package list $ sudo apt-get update # Install apache-mpm-itk and restart it $ sudo apt-get install apache-mpm-itk $ sudo service apache2 restart
Edit the virtual host file of your application:
$ vim /etc/apache2/sites-available/your-vhost.conf
And include the following configuration (replace
with your unix username and groupname):
<IfModule mpm_itk_module> AssignUserId username groupname </IfModule>
Save the file and restart apache
$ sudo service apache2 restart
Make sure you fix your application files permissions and ownership:
$ cd /to/your/apps/folder $ chown -R user:group . $ chmod 755 app/cache app/log $ rm -rf app/cache/* $ php app/console cache:clear --env=dev