Outils pour utilisateurs

Outils du site


cakephp3:demarrage_projet

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
005-caketest1.marclebrun.be.conf
<VirtualHost *:80>
    ServerName caketest1.marclebrun.be
    ServerAdmin marclebrun2@gmail.com
    DocumentRoot /home/marc/dev/caketest1
 
    <Directory /home/marc/dev/caketest1/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

Si Apache >= 2.4, c'est un peu différent :

005-caketest1.marclebrun.be.conf
<VirtualHost *:80>
    ServerName caketest1.marclebrun.be
    ServerAdmin marclebrun2@gmail.com
    DocumentRoot /home/marc/dev/caketest1
 
    <Directory /home/marc/dev/caketest1/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Require all denied
        Require all granted
    </Directory>
</VirtualHost>

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
cakephp3/demarrage_projet.txt · Dernière modification: 2019/06/30 07:53 (modification externe)