How to package and distribute a web system?

25

I need a web system, including the PHP server itself, as well as MySQL to be "packaged" in an executable file, which allows the lay user to use it in a kind of browser of their own. What steps would you need to take to make this system distributable?

Edit : PHP and MySQL I can install manually, but I still do not know how to do a browser for the system.

    
asked by anonymous 07.01.2014 / 03:24

4 answers

15

Considering that you can install PHP and MySQL on your client's computer, then just create a fake domain using the Windows hosts file (C: \ Windows \ System32 \ drivers \ etc \ hosts). >

# Localhost
127.0.0.1 localhost
127.0.0.1 meusite.dev

But you need to create a virtual host through httpd.conf:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName meusite.dev
    DocumentRoot "C:\Users\Nome\Documents\.....\pasta_do_site"
</VirtualHost>

And ask him to visit link in the browser.

The only other alternative I imagine is hosting the site on some test server.

=============

Editing: I've converted my comment in response:

You can do the following:

  • Install Google Chrome;
  • Open the development address;
  • Click the three bars icon in the upper right corner;
  • Choose "Tools > Create application shortcut" and check "Desktop."
  • And ready you have a dedicated browser for the site in question, no back button, address bar, etc. with icon on the desktop. See also link

    The result looks like this:

        
    07.01.2014 / 03:44
    6

    A workaround would be to create your own installer and include the sub-installations of the required programs. NSIS is a good tool to do this.

    WAMP

    The first step of the main installation would be to install a WAMP package, for example, from Bitnami . To do this without user intervention the package with the parameter --mode unnatended ( source ). The main installation could check if the WAMP package is already installed and skip this step if so.

    In this first step, you could still install the required applications separately. Apache, PHP and MySQL (up to the version I used at least) work if we run the binaries directly from the installation folder. So in fact, if there is time and need, you could create a custom WAMP, the advantage of which is the smaller package size and the less unnecessary elements installed on the client.

    Browser

    For navigation, there are topics in some forums on how to leave a Firefox Portable without toolbars. I did not try this idea, but I already used the portable version of this browser and I know it works.

    Another option would be to create a small executable (in another language, of course) with a built-in browser. Many years ago I used to do this in Delphi or VB including some DLL's that allowed putting a component with Internet Explorer inside a window. The program only needs a simple window that always opens the system on the home page, although it is possible to include some interesting features, such as a special window for login data that then makes a request to the local server before opening the system itself or a listener that logs out the user when it closes the window.

    Application

    After that, it is necessary to extract the application files in the WAMP directory, in addition to the necessary configuration files, which can be obtained from a test installation.

    A final step would be to create the database structure, which can still be done in the installation through a PHP command line script or in the first access of the application through a wizard to l Wordpress.

    Update

    And an epilogue in this story would be to upgrade the system via PHP even using an SVN or GIT extension, or even downloading a zip from the web.

    Alternative: Virtual Machine

    One last alternative I would consider would be a Virtual Machine (VM) with the preconfigured system environment. In the case of Windows could be created a service associated with this VM that turns on / off or saves / restores its state when the OS is started or turned off.

    There are sites that provide lean linux-based VMs that can be used for such purposes. For example, TurnKey Linux .

        
    07.01.2014 / 11:37
    5

    I've done some testing and enjoyed TideSDK . You create the system with html, javascript, php etc, package and distribute for mac, linux and windows. Already with an SDK browser, you do not need anything else. They are soon migrating to tideKit

        
    07.01.2014 / 12:38
    2

    I found a site that brings a few more alternatives beyond the already mentioned here, as well as the pros and cons of each one, also bringing its main features.

    07.01.2014 / 23:41