We are having a PHP/MYSQL based product which is sold to the market. At the moment the product is being managed by a small team who have full control and access to the product. We Zend encode the application before deploying it to the clients intranet. The application runs on Windows platform and we are using XAMPP for it. The installation is done in a typical way of installing XAMPP first and then doing manual configuration of INI files and importing of MYSQL database and setting its permissions and passwords.After the deployment the clients also give us minor customizations in the current functionality of the product which is done by our team and they do a second round of deployment.
Now our development team is growing and we want to make the above more systematic and achieve the following :
The main product code and application should be visible to only the main core development team and shouldnt be accesible to the other developers. The other developers should have limited access to the application and should be able to do the customizations in the product.
We want to have some kind of EXE setup mechamism which can be given to the installation team and everything can be done through simple clicks rather than installing and configuring everything manually.
At the same time , we want the product to be safe. We want to ensure that once installed in a machine , the code db cannot be taken else where and installed some where else. Some license key kind of mechanism is required.
Can someone advise how should the product architecture be in order to achieve the above. Kindly provide some more explanation on how to achieve each point.
Thanking you guys in advance.