phpvms/README.md

111 lines
3.7 KiB
Markdown
Executable File

# phpvms <sup>7</sup>
[![Build Status](https://travis-ci.org/nabeelio/phpvms.svg)](https://travis-ci.org/nabeelio/phpvms) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/d668bebb0a3c46bda381af16ce3d9450)](https://www.codacy.com/app/nabeelio/phpvms?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=nabeelio/phpvms&amp;utm_campaign=Badge_Grade) [![Total Downloads](https://poser.pugx.org/nabeel/phpvms/downloads)](https://packagist.org/packages/nabeel/phpvms) [![Latest Stable Version](https://poser.pugx.org/nabeel/phpvms/v/stable)](https://packagist.org/packages/nabeel/phpvms) [![Latest Unstable Version](https://poser.pugx.org/nabeel/phpvms/v/unstable)](https://packagist.org/packages/nabeel/phpvms) [![License](https://poser.pugx.org/nabeel/phpvms/license)](https://packagist.org/packages/nabeel/phpvms)
The next phpvms version built on the laravel framework. work in progress. If you're looking for
the old, phpVMS classic, it's [available here](https://github.com/nabeelio/phpvms_v2).
# installation
run the following commands. for right now, we're running on sqlite. for mysql, set
`DB_CONNECTION` to `mysql` in the `.env` file.
```bash
cp .env.dev.example .env
composer install --no-interaction
php artisan database:create
php artisan migrate:refresh --seed
```
then point your webserver to the `/public` folder. for example, in nginx:
```nginx
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /var/www/laravel/public;
index index.php index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
}
```
## development environment
For development, copy the included `.env.dev.example` to `.env` file. By default, it uses sqlite
instead of mysql. This makes it much easier to be able to clear the database and new fixtures.
The easiest way to load locally is to install [Laravel Valet](https://laravel.com/docs/5.5/valet)
(if you're running a Mac). Once you install it, go to your phpvms directory, and run:
```bash
cp .env.dev.example .env
php artisan key:generate
make install # this will install everything
valet link phpvms
```
Now going to [http://phpvms.dev](http://phpvms.dev) should work. If you want to use mysql,
follow the valet directions on installing mysql (`brew install mysql`) and then update the
`.env` file to point to the mysql.
The default username and password are "admin@phpvms.net" and "admin".
To see the available users in the development environment, [see this file](https://github.com/nabeelio/phpvms/blob/master/database/seeds/dev.yml#L10)
### creating/resetting the environment
I use Makefiles to be able to quickly setup the environment.
```bash
# to do an initial setup of the composer deps and install the DB
make install
```
Then to reset the database/clear cache, use:
```bash
make reset
```
### database seeding
There is a `database/seeds/dev.yml` which contains the initial seed data that can be used
for testing. For production use, there is a `prod.yml` file. The `make reset` handles seeding
the database with the data from the `dev.yml`.
### virtual machine
Using [Laravel Homestead](https://laravel.com/docs/5.4/homestead) is one way to get your dev
environment working if you're on Windows or don't want to install any Homebrew services
on your Mac. Follow their instructions for install. A `Vagrantfile` and `Homestead.yaml`
is included here. Add this to your `/etc/hosts`:
```bash
127.0.0.1 phpvms.app
```
And then to launch:
```bash
vagrant up
```
And then accessing it via `http://phpvms.app` should just work.
(TODO: redis information, etc)
# updating
extract files and run the migrations:
```bash
php artisan migrate
```
![](http://i.imgur.com/bMh1xn6.png)