- Twitter Bootstrap
- Slim micro framework
- Redis key-value NoSQL database
- Pimple dependency injection container
- Twig template engine
- Sphinx search engine
- jQuery javascript library
- GetId3 media file parser
- Codeception testing PHP framework
- Selenium automates browsers
- PHP >= 7.1 and extensions:
mbstring
PDO
pdo_mysql
pdo_pgsql
pgsql
redis
gd
- PostgreSQL
- Sphinx
- Redis
- Composer
- Use the
git clone https://github.com/Qevg/filehosting.git
command to clone the repository - Use the
cd filehosting
command to go to the project directory - Use the
composer install
command to install dependencies
- Use the
make configure-docker-production
command to configure production enviroment - Start the containers
docker-compose -f docker-compose.production.yml up
- Restore database dump
docker exec -i $(docker-compose -f docker-compose.production.yml ps -q postgres) psql -U filehosting -d filehosting_production < filehosting.sql
- Install php extensions:
mbstring
PDO
pdo_mysql
pdo_pgsql
pgsql
redis
gd
- Change configuration in the
config/config_production.json
andconfig/sphinx.conf
- Сonfigure the web server as specified here
- Set
public
directory as a document root on your web server - Configure params
file_uploads
,upload_max_filesize
,post_max_size
,max_file_uploads
,client_max_body_size
,sendfile
, etc. - Import database
filehosting.sql
on your database - Initialize search indexes with the
indexer --config config/sphinx.conf --all
command - Start sphinx service with the
searchd --config config/sphinx.conf
command
If your server has XSendFile
module installed and configured, then you can enable it in the config/config_production.json
file, setting the XSendFile
option to on
. If you're using Nginx don't forget to set storage
folder as internal in your config file.
Example:
location /storage {
internal;
root /path/to/project;
}
- Use the
composer install
command to install dependencies - Use the
make configure-docker-testing
command to configure testing enviroment - Use the
docker-compose -f docker-compose.testing.yml run --rm codecept run
command to start containers and run tests
This application is licensed under the MIT license. For more information refer to License file.