L'exigence minimum de ce modèle de projet est que votre serveur Web prenne en charge PHP 5.6.0.
Si vous n'avez pas Composer, suivez les instructions de la section Installation de Yii du guide complet de Yii pour l'installer.
Une fois composer installé, vous pouvez l'utiliser pour installer l'application en utilisant les commandes suivantes :
composer create-project --prefer-dist yiisoft/yii2-app-advanced yii-application
La commande installe l'application avancée dans un dossier nommé yii-application
.
Vous avez le droit de choisir un autre nom de dossier si vous le désirez.
Extrayez l'archive que vous avez téléchargée depuis yiiframework.com dans un dossier nommé advanced
placé directement sous la racine Web.
Ensuite suivez les instructions données dans la sous-section suivante.
Après que vous avez installé l'application, vous devez accomplir les étapes suivantes pour initialiser l'application installée. Vous n'avez à faire cela qu'une fois pour toute.
Ouvrez un terminal et exécutez la commande init
et sélectionnez dev
en tant qu'environnement.
/path/to/php-bin/php /path/to/yii-application/init
Si vous l'automatisez à l'aide d'un script, vous pouvez exécuter init
en mode non interactif.
/path/to/php-bin/php /path/to/yii-application/init --env=Production --overwrite=All --delete=All
Créez une nouvelle base de données et complétez la configuration de components['db']
dans common/config/main-local.php
en conséquence.
Ouvrez un terminal, appliquez les migrations avec la commande /path/to/php-bin/php /path/to/yii-application/yii migrate
.
Définissez la racine du document de votre serveur Web :
/path/to/yii-application/frontend/web/
, en utilisant l'URL http://frontend.test/
/path/to/yii-application/backend/web/
, en utilisant URL http://backend.test/
Avec le serveur Apache ça pourrait ressembler à ceci :
<VirtualHost *:80>
ServerName frontend.test
DocumentRoot "/path/to/yii-application/frontend/web/"
<Directory "/path/to/yii-application/frontend/web/">
# use mod_rewrite for pretty URL support
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# use index.php as index file
DirectoryIndex index.php
# ...other settings...
# Apache 2.4
Require all granted
## Apache 2.2
# Order allow,deny
# Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName backend.test
DocumentRoot "/path/to/yii-application/backend/web/"
<Directory "/path/to/yii-application/backend/web/">
# use mod_rewrite for pretty URL support
RewriteEngine on
# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Otherwise forward the request to index.php
RewriteRule . index.php
# use index.php as index file
DirectoryIndex index.php
# ...other settings...
# Apache 2.4
Require all granted
## Apache 2.2
# Order allow,deny
# Allow from all
</Directory>
</VirtualHost>
Avec le serveur nginx:
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name frontend.test;
root /path/to/yii-application/frontend/web/;
index index.php;
access_log /path/to/yii-application/log/frontend-access.log;
error_log /path/to/yii-application/log/frontend-error.log;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
# deny accessing php files for the /assets directory
location ~ ^/assets/.*\.php$ {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~* /\. {
deny all;
}
}
server {
charset utf-8;
client_max_body_size 128M;
listen 80; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name backend.test;
root /path/to/yii-application/backend/web/;
index index.php;
access_log /path/to/yii-application/log/backend-access.log;
error_log /path/to/yii-application/log/backend-error.log;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
# deny accessing php files for the /assets directory
location ~ ^/assets/.*\.php$ {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~* /\. {
deny all;
}
}
Modifier le fichier hosts pour qu'il pointe sur le domaine ad hoc.
c:\Windows\System32\Drivers\etc\hosts
/etc/hosts
Ajoutez les lignes suivantes :
127.0.0.1 frontend.test
127.0.0.1 backend.test
Pour vous connecter à l'application, vous devez d'abord vous enregistrer avec votre adresse électronique, votre nom d'utilisateur et votre mot de passe. Ensuite, vous pouvez utiliser cet adresse électronique et ce mot de passe à tout moment.
Note : si vous voulez utiliser le modèle avancé sur un domaine unique de manière à ce que
/
soit l'interface utilisateur et/admin
l'interface d'administration, reportez-vous à Utilisation du modèle de projet avancé sur un hébergement partagé.
C'est la manière la plus facile mais elle prend du temps (~20 min).
Cette façon d'installer ne nécessite pas de logiciel pré-installé (comme un serveur Web, PHP, MySQL, etc.) - contentez-vous d'accomplir les étapes suivantes !
Préparez le projet:
git clone https://github.com/yiisoft/yii2-app-advanced.git
cd yii2-app-advanced/vagrant/config
cp vagrant-local.example.yml vagrant-local.yml
vagrant-local.yml
Placez-vous (cd) sur la racine du projet :
cd yii2-app-advanced
Exécutez les commandes suivantes :
vagrant plugin install vagrant-hostmanager
vagrant up
C'est tout. Il ne vous reste plus qu'à attendre la fin de l'exécution ! Après cela, vous pouvez accéder au projet localement par les URL :
Préparez le projet :
yii2-app-advanced-master/vagrant/config
vagrant-local.example.yml
vers vagrant-local.yml
vagrant-local.yml
Ajoutez les lignes suivantes dans le fichier hosts:
192.168.83.137 y2aa-frontend.test
192.168.83.137 y2aa-backend.test
Ouvrez un terminal (cmd.exe
), placez-vous à la racine du projet et exécutez les commandes :
vagrant plugin install vagrant-hostmanager
vagrant up
(Vous pouvez apprendre comment changer de dossier dans l'interpréteur de commande en lisant ceci)
C'est tout. Il ne vous reste qu'à attendre la fin de l'exécution ! Après cela, vous pouvez accéder au projet localement par les URL :