Ceci décrit le démarrage d'un projet de développement d'un site CakePHP sur mon serveur de développement.
Il est déconseillé d'utiliser Composer en tant que root !
S'assurer qu'on a bien au minimum PHP 5.6.
php -v
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
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.
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
Faire pointer un VirtualHost sur le dossier du projet :
sudo vi /etc/apache2/sites-available/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 :
<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/
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.
Éditer le fichier config/app.php du projet.
Ensuite éditer le fichier config/bootstrap.php du projet.