aboutsummaryrefslogtreecommitdiff
path: root/Readme.md
blob: 2add3f355843293d8b28ba29142ce819a8119a8b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# ParseTrainer

A simple app to practice Hebrew verbs.

## Demo

[demo.camilstaps.nl/HebrewParseTrainer][demo]

## Installation

    $ git clone https://github.com/HebrewTools/ParseTrainer
    $ cd ParseTrainer
    $ composer install

## Configuration

First, create a MySQL database and a user that can connect to it. In this example, we'll use `hebrew_db`, `hebrew_user` and `hebrew_pass`.

Create a `.env` file in the root directory with at least the following options:

    APP_ENV=production
    APP_DEBUG=false
    APP_KEY= # a 32-char random string
    APP_URL=https://demo.camilstaps.nl/HebrewParseTrainer/ # e.g., use your own URL here

    APP_LOCALE=en
    APP_FALLBACK_LOCALE=en

    DB_CONNECTION=mysql
    DB_HOST=localhost
    DB_PORT=3306
    DB_DATABASE=hebrew_db
    DB_USERNAME=hebrew_user
    DB_PASSWORD=hebrew_pass

    CACHE_DRIVER=memchached
    SESSION_DRIVER=memcached
    QUEUE_DRIVER=database

Return to the root directory and run:

    $ php artisan migrate --seed

### Nginx

You need to enable PHP and redirect everything to `server.php`. Configuration on the root of a site is straightforward:

    server {
        listen [::]:80;
        server_name myhostname;
        root /.../ParseTrainer;
        index index.php index.html index.htm;
        charset utf-8;

        location / {
            autoindex off;
            try_files $uri $uri/ /server.php$is_args$query_string;
        }

        location ~ \.php$ {
            # whatever you do to make PHP work
        }

        location ~ /\. {
            deny all;
        }
    }

In a subdirectory, we need to enforce trailing slashes and do some special things. This configures nginx to handle the trainer from `/ParseTrainer/`:

    server {
        listen [::]:80;
        server_name myhostname;
        root /...;
        index index.php index.html index.htm;
        charset utf-8;

        rewrite ^([^.]*[^/])$ $1/ permanent;

        location ~ ^/ParseTrainer/(.*)\.php$ {
            try_files $uri $uri/ /ParseTrainer/server.php$is_args$query_string;

            # whatever you do to make PHP work
        }

        rewrite /ParseTrainer/?$ /ParseTrainer/public/index.php;
        location /ParseTrainer {
            try_files $uri $uri/ /ParseTrainer/server.php$is_args$query_string;
        }

        location / {
            autoindex off;
        }

        location ~ /\. {
            deny all;
        }
    }

## License

GPL v3.0, see the LICENSE file.

This project uses the [EzraSIL][ezrasil] font which is licensed under the Open Font License.

[demo]: https://demo.camilstaps.nl/HebrewParseTrainer
[ezrasil]: http://scripts.sil.org/cms/scripts/page.php?item_id=EzraSIL_Home