Under what user in debian is better to develop?

Asking a question is not casual. The fact that they are now working in debian 10 (buster). The main work front is a frontend, backend. I use Ispconfig is a control panel for websites.

It turns out that for each site I have a single user, a single folder in /var/www/....
And if I go into system under root user, almost no problems - my IDE easy go to the folder with sites and is able to make changes there. But I was confused by messages from some ide and other programs that are undesirable to run them as root.

If I go under my normal user, the ide that I run can't access the folders that ispconfig made for each site.

as I do in this case? to give just a normal user, as root or how can I improve? add it to the sudo group ?

It's important to me as it is to do. because I am self-taught in terms of debian and linux. did a lot at random and reading the manuals, but some problems like this I want to do right now.

How to organize the development process?
April 19th 20 at 12:34
2 answers
April 19th 20 at 12:36
Under his, of course. Ruth is designed to perform administrative actions.
To perform operations as root, use su and/or sudo.
thank you!
please direct on how to act. Develop in subfolders of your home, and on the local web server to throw files over sftp? or need to give themselves extra rights, and have directly in the folder of the sites themselves servers to run the ide ? - Chet_Mraz commented on April 19th 20 at 12:39
@Chet_Mraz, the development is in $HOME, there starts a dev instance of the web server (like all environments can do that. Know Go, Python and Node, for the rest do not know). - guy.Klocko88 commented on April 19th 20 at 12:42
@guy.Klocko88, Oh that's it! - Chet_Mraz commented on April 19th 20 at 12:45
@guy.Klocko88, sorry for a stupid question. just in the home folder of my user need to create folders of type "dev/front/site1 dev.../backend/sitexxx ? - Chet_Mraz commented on April 19th 20 at 12:48
@Chet_Mraz, well, you have a project directory, the repository or what's in it and work. - guy.Klocko88 commented on April 19th 20 at 12:51
April 19th 20 at 12:38
Clearly root access is nothing to develop and generally work once again impossible.
Should be a difference in the environment for the developer and for production environment.
Very bad idea to code directly on the production server, and so the idea of trying to repeat the developer's production environment.
Your code should be built so that he could work from deprivileging user. The code, run it and check should be as comfortable and insulated from the demands of the environment.
Read for example about the concept of CI/CD.
If you have some intermittent issues with the access rights to the files, then you don't understand what's going on. You just need a time to understand this and not to make a cult.

Usually on the developer's machine, the functionality of the site runs directly under ordinary user in an environment with a simplified configuration (no extra caching layers, without optimizations, without protection from any attacks and without CDN). The project must be constructed so that it is easy to switch between the developer's environment and product, and more or less the same to work in these environments in regard to the main part of the development (features, interfaces, view...).

In addition, good practice has now become the deployment environment and the isolation of the site in Docker containers. This is a very cool and promising concept, and it has ALREADY conquered the world. There is no reason why not to use containerization in the development and production. Not so high a barrier of entry Slavoj kompensiruet the disappearance of any hemorrhoids related artifacts and side effects effects of the environment, configuration, and projects with each other.
thank you for the detailed response. what about Docker is all clear. only I do not want to layer on your workstation. too narrow tasks I have. But the fact that production and dev now told you wystapieniu the author is good. So you need in your home already to make a hierarchy of sites razrabotchika and then sync them to the server.

the fact that the administration panel of the website implies the separate use of access rights to different website. I use it - it's easier to control the process and all sites. database. and dev version if without the panels produce, there will be chaos. - Chet_Mraz commented on April 19th 20 at 12:41
@Chet_Mraz, that is, when the development of one of the sites you have something to do with it panel? It turns out that the sites you have are not isolated from each other and without the plate are not separated?
Well, this myself, in fact.
The project, IMHO, should be isolated and not have artifacts in the external dependencies. - Maribel.Co commented on April 19th 20 at 12:44
@Maribel.Co, the exact opposite.
my panel is on your computer. each site is isolated. But the two sites can communicate with each other through the api so I have to develop to run them at the same time so they can through the rest api to communicate. a bar on every site creates a separate user and user, which go into the system there. And if you manually give access rights, it will violate the rules panel. so I was looking for a way how to do it. Well, you understand. there are folders in /var/www/ - where each site is a separate database user for every ssh user and ftp. only root access I was able to simultaneously open two Windows - one in one, in another another. and test with both a information is sent to the second site. and immediately monitor the database in the admin edinoi

so I'm looking for solution how to do it. I'm a dev version will not run in real time so they used my redis queue and did mailing. But it is certainly not the final production. production on dedicated servers. - Chet_Mraz commented on April 19th 20 at 12:47
@Chet_Mraz, so each site you make a separate docker conpose file, every website will rise in their containers, but the network API to see each other.
The one that develop and debug-run in the dev environment, and all other start applications in containers.
Many ides can be configured to start when the project they raised the necessary containers or performed by shell scripts - Maribel.Co commented on April 19th 20 at 12:50

Find more questions by tags Debian