Create new sites with ClientID as a file owner.

Discussion in 'Installation/Configuration' started by kadikey-developer, Dec 17, 2024.

  1. kadikey-developer

    kadikey-developer New Member

    Are there any way to configure ISPConfig 3.2 so, that when I create a new site, it's folder and owner will be the clientID as group is?

    ADDED:
    I'm trying to create website with git repo in pre site directory. A lot og webhostings use public_html as name of the directory where site's files are. So I need to do the same in the ISPConfig, because I'm going to use it as demo websites.
    I found the place in nginx_plugin.inc.php where I can add a creation of public_html dir. And set it as root in NGINX directives. But when I create a shell user it can't do anything in ../clientid/ directory, so I can't init a repo there.
     
    Last edited: Dec 26, 2024 at 2:21 PM
  2. till

    till Super Moderator Staff Member ISPConfig Developer

    No. Each website has its own user. But you can create vhost alias domains if you want to have more than one site running under the same user. Vhost alias domains can be enabled under System > Interface > main config. But security wise, you better create websites as this isolates sites properly.
     
    ahrasis likes this.
  3. kadikey-developer

    kadikey-developer New Member

    I wanted to use sftp connetcion to the sites and tunneling to able use Xdebug. It will be harder to always create new user for that manual, so I'd like to use common user for Client.
     
  4. till

    till Super Moderator Staff Member ISPConfig Developer

    That's not the way ISPConfig works, and your client will be happy not to lose all his sites at once in case one site gets hacked. So, using separate users per site is an important security factor.
     
    Farsus and ahrasis like this.
  5. kadikey-developer

    kadikey-developer New Member

    But I see that it adds website_id to sshusers group? what is it for and how can I connect this user via ssh?
     
  6. ahrasis

    ahrasis Well-Known Member HowtoForge Supporter

    What do you mean? You know that you can create sftp user in ISPConfig GUI, and use its credential to connect via ssh right?

    If you do not want to create it manually in ISPConfig GUI, how do you wish to do it?

    I remember there was a plugin created by our member which work like a wizard to create all things including ssh access while creating a site, but I am not sure whether that is what you are looking for.

    I don't have its link ready but you may search for it if that is what you want.
     
  7. till

    till Super Moderator Staff Member ISPConfig Developer

    That's a website user and not client user. See post #2.


    Login to ISPConfig, go to the website module and add a new shell user for that website. You can find it in the menu on the left side.
     
    ahrasis likes this.
  8. nhybgtvfr

    nhybgtvfr Well-Known Member HowtoForge Supporter

    technically, he can achieve what he wants by creating all of that clients additional websites after the first site, as vhost alias domains, each with their own root folder alongside web, eg /web2, /web3 etc..
    can't say i think that's a good idea though.. especially, as already stated, from a security standpoint..
    beyond a few specific purposes for vhost subdomains and vhost aliasdomains, it's still much better to keep everything as completely separate websites.
     
    till and ahrasis like this.
  9. kadikey-developer

    kadikey-developer New Member

    Can't understand how can I use aliases or subdomains? When I create one of them - no folders are created.
    Can you explain in more detail?
     
  10. till

    till Super Moderator Staff Member ISPConfig Developer

    He said vhost alias and vhost subdomains, not normal alias or subdomains. Btw. I told you the same in post #2 incl. the steps on how to enable them.
     
  11. kadikey-developer

    kadikey-developer New Member

    Sorry. Now I tried this way. But in this way public_html creates as symbolic link.

    I updated the first post to explain what I'm trying to do.
     
  12. till

    till Super Moderator Staff Member ISPConfig Developer

    ISPConfig does not use a folder public_html at all, the web root document folder is called "web". Its neither useful nor required for any application to change that. Thank you for clarifying what you intend to do, you should have said that right away, as that's completely different from what you requested in this thread before. So, nothing that you asked for regarding user ID's or altering web folder or permissions is needed to achieve your goal. All you need is a subroot directory directive. You upload your application to the web directory as usual and then set the subroot to public_html.

    The first step to fixing your system is to undo all the changes you manually made to ispconfig files, directory and symlink settings or folder permissions. They are unnecessary or and not useful and will prevent your server from working correctly. If you do not remember exactly what you changed, then reinstall the server.

    Here is the link on how to install a CMS or other software e.g. based on Laravel framework which have a hardcoded public or public_html folder in the app code.

    https://forum.howtoforge.com/threads/change-the-document-root-to-public.93093/#post-460538
     
  13. till

    till Super Moderator Staff Member ISPConfig Developer

    No, there is no symbolic link used for the folder of a vhost subdomain on a standard ISPConfig system. You must have changed the standard settings or ISPConfig code if you got a symlink instead of a folder. But this does not matter for your issue as you just had to use the subroot nginx directive and you should revert your config to function properly anyway.
     

Share This Page