diff --git a/README.md b/README.md index 405c644e..ad5b99ba 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -insalan.fr -========== +# insalan.fr [![Build Status](https://travis-ci.org/InsaLan/insalan.fr.svg?branch=master)](https://travis-ci.org/InsaLan/insalan.fr) [![Maintainability](https://api.codeclimate.com/v1/badges/68707ca6cd1a2b332dc4/maintainability)](https://codeclimate.com/github/InsaLan/insalan.fr/maintainability) @@ -7,91 +6,119 @@ insalan.fr Website to handle esport tournament -Installation ------------- -Download vendors -Considering you have composer.phar installed and in your PATH : +## Installation + +The project need the following package and php-extension : + +Package | Comment +------- | ------- +git | +php | php7.0 +composer | +mariadb-server | if use with local database +zip | not necessary (only for unzip during install) + +PHP extension | Comment +------------- | ------- +php-curl | +php-intl | date translation +php-mbstring | doctrine:create:schema:create +php-mysql | +php-xml | + + +### Linux + + +#### Base packages + +Update your local packages ```bash -composer.phar install +sudo apt-get update && apt-get upgrade ``` -If not set with composer.phar, configure symfony2 : +Install git and clone the repository ```bash -cp app/config/parameters.yml.dist app/config/parameters.yml -vim app/config/parameters.yml +sudo apt-get install git +git clone https://github.com/InsaLan/insalan.fr ``` -Create database & load fixtures (php-mbstring needed) +It is recommended to get `composer.phar` in your PATH : https://getcomposer.org/doc/00-intro.md + +Install the remaining packages ```bash -php app/console doctrine:database:create -php app/console doctrine:schema:create -php app/console doctrine:fixtures:load +sudo apt-get install php php-curl php-intl php-mbstring php-mysql php-xml mariadb-server zip ``` -Install assets +Proceed with the install and accept default settings ```bash -php app/console assets:install #dev -php app/console assetic:dump #prod +cd insalan.fr +composer.phar install ``` -Clear cache +At this point, you should be able to run the web server but any pages you try to access will return an error since the database is not setup. + + +#### mariadb + +Log in mariadb as root ```bash -php app/console cache:clear #dev -php app/console cache:clear --env=prod +sudo mysql -u root -p ``` -Launch development server +Create database, user and grant access -```bash -php app/console server:run #localhost only -php app/console server:run 0.0.0.0:9001 #available for everyone +```mariadb +CREATE DATABASE insalan; +CREATE USER insalan@'localhost'; +GRANT ALL PRIVILEGES ON insalan.* to insalan@'localhost'; ``` -(you can also use the php builtin development web server : `cd web && php -S localhost:9001`) -Deploy on shared web hosting services -------------------------------------- -You can use the deploy-ftp script to deploy on a mutualised website. -You must also have ncftp on your client (yum install ncftp/apt-get install ncftp) +#### Fill database and run -1) Configure your deployment +Load fixtures (php-mbstring needed) ```bash -cd deploy/conf - -#Configure ftp -cp ftp.cfg.dist ftp.cfg -vim ftp.cfg +php app/console doctrine:schema:create #have to be killed manually +php app/console doctrine:fixtures:load +``` -#Configure .htaccess -cp .htaccess.dist .htaccess -vim .htaccess +Install assets -#Configure parameters.yml -cp parameters.yml.dist parameters.yml -vim parameters.yml +```bash +php app/console assets:install #dev +php app/console assetic:dump #prod ``` -2) Deploy +Clear cache + +```bash +php app/console cache:clear #dev +php app/console cache:clear --env=prod +``` -Deploy takes approximately 5 minutes. +Launch development server ```bash -cd deploy -./deploy-ftp.sh +php app/console server:run #localhost only +php app/console server:run 0.0.0.0 #available for everyone on port 8000 ``` +(you can also use the php builtin development web server : `cd web && php -S localhost:8000`) + + +### Windows -3) Remove app/cache/prod content -Use filezilla to clear cache, ie remove app/cache/prod folder content +TODO +http://www.wampserver.com/ should be able to provide everything you need. -Backup DB before deploy, update it locally and send it after deploy if you changed the schema. -4) Contributing file +## Contributing If you wish to contribute to the insalan.fr project, refer to [this](https://github.com/insalan/insalan.fr/blob/master/CONTRIBUTING.md) file. diff --git a/deploy/conf/.htaccess.dist b/deploy/conf/.htaccess.dist deleted file mode 120000 index 0bc65abf..00000000 --- a/deploy/conf/.htaccess.dist +++ /dev/null @@ -1 +0,0 @@ -../../web/.htaccess \ No newline at end of file diff --git a/deploy/conf/ftp.cfg.dist b/deploy/conf/ftp.cfg.dist deleted file mode 100644 index 098a5e72..00000000 --- a/deploy/conf/ftp.cfg.dist +++ /dev/null @@ -1,5 +0,0 @@ -server_host="127.0.0.1" -server_user="user" -server_password="p4ssw0rd" -server_path="/" -server_port="21" diff --git a/deploy/conf/parameters.yml.dist b/deploy/conf/parameters.yml.dist deleted file mode 120000 index 48ed029e..00000000 --- a/deploy/conf/parameters.yml.dist +++ /dev/null @@ -1 +0,0 @@ -../../app/config/parameters.yml.dist \ No newline at end of file diff --git a/deploy/deploy-ftp.sh b/deploy/deploy-ftp.sh deleted file mode 100755 index a86a7678..00000000 --- a/deploy/deploy-ftp.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -color_bg='\033[45m' # Purple -color_reset='\033[0m' # Text Reset - -mkdir tmp -echo -e "\n$color_bg\n\tReading configuration file ftp.cfg\n$color_reset" -source conf/ftp.cfg - -echo -e "\n$color_bg\n\tCleaning dev environment\n$color_reset" -rm -r ../app/cache/dev/* -rm -r ../app/cache/prod/* -rm -r ../web/bundles/* - -echo -e "\n$color_bg\n\tGeneration prod cache\n$color_reset" -php ../app/console cache:clear --env=prod - -echo -e "\n$color_bg\n\tInstalling assets\n$color_reset" -php ../app/console assets:install ../web - -echo -e "\n$color_bg\n\tGenerating assetic prod\n$color_reset" -php ../app/console assetic:dump --env=prod - -echo -e "\n$color_bg\n\tCopying files\n$color_reset" -cp -r ../src ./tmp -cp -r ../web ./tmp -cp -r ../app ./tmp - -echo -e "\n$color_bg\n\tAdding specific connfiguration\n$color_reset" -cp ./conf/parameters.yml ./tmp/app/config -cp ./conf/.htaccess ./tmp/web - -echo -e "\n$color_bg\n\tRemoving dev files\n$color_reset" -rm ./tmp/web/app_dev.php -rm ./tmp/web/config.php -rm ./tmp/app/logs/* -rm -r ./tmp/app/cache/* - -echo -e "\n$color_bg\n\tSending src to $server_host$server_path/src as $server_user\n$color_reset" -ncftpput -R -v -u "$server_user" -p "$server_password" -P $server_port $server_host $server_path/src ./tmp/src/* - -echo -e "\n$color_bg\n\tSending web to $server_host$server_path/web as $server_user\n$color_reset" -ncftpput -R -v -u "$server_user" -p "$server_password" -P $server_port $server_host $server_path/web ./tmp/web/* - -echo -e "\n$color_bg\n\tSending app to $server_host$server_path/app as $server_user\n$color_reset" -ncftpput -R -v -u "$server_user" -p "$server_password" -P $server_port $server_host $server_path/app ./tmp/app/* - -#echo "rm -r $server_path/app/cache/prod/*" - -rm -r tmp