MediaArea-Website
How to install
Dependencies
- A web server (tested on Apache 2.4)
- mod_rewrite is recommended
- PHP (tested on version 7.0 and 7.1)
- Mandatory packages for Debian-like distributions :
sudo apt-get install libapache2-mod-php7.0 php7.0-cli php7.0-intl php7.0-curl php7.0-opcache php7.0-mysql
- Mandatory packages for RedHat-like distributions :
sudo dnf install php php-cli php-intl php-mbstring php-pdo php-process php-xml php-opcache php-mysqlnd
- date.timezone parameter should be set in your php.ini (both cli and apache module)
- Mandatory packages for Debian-like distributions :
- MySQL >= 5.1
- Composer
Get sourcecode
From git
Clone MediaArea-Website repository
git clone https://github.com/MediaArea/MediaArea-Website.git
Install
MySQL
Create a user and a datable, give the user the all rights to this database.
CREATE USER '<USER>'@'<HOST>' IDENTIFIED BY '<PASSWORD>';
GRANT ALL ON `<DB>`.* TO '<USER>'@'<HOST>';
CREATE DATABASE IF NOT EXISTS `<DB>`;
Dependencies
Get dependencies with composer
cd YOUR_PATH/MediaArea-Website/
composer install
You'll get some configuration questions, you can use these fake values if you don't care about the payments.
SQL tables and assets
php bin/console doctrine:migrations:migrate --env=prod --no-interaction
php bin/console assetic:dump --env=prod
Apache
Add a vhost to access MediaArea-Website, like this minimal example :
<VirtualHost *:80>
ServerName WWW.YOURWEBSITE.COM
DocumentRoot "YOUR_PATH/MediaArea-Website/web/"
<Directory "YOUR_PATH/MediaArea-Website/web/">
AllowOverride All
Options -Indexes
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order allow,deny
allow from all
</IfModule>
</Directory>
</VirtualHost>
Allow apache user to write in cache and log directory, some methods are explain in Symfony documentation
Doc
Translations
Translations are stored is XML format here one file per language
Template
Templates are in twig format, they are available here
Coding standard
MediaArea-Website follow PSR1 and PSR2 standard
The source code is analyzed with PHP Mess Detector with the rules in phpmd.xml and PHP-CS-Fixer with PSR1 and PSR2 rules
Cache
Remind to clear the cache after a modification :
php bin/console cache:clear --env=prod