mirror of
https://github.com/OPSnet/Gazelle.git
synced 2026-01-16 18:04:34 -05:00
79 lines
2.9 KiB
Plaintext
79 lines
2.9 KiB
Plaintext
INSTALLATION NOTES
|
|
|
|
Note: We make no guarantee of completeness or accuracy of these install notes.
|
|
The most up-to-date notes on a basic install setup is found through our
|
|
docker-compose.yml setup we use for development. Please reference it before
|
|
asking questions.
|
|
|
|
Note: If overwhelmed by the these instructions, we urge you to NOT run a tracker
|
|
in production. Doing such requires more additional steps not covered here
|
|
(setting up proxies, tunneling, LUKS encryption, TCP tuning, etc.) that messing
|
|
up would put the privacy / security of both yourself and your users at risk.
|
|
|
|
The docker installation does all this for you, but in production you need
|
|
to do this by hand.
|
|
|
|
1. First, install the PHP and JS dependencies to setup and run the site.
|
|
|
|
composer install
|
|
npm install
|
|
|
|
2. Install and setup the following services:
|
|
* MySQL
|
|
* memcached
|
|
* sphinxsearch
|
|
|
|
Depending on your OS, these may be available in the package manager. You can see
|
|
what versions of the above we support by looking at our docker-compose.yml
|
|
configuration.
|
|
|
|
3. For up memcached, we recommend giving it multiple threads and several
|
|
gigs of RAM, for example:
|
|
|
|
memcached -d -m 5120 -s /var/run/memcached.sock -a 0777 -t4 -C -u nobody
|
|
|
|
This will give memcached 4 threads and 5GB of RAM. Tune this accordingly
|
|
depending on how large your server and how many users you have. Look at
|
|
your cache eviction. If you are seeing hundreds of items evicted per second,
|
|
you need to scale up drastically. If you are seeing zero evictions, you
|
|
have allocated too much RAM and should scale down. Ideally you should only
|
|
see expired unfetched activity.
|
|
|
|
4. Create the required Mysql roles according to 01-MysqlRoles.txt
|
|
Use www.random.org to generate passwords.
|
|
|
|
5. Review lib/config.php. Edit lib/override.config.php as needed.
|
|
You should be able to launch boris from the command line.
|
|
|
|
6. Run the phinx migrations to populate the database.
|
|
|
|
vendor/bin/phinx migrate
|
|
vendor/bin/phinx migrate -c misc/phinx-pg.php
|
|
|
|
7. Configure Sphinx - we recommend you use the included misc/docker/sphinxsearch/sphinx.conf
|
|
You can copy this to /etc/sphinx/sphinx.conf. You need to fill in the
|
|
details of the SQL server from lib/override.config.php and you may need to
|
|
create the `/var/lib/sphinx` folder.
|
|
|
|
More information is available at: https://sphinxsearch.com/docs/current.html
|
|
|
|
Run the indexer to finish the setup:
|
|
|
|
/usr/bin/indexer -c /etc/sphinx/sphinx.conf --all
|
|
|
|
8. Generate stylesheets and their previews by running the following:
|
|
|
|
npm run build
|
|
|
|
Note, generating the previews requires a Chrome instance on the host.
|
|
|
|
9. Setup your web server. We recommend using nginx (https://www.nginx.com/).
|
|
A sample configuration for nginx can be found in misc/docker/web/nginx.conf.
|
|
|
|
10. Set up the cronjobs for the background task scheduler and Sphinx updates.
|
|
|
|
see docs/crontab
|
|
|
|
11. Start modifying stuff. Hopefully, everything will have gone smoothly so far
|
|
and nothing will have exploded (ha ha ha)
|