Grom Platform ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΡΠ²Π»Π΅ΠΊΠ°ΡΡΡ Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ CMS., (*1)
ΠΡΠΎΡΠ΅ΡΡΡ
ΠΠ»Π°ΡΡΠΎΡΠΌΠ° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π»Π°ΡΡ Π½Π° Π±Π°Π·Π΅ advanced application template, ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ ΡΡΠ°Π»ΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ·Π±ΡΡΠΎΡΠ΅Π½ Π΄Π»Ρ Grom Platform, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΡΠΈΡ
ΡΡΡΠΎΠΊ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° yii2-platform ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΠΏΠΎΠ»ΡΠ·Ρ yii2-platform-basic, Π°Π΄Π°ΠΏΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ΄ basic application template. Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅ yii2-platform-basic ΡΠΏΠΎΡ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅Π»Π°Π½ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΠ΅ Π΄Π΅Π²Π°ΠΉΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π²ΡΠ΅ ΠΊΡΠΎ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡΠ΅ΡΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ! ΠΠΈΡΠΈΡΠ΅ Π½Π° gromver5@gmail.com, Π΄Π΅Π»ΠΈΡΠ΅ΡΡ Π²Π°ΡΠΈΠΌΠΈ ΠΈΠ΄Π΅ΡΠΌΠΈ, ΠΎΠΏΡΡΠΎΠΌ, Π·Π½Π°Π½ΠΈΡΠΌΠΈ. ΠΠΌΠ΅ΡΡΠ΅ ΠΌΡ ΡΠ΄Π΅Π»Π°Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Π»ΡΡΡΠ΅! :), (*2)
ΠΠ΅ΠΌΠΎ ΡΠ°ΠΉΡ
http://menst.webfactional.com, (*3)
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ
- ΠΠΎΠ΄ΡΠ»ΠΈ: Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΠΌΠ΅Π½Ρ, ΡΡΡΠ°Π½ΠΈΡΡ, Π½ΠΎΠ²ΠΎΡΡΠΈ, ΡΠ΅Π³ΠΈ, ΠΏΠΎΠΈΡΠΊ, ΠΌΠ΅Π΄ΠΈΠ° ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΈ Ρ.Π΄.
- ΠΡΠ΅Π²ΠΎΠ²ΠΈΠ΄Π½ΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ Π½ΠΎΠ²ΠΎΡΡΠ΅ΠΉ.
- ΠΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π²Π΅ΡΡΠΈΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ².
- ΠΠΎΠΈΡΠΊ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Elastic Search.
- SEO-friendly Π°Π΄ΡΠ΅ΡΠ° ΡΡΡΠ°Π½ΠΈΡ (Π§ΠΠ£)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
Cms ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° Π±Π°Π·Π΅ advanced application template. Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ., (*4)
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° 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 yiicms.proj;
root /path/to/app/frontend/web;
index index.php;
access_log /path/to/app/log/access.log;
error_log /path/to/app/log/error.log;
# Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² ΠΏΠ°ΠΏΠΊΡ frontend/web ΡΠΈΠΌΠ»ΠΈΠ½ΠΊ Π½Π° backend/web ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ admin
location /admin/ {
try_files $uri $uri/ /admin/index.php?$args;
}
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php?$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;
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
try_files $uri =404;
}
location ~ /\.(ht|svn|git) {
deny all;
}
}
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠ΅ΡΠ΅Π· composer, (*5)
php composer.phar require --prefer-dist gromver/yii2-platform "*"
ΠΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ, (*6)
"gromver/yii2-platform": "*"
Π² require ΡΠ΅ΠΊΡΠΈΡ composer.json ΡΠ°ΠΉΠ»Π°., (*7)
ΠΠ°ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΡΠΎΠ½ΡΠ΅Π½Π΄, Π±ΡΠΊΠ΅Π½Π΄ ΠΈ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠ· Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ°Π²ΠΈΠΌ ΡΠ°ΠΉΠ»Ρ:, (*8)
$application = new \gromver\platform\backend\Application($config); // yii\web\Application($config);
$application = new \gromver\platform\frontend\Application($config); // yii\web\Application($config);
$application = new \gromver\platform\console\Application($config); // yii\console\Application($config);
ΠΡΠΆΠ½ΠΎ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³: /frontend/config/main.php, /backend/config/main.php, (*9)
[
'components' => [
'user' => [
//'identityClass' => 'common\models\User', //Π·Π°ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΡ ΡΡΡΠΎΠΊΡ
'enableAutoLogin' => true,
],
]
]
ΠΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΈΡΡ Π² ΠΠ
php yii migrate --migrationPath=@gromver/platform/migrations
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΈΡΠΊΠ°(ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ)
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Elasticsearch
- ΠΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π΅Π»Π°ΡΡΠΈΠΊΡΠ΅ΡΡΠ°. ΠΠ°ΡΡΡΠ°ΠΉΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΡΠ°Π²ΠΈΠΌ /console/config/main.php
[
'modules' => [
'grom' => [
'modules' => [
'search' => [
'class' => 'gromver\platform\common\modules\elasticsearch\Module',
'elasticsearchIndex' => 'myapp' //ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 'cmf'
]
]
]
],
]
Π€ΡΠΎΠ½ΡΠ΅Π½Π΄, ΠΏΡΠ°Π²ΠΈΠΌ /frontend/config/main.php, (*10)
[
'modules' => [
'grom' => [
'modules' => [
'search' => [
'class' => 'gromver\platform\frontend\modules\elasticsearch\Module',
'elasticsearchIndex' => 'myapp' //ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 'cmf'
]
]
]
],
]
ΠΡΠΊΠ΅Π½Π΄, ΠΏΡΠ°Π²ΠΈΠΌ /backend/config/main.php, (*11)
[
'modules' => [
'grom' => [
'modules' => [
'search' => [
'class' => 'gromver\platform\backend\modules\elasticsearch\Module',
'elasticsearchIndex' => 'myapp' //ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 'cmf'
]
]
]
],
]
- ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π΄Π»Ρ Elasticsearch
php yii migrate --migrationPath=@gromver/platform/migrations/elasticsearch