====== 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**