Set up the Magento file system owner
Previous step:
This step is optional if you installed nginx as your web server. The Magento file system owner provides root access and permissions, for security reasons on a hosted system. Apache installations require
To enable the web server (Apache) to write files and directories in the Magento file system but to also maintain ownership by the Magento file system owner, both users must be in the same group. This is necessary so both users can share access to Magento files, including files created using the Magento Admin or other web-based utilities.
You need to create a new Magento file system owner and put that user in the web server’s group. If you use an existing user account, we recommend the user account has a strong password for security reasons.
Create the Magento file system owner
Create the Magento file system owner with a strong password. Magento file system owner is another term for the command-line user.
To create the Magento file system owner, enter the following command as a user with root
privileges:
adduser <username>
To give the user a password, enter the following command as a user with root
privileges:
passwd <username>
Follow the prompts on your screen to create a password for the user.
If you don't have root
privileges on your Magento server, you can use another local user account. Make sure the user has a strong password and continue with Put the Magento file system owner in the web server group.
For example, to create a user named magento_user
and give the user a password, enter:
sudo adduser magento_user
sudo passwd magento_user
Because the point of creating this user is to provide added security, make sure you create a strong password.
Find the web server user’s group
To find the web server user’s group:
-
CentOS:
egrep -i '^user|^group' /etc/httpd/conf/httpd.conf
Typically, the user and group name are both
apache
-
Ubuntu:
ps aux | grep apache
to find the apache user, thengroups <apache user>
to find the groupTypically, the user name and the group name are both
www-data
Put the Magento file system owner in the web server’s primary group
Assuming the typical Apache group name for CentOS and Ubuntu, enter the following command as a user with root
privileges:
- CentOS:
usermod -g apache <username>
- Ubuntu:
usermod -g www-data <username>
For example, to add the user magento_user
to the apache
primary group on CentOS:
usermod -g apache magento_user
To confirm your Magento user is a member of the web server group, enter the following command:
groups <user name>
A sample result follows:
magento_user : apache
To complete the task, restart the web server:
- Ubuntu:
service apache2 restart
- CentOS:
service httpd restart