Apache User?

I am confused did the following and it seems that I have no permissions

Using centos7

I did the following :

useradd -d /var/www/giftboundgifts -G apache demo

sudo passwd demo

sudo chgrp -R apache /var/www/giftboundgifts

sudo chmod -R g+w /var/www/giftboundgifts
sudo chmod g+s /var/www/gidtboundgifts

my permissions says demo:apache but cs-cart don't run unless I have it apache:apache

Why?

Depends on what type of PHP invocation is used in your Virtualhosts file.

If using suPHP, then the ownership of the document root directiory (normally public_html or www) needs to be demo/nobody (assuming Apache is running as apache/nobody). Because Apache runs as apache/nobody and then after it reads the .htaccess file (using the group permission to access the directory) it will SU to the user in your Virtualhosts definition (assuming you have it as demo).

If you're not using suPHP, then ownership should be apache/apache (assuming that's what apache user is setup as).

But it all depends on what you have specified in your Virutalhosts directives and how Apache is configured for your server. It would appear that you have a dedicated server and are NOT using cPanel or other administrative interface.