====== Démarrage d'un projet ======
Ceci décrit le démarrage d'un projet de développement d'un site **CakePHP** sur mon **serveur de développement**.
===== Ouvrir un compte utilisateur normal =====
Il est déconseillé d'utiliser **Composer** en tant que **root** !
===== Version de PHP =====
S'assurer qu'on a bien au minimum **PHP 5.6**.
php -v
===== Installer Composer =====
Se placer dans le dossier de développement (p.ex **/home/marc/dev**).
Y installer **Composer** si ce n'est déjà fait :
cd /home/marc/dev
curl -s https://getcomposer.org/installer | php
===== Démarrage d'un nouveau projet =====
Création d'un nouveau projet nommé **caketest1**.
Se placer dans le dossier le développement (p.ex **/home/marc/dev**).
php composer.phar create-project --prefer-dist cakephp/app caketest1
Répondre **Oui** à la question **Set folder permissions?**
Cette commande crée un dossier **/home/marc/dev/caketest1** et télécharge **Cake PHP** ainsi que toutes les dépendances. Elle génère également un fichier de configuration **config/app.php** et règle les permissions nécessaires.
===== Modidifer le propriétaire des fichiers =====
Sur le serveur de développement, pour avoir accès en écriture avec l'éditeur en ligne **Codiad**,
je mets **www-data** comme propriétaire de tout le dossier :
sudo chown -R www-data:www-data /home/marc/dev/caketest1
===== Tester l'accès au projet =====
Faire pointer un VirtualHost sur le dossier du projet :
sudo vi /etc/apache2/sites-available/005-caketest1.marclebrun.be.conf
ServerName caketest1.marclebrun.be
ServerAdmin marclebrun2@gmail.com
DocumentRoot /home/marc/dev/caketest1
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
**Si Apache >= 2.4**, c'est un peu différent :
ServerName caketest1.marclebrun.be
ServerAdmin marclebrun2@gmail.com
DocumentRoot /home/marc/dev/caketest1
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require all denied
Require all granted
Activer le VirtualHost et recharger Apache :
sudo a2ensite 005-caketest1.marclebrun.be.conf
sudo service apache2 reload
Accéder au site, par exemple : [[http://caketest1.marclebrun.be/]]
===== Si le DocumentRoot pointe sur /var/www =====
Sur mon serveur de développement, j'ai déjà un sous-domaine **dev.marclebrun.be** et le **DocumentRoot** pointe sur **/var/www** dans lequel se trouvent différents dossiers, chacun étant un site en développement.
Comme on a installé le nouveau site dans **/home/marc/dev/caketest1** (pour des raisons de droits lorsqu'on a utilisé Composer) il est possible de faire un lien symbolique vers ce dossier dans **/var/www** :
cd /var/www
sudo ln -s /home/marc/dev/caketest1 caketest1
De cette manière, le nouveau site est désormais accessible via l'url **dev.marclebrun.be/caketest1.**
===== Configurer la base de données et le fuseau horaire =====
Éditer le fichier **config/app.php** du projet.
* Modifier les informations dans l'élément **['Datasources']['default']**.
* Pour **'timezone'** indiquer **'+01:00'** pour l'Europe de l'ouest.
Ensuite éditer le fichier **config/bootstrap.php** du projet.
* Pour la ligne **date_default_timezone_set('UTC');**
* Remplacer **UTC** par **Europe/Brussels**