Getting started

Setup a new application

The easiest way to setup a minimal Vitya application is to use the application template. The only requirements are a working PHP 7.4 installation and the composer utility.

To deploy a minimal application, run the following command in your terminal:

composer create-project vitya/application-template my-new-project -s alpha

And that’s all you have to do! There’s now a new directory called my-new-project containing a working Vitya application. It even comes with a rudimentary web server, which mean you don’t need to install Apache, Nginx or anything else to start experimenting and developing.

Note

The -s alpha option is necessary for now, since there is no stable release yet. It indicates that you’re OK with installing an alpha version of the package.

Vitya has only been tested on a vanilla Debian 11 system. Any Linux distribution using PHP 7.4 or higher should probably work fine, but it has not been tested.

Access your application using the built-in web server

Once the minimal application is deployed, you can start the built-in web server:

/path/to/my-new-project/cli/server

If everything went fine, your application will be available at <http://localhost:8000>.

If needed, you can specify another port number:

/path/to/my-new-project/cli/server localhost:12345

You can also bind the server to a specific IP address:

/path/to/my-new-project/cli/server 12.34.56.78:8000

And you can even make the server accessible from any network interface:

/path/to/my-new-project/cli/server 0.0.0.0:8000

Danger

The built-in web server is only intended to be used as a development tool! Do NOT use it in a production environment! It’s a really convenient utility, but not performant or secure enough to be used as a production web server. The bottom line is that it’s fine to use it on your personal machine or maybe with some friends or colleagues on a trusted local network, but nothing more.

Next step

The next step will be to explore the file hierarchy of this minimal application. It will also be a good moment to initialize a git repository so that our work is versioned.