One can always edit imscp code manually (via vim or similar), but it's usually easier to code with an IDE. Since imscp is opensource, the company behind phpstorm allows their developers to have a license, here is a guide on how to setup phpstorm to develop in imscp from linux. ==== Install phpstorm ==== Get the sofware from http://www.jetbrains.com/phpstorm/, this guide is based on the current (as of today v6) There is a test of 30 days for the software (or if you are form the dev team, just ask for the key) ==== New project ==== Create a new project in you computer (even when the server is on another place) Quick Start -> Check out from Version Control -> github Git Repository URL - http://github.com/USERNAME/imscp.git Parent directory - /home/USERNAME/Desktop/phpstorm Directory name - imscp This will do a git checkout of your personal fork into /home/USERNAME/Desktop/phpstorm/imscp ==== Link the project with your server ==== Once the project is create, you have to link it to the server (virtual machine) where imscp is installed To setup this you have to got into Tools -> Deployment, in there you will have to create two different entries (with the + button above left ) == SERVER (/usr/local/src) - For installer related stuff == Connection Name - SERVER (/usr/local/src) Connection - SFTP Root path - / Mappings Local Path - /home/USERNAME/Desktop/phpstorm/imscp Deployment Path - /usr/local/src/imscp == SERVER (/var/www/imscp) - For gui + engine stuff == Connection Name - SERVER (/var/www/imscp) Connection - SFTP Root path - / Mappings Local Path - /home/USERNAME/Desktop/phpstorm/imscp Deployment Path - /var/www/imscp ==== Uploading Changes to the remote server ==== == Upload the changes manually to the server == By default the changes won't be uploaded to the server automatically, to upload your changes manually: Right click to the file name -> Upload To.. -> And choose the proper place either "SERVER (/usr/local/src)" or "SERVER (/var/www/imscp)" == Upload the changes automatically to the server == Tools -> Deployment -> Automatic upload For gui and engine folders -> "SERVER (/var/www/imscp)" For the rest - "SERVER (/usr/local/src)"