ygin - CMF/CMS система на yii

Выкладываем свои наработки
Rustavely
Сообщения: 9
Зарегистрирован: 2013.04.14, 10:22

Re: ygin - CMF/CMS система на yii

Сообщение Rustavely » 2013.08.08, 22:28

Выложи скриншот с ошибкой

slavik
Сообщения: 7
Зарегистрирован: 2013.08.08, 10:40

Re: ygin - CMF/CMS система на yii

Сообщение slavik » 2013.08.10, 07:22

Пожалуйста, скриншот с ошибкой
Вложения
1.png
1.png (64.67 КБ) 4886 просмотров

Rustavely
Сообщения: 9
Зарегистрирован: 2013.04.14, 10:22

Re: ygin - CMF/CMS система на yii

Сообщение Rustavely » 2013.08.12, 09:47

Пробовал на разных машинах, ошибку повторить не удалось.
Поэтому можно пойти сложным путем:

1) Создать пустую базу данных
2) Импортировать дампы из папки ygin/modules/install/data
3) Создать в папке protected/config файл local.php такого содержания

Код: Выделить всё

<?php
/**
 * Локальная переопределяющая конфигурация
 */

defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 3);

return array(
  'components' => array(
    'db' => array(
      'connectionString' => 'mysql:host=ХОСТ;dbname=ИМЯ_БАЗЫ_ДАННЫХ',
      'username' =>  'ПОЛЬЗОВАТЕЛЬ',
      'password' => 'ПАРОЛЬ',
      'emulatePrepare' => true,
      'charset' => 'utf8',
      'schemaCachingDuration'=>3600,
      'enableProfiling' => true,
      'enableParamLogging' => true,
    ),
    'log' => array(
      'routes' => array(
        /*
         * Роут для отправки сообщений об ошибках на почту,
         * позволяет при отключенной отладке (на хостинге) отправлять все сообщения об ошибках на e-mail
         */
        */
      ),
    ),
  ),
);      /*
        'email_error' => array( //
          'emails' => 'admin@site.com', // кому
          'sentFrom' => 'admin@site.com', //от кого
          'authUser => 'user', //пользователь для авторизации на smtp
          'authPassword' => 'pass', //пароль для авторизации на smtp
          'enabled' => YII_DEBUG == false,
        ),
        */
      ),
    ),
  ),
);
4) Прогнать миграции, для этого перейти по адресу в браузере http://site.ru/yiic/migrate, либо в консоли php ygin/yiic.php migrate
5) Создать пользователя. Зайти, например, через PhpMyAdmin в базу и создать пользователя в таблице da_users

Код: Выделить всё

INSERT INTO  `da_users` (
`id_user` ,
`name` ,
`user_password` ,
`mail` ,
`full_name` ,
`rid` ,
`create_date` ,
`count_post` ,
`active` ,
`requires_new_password` ,
`salt` ,
`password_strategy`
)
VALUES (
NULL ,  'vasya', MD5( '123123'),  'vasya@mail.ru',  'vasya', NULL , UNIX_TIMESTAMP( ) ,  '0',  '1',  '0',  '',  'legacy'
);
MD5 пароля и password_strategy 'legacy' важно, потом оно автоматом поменяется на sh1 с солью.

6) Присвоить роль "dev" созданному пользователю, для этого также, например, через PMA добавить запись в таблицу da_auth_assignment

Код: Выделить всё

INSERT INTO `da_auth_assignment` (`itemname`, `userid`, `bizrule`, `data`) VALUES ('dev', 'ИД_СОЗДАННОГО_ПОЛЬЗОВАТЕЛЯ', '', 'N;');
После этого все должно работать.

Аватара пользователя
Redee
Сообщения: 75
Зарегистрирован: 2013.03.05, 22:04

Re: ygin - CMF/CMS система на yii

Сообщение Redee » 2013.08.15, 03:00

Подводный Камень ygin CMS >
http://www.yiiframework.ru/forum/viewto ... 554#p81554
https://github.com/ygin-system/ygin-install

я себе загадил несколько папок (доменов) для тестирования на Open Server (winxp sp 3)

то есть если вы распакуете и попробуете у себя локально зайти, то уйдете в ошибку
а потом вообще не зайдете в свой домен, даже если там НИЧЕГО не будет

Изображение

Изображение

Изображение
Последний раз редактировалось Redee 2013.08.15, 21:23, всего редактировалось 2 раза.

mixa
Сообщения: 36
Зарегистрирован: 2012.06.09, 11:57

Re: ygin - CMF/CMS система на yii

Сообщение mixa » 2013.08.15, 10:08

Redee писал(а):ни в коем случае не распаковывайте себе в домен эту cms >
https://github.com/ygin-system/ygin-install
Redee, без паники. Из-за детской проблемы не надо делать таких выводов.
Это же обычный сайт, он не может сделать каких-то необратимых действий с веб-сервером.
Скорей всего, просто браузер закэшировал ответ от веб-сервера.

В любом случае, я сейчас качну себе open server и попробую повторить ваши действия.
Буду признателен, если уточните по вашей ситуации:
-проблема возникла при запуске или после установки системы?
-какой сборкой open server пользовались, с php 5.2 или 5.3? и какой веб-сервер apache или nginx?
Ищем yii-разработчиков на фриланс

SergV
Сообщения: 181
Зарегистрирован: 2012.07.08, 11:27

Re: ygin - CMF/CMS система на yii

Сообщение SergV » 2013.08.15, 11:02

ни в коем случае не распаковывайте себе в домен эту cms >
явно чего то не то делали, сейчас вот поставил ради интереса на OS эту ygin CMS, несколько раз стартовал OS и перезапускал, и всё норм работает.

В общем проблема не в цмс, и не в OS...
Вложения
os+ygin.JPG
os+ygin.JPG (59.63 КБ) 4800 просмотров

mixa
Сообщения: 36
Зарегистрирован: 2012.06.09, 11:57

Re: ygin - CMF/CMS система на yii

Сообщение mixa » 2013.08.15, 12:43

Redee писал(а):ни в коем случае не распаковывайте себе в домен эту cms >
https://github.com/ygin-system/ygin-install

я себе загадил несколько папок (доменов) для тестирования на Open Server (winxp sp 3)
Как и думал, проблема пустяковая.
Дело в том, что по умолчанию делается переадресация с домена domain.ru на www.domain.ru (общепринятая практика).
OpenServer по умолчанию не прописывает такой алиас и браузер не может найти хост. Проблема решается добавлением алиаса и прописыванием домена в хостах. Либо удалите в .htaccess второй блок, который делает переадресацию.
Ищем yii-разработчиков на фриланс

Аватара пользователя
slavcodev
Сообщения: 3133
Зарегистрирован: 2009.04.02, 21:42
Откуда: Altea, Spain
Контактная информация:

Re: ygin - CMF/CMS система на yii

Сообщение slavcodev » 2013.08.15, 13:17

mixa писал(а):по умолчанию делается переадресация с домена domain.ru на http://www.domain.ru (общепринятая практика).
Это где такая практика принята?
http://no-www.org/ :)
Жду Yii 3!

mixa
Сообщения: 36
Зарегистрирован: 2012.06.09, 11:57

Re: ygin - CMF/CMS система на yii

Сообщение mixa » 2013.08.15, 13:31

google, yandex, apple.
Какой оставлять первичнее - с www или без, тут на любителя, правильного ответа не найти. Но клеить их надо по-любому, иначе для поисковых систем это будут как два разных домена.
Ищем yii-разработчиков на фриланс

Аватара пользователя
slavcodev
Сообщения: 3133
Зарегистрирован: 2009.04.02, 21:42
Откуда: Altea, Spain
Контактная информация:

Re: ygin - CMF/CMS система на yii

Сообщение slavcodev » 2013.08.15, 13:42

mixa писал(а):google, yandex, apple.
Какой оставлять первичнее - с www или без, тут на любителя, правильного ответа не найти. Но клеить их надо по-любому, иначе для поисковых систем это будут как два разных домена.
google, yandex, apple - мультидоменные сайты, у них есть mail.,drive. и другие, поэтому www для них имеет глубокий смысл.
Для большинства www является лишним и дело тут совсем не на любителя. Скорее тут холиварят люди у которых привычки сильнее здравого смысла. Для большинства сайтов без www - это короче, читабельнее.

О склейке никто не спорит, если конечно это не разные домены с разным контентом на них.
Жду Yii 3!

Аватара пользователя
Redee
Сообщения: 75
Зарегистрирован: 2013.03.05, 22:04

Re: ygin - CMF/CMS система на yii

Сообщение Redee » 2013.08.15, 21:19

да есть решение (НО О НЕМ НАДО БЫЛО ГОВОРИТЬ РАНЕЕ!)
а не по дефолту переадресы клепать!!!
>
вначале очищаем всю историю браузера
потом изменяем .htaccess - комментируем эту часть!
>
# www processing
#RewriteCond %{HTTP_HOST} ^www\.(.+)\.(.+)\.(.+)$
#RewriteRule ^/?(.*) http://%1.%2.%3/$1 [L,R=301,NE]
#RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
#RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [QSA,L,R=301]
>
перезапускаем Open Server, заходим на домен с ygin

з.ы. можно еще в host вручную добавлять 127.0.0.1 www.[ваш_домен], но это не есть камильфо как бы, так что решение выше вполне оправдывает себя при РАЗРАБОТКЕ и ТЕСТИРОВАНИИ!!!

з.ы.ы. Open Serever - настройки Алиасы, но также отчасти лишние действия

Аватара пользователя
anton44eg
Сообщения: 2716
Зарегистрирован: 2012.01.25, 13:37
Откуда: Киев

Re: ygin - CMF/CMS система на yii

Сообщение anton44eg » 2013.08.16, 00:34

все-таки это проблема open servera и вашей его настройки

SergV
Сообщения: 181
Зарегистрирован: 2012.07.08, 11:27

Re: ygin - CMF/CMS система на yii

Сообщение SergV » 2013.08.16, 10:51

Я вчера проверил создав просто папку ygin, и запускал на автомате создания доменов, и всё было норм. Сейчас переименовал папку в ygin.local, и опенсервер стал по .htaccess реврайту перекидывать на www, что само собой.
То что при этом проблема вылезает с тем что страница не найдена, это потому что в настройках OS, в "Автопоиск корневой папки домена" по умолчанию www занесён в список, и сервер ищет в корне сайта ygin.local папку www, и не найдя её выдаёт ошибку. Это сделано для разрабом для совместимости с денвер сервером, хотя и не полной совместимостью.

Так что проблема лежит не в сервере, и не в настройках .htaccess, а в незнании элементарной работы с OS. Достаточно выставить в настройках управление доменами на ручное + авто и прописать домен - www.xxx.local и сайт будет работать, и не нужны не какие алиасы прописывать, или в host адрес писать...

Аватара пользователя
Redee
Сообщения: 75
Зарегистрирован: 2013.03.05, 22:04

Re: ygin - CMF/CMS система на yii

Сообщение Redee » 2013.08.16, 18:50

не надо ничего трогать в системе, "ковырять" и перенастраивать
не надо лезть в openserver который и так прекрасно справляется со всем необходимым
--
нужно развертывание cms с минимальными телодвижениями
для меня это КОММЕНТИРОВАНИЕ второй части директив .htaccess, впрочем как и посоветовал разработчик mixa
http://www.yiiframework.ru/forum/viewto ... =20#p81529
--
не понимаю зачем дальше разбирать проблему, которая уже РЕШЕНА!
--
всем спасибо что поучаствовали и разобрались с этим

slavik
Сообщения: 7
Зарегистрирован: 2013.08.08, 10:40

Re: ygin - CMF/CMS система на yii

Сообщение slavik » 2013.08.17, 17:48

Rustavely писал(а):Пробовал на разных машинах, ошибку повторить не удалось.
Поэтому можно пойти сложным путем:

1) Создать пустую базу данных
2) Импортировать дампы из папки ygin/modules/install/data
3) Создать в папке protected/config файл local.php такого содержания

Код: Выделить всё

<?php
/**
 * Локальная переопределяющая конфигурация
 */

defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL', 3);

return array(
  'components' => array(
    'db' => array(
      'connectionString' => 'mysql:host=ХОСТ;dbname=ИМЯ_БАЗЫ_ДАННЫХ',
      'username' =>  'ПОЛЬЗОВАТЕЛЬ',
      'password' => 'ПАРОЛЬ',
      'emulatePrepare' => true,
      'charset' => 'utf8',
      'schemaCachingDuration'=>3600,
      'enableProfiling' => true,
      'enableParamLogging' => true,
    ),
    'log' => array(
      'routes' => array(
        /*
         * Роут для отправки сообщений об ошибках на почту,
         * позволяет при отключенной отладке (на хостинге) отправлять все сообщения об ошибках на e-mail
         */
        */
      ),
    ),
  ),
);      /*
        'email_error' => array( //
          'emails' => 'admin@site.com', // кому
          'sentFrom' => 'admin@site.com', //от кого
          'authUser => 'user', //пользователь для авторизации на smtp
          'authPassword' => 'pass', //пароль для авторизации на smtp
          'enabled' => YII_DEBUG == false,
        ),
        */
      ),
    ),
  ),
);
4) Прогнать миграции, для этого перейти по адресу в браузере http://site.ru/yiic/migrate, либо в консоли php ygin/yiic.php migrate
5) Создать пользователя. Зайти, например, через PhpMyAdmin в базу и создать пользователя в таблице da_users

Код: Выделить всё

INSERT INTO  `da_users` (
`id_user` ,
`name` ,
`user_password` ,
`mail` ,
`full_name` ,
`rid` ,
`create_date` ,
`count_post` ,
`active` ,
`requires_new_password` ,
`salt` ,
`password_strategy`
)
VALUES (
NULL ,  'vasya', MD5( '123123'),  'vasya@mail.ru',  'vasya', NULL , UNIX_TIMESTAMP( ) ,  '0',  '1',  '0',  '',  'legacy'
);
MD5 пароля и password_strategy 'legacy' важно, потом оно автоматом поменяется на sh1 с солью.

6) Присвоить роль "dev" созданному пользователю, для этого также, например, через PMA добавить запись в таблицу da_auth_assignment

Код: Выделить всё

INSERT INTO `da_auth_assignment` (`itemname`, `userid`, `bizrule`, `data`) VALUES ('dev', 'ИД_СОЗДАННОГО_ПОЛЬЗОВАТЕЛЯ', '', 'N;');
После этого все должно работать.
При залитии баз в pma выдавало ошибку поискал в интернете и нашёл лишь одно решение: заменить varchar(255) на varchar(60). После этого всё заработало.

Но теперь другая ошибка, при создании объекта:

Код: Выделить всё

CException

Псевдоним "backend.backend.object.objectPermission.ObjectPermissionWidg" неверен. Убедитесь, что он указывает на существующий PHP файл.

/var/www/ad/data/ygin/ygin/yii/YiiBase.php(316)

304         if($isClass && (class_exists($className,false) || interface_exists($className,false)))
305             return self::$_imports[$alias]=$className;
306 
307         if(($path=self::getPathOfAlias($alias))!==false)
308         {
309             if($isClass)
310             {
311                 if($forceInclude)
312                 {
313                     if(is_file($path.'.php'))
314                         require($path.'.php');
315                     else
316                         throw new CException(Yii::t('yii','Alias "{alias}" is invalid. Make sure it points to an existing PHP file and the file is readable.',array('{alias}'=>$alias)));
317                     self::$_imports[$alias]=$className;
318                 }
319                 else
320                     self::$classMap[$className]=$path.'.php';
321                 return $className;
322             }
323             else  // a directory
324             {
325                 if(self::$_includePaths===null)
326                 {
327                     self::$_includePaths=array_unique(explode(PATH_SEPARATOR,get_include_path()));
328                     if(($pos=array_search('.',self::$_includePaths,true))!==false)

Stack Trace
#0     
–
 /var/www/ad/data/ygin/ygin/modules/backend/components/VisualElementFactory.php(15): YiiBase::import("backend.backend.object.objectPermission.ObjectPermissionWidg", true)

10    * @param DaActiveRecord $model
11    * @return VisualElementBaseWidget|null
12    */
13   public static function getVisualElement(DaActiveRecord $model, ObjectParameter $objectParameter) {
14     if (mb_strpos($objectParameter->widget, '.') !== false) {
15       $className = Yii::import($objectParameter->widget, true);
16       $visualElement = Yii::app()->controller->createWidget($className, array(
17         'model' => $model,
18         'objectParameter' => $objectParameter,
19         'attributeName' => $objectParameter->getFieldName(),
20       ));

#1     
–
 /var/www/ad/data/ygin/ygin/modules/backend/controllers/ViewController.php(150): VisualElementFactory::getVisualElement(DaObject, ObjectParameter)

145         $visualElementArray[] = $visualElement;
146         $model->{$objectParameter->getFieldName()} = HU::get(ObjectUrlRule::PARAM_GROUP_INSTANCE);
147         continue;
148       }
149 
150       if ($visualElement == null) $visualElement = VisualElementFactory::getVisualElement($model, $objectParameter);
151 
152       if ($visualElement == null) continue;
153 
154       // некоторые абстр. элементы должны будут копировать данные из копии (напр. при работе с файлами)
155       //if ($visualElement instanceof VisualElementAbstract) $visualElement->setInstanceOfCopy($instanceOfCopy);

#2     
+
 /var/www/ad/data/ygin/ygin/yii/web/actions/CInlineAction.php(49): ViewController->actionIndex()
#3     
+
 /var/www/ad/data/ygin/ygin/yii/web/CController.php(308): CInlineAction->runWithParams(array("idInstance" => "-1", "view" => "2"))
#4     
+
 /var/www/ad/data/ygin/ygin/yii/web/CController.php(286): CController->runAction(CInlineAction)
#5     
+
 /var/www/ad/data/ygin/ygin/yii/web/CController.php(265): CController->runActionWithFilters(CInlineAction, array())
#6     
+
 /var/www/ad/data/ygin/ygin/yii/web/CWebApplication.php(282): CController->run("index")
#7     
+
 /var/www/ad/data/ygin/ygin/yii/web/CWebApplication.php(141): CWebApplication->runController("backend/view/index")
#8     
+
 /var/www/ad/data/ygin/ygin/yii/base/CApplication.php(169): CWebApplication->processRequest()
#9     
–
 /var/www/ad/data/ygin/index.php(60): CApplication->run()

55     public static function app()
56     {
57         return parent::app();
58     }
59 }
60 Yii::createApplication($applicationClass, $config)->run();

NemesisSOAD
Сообщения: 2
Зарегистрирован: 2013.08.18, 02:22

Re: ygin - CMF/CMS система на yii

Сообщение NemesisSOAD » 2013.08.18, 02:27

Добрый день!
Захотелось пощупать Ваше творение, да вот незадача - урывается на создании БД.
В логах - упоминание о /install в корне сайта. rewrite чудит?

slavik
Сообщения: 7
Зарегистрирован: 2013.08.08, 10:40

Re: ygin - CMF/CMS система на yii

Сообщение slavik » 2013.08.18, 18:00

NemesisSOAD писал(а):Добрый день!
Захотелось пощупать Ваше творение, да вот незадача - урывается на создании БД.
В логах - упоминание о /install в корне сайта. rewrite чудит?
Попробуй в импортируемых базах данных заменить varchar(255) на varchar(60)

У Меня только после этого установилось.

mixa
Сообщения: 36
Зарегистрирован: 2012.06.09, 11:57

Re: ygin - CMF/CMS система на yii

Сообщение mixa » 2013.08.18, 21:59

Спасибо всем, кто пробует работать с системой. Ошибки и недочеты могут быть, система в основном использовалась на обкатанных серверах, поэтому при разных конфигурация всплывают баги.
Будем стараться всё фиксить и улучшать.

slavik, в твоих случаях происходят пока непонятные ситуации с длиной полей. Поле, где прописан алиас до виджета, почему-то срезано и в базе вместо полного алиаса (backend.backend.object.objectPermission.ObjectPermissionWidget) стоит обрезанный - backend.backend.object.objectPermission.ObjectPermissionWidg
Напиши плиз конфигруацию своей рабочей машины - ось, версия php, версия mysql. Воспроизвести проблему при установке пока тоже не смог.

NemesisSOAD, скорей всего базу не смог создать, потому что у пользователя не было прав (так обычно бывает на виртуальных хостингах - там бд создается автоматом хостером).
Если же права есть, то скинь плиз стэк с ошибкой.
Ищем yii-разработчиков на фриланс

NemesisSOAD
Сообщения: 2
Зарегистрирован: 2013.08.18, 02:22

Re: ygin - CMF/CMS система на yii

Сообщение NemesisSOAD » 2013.08.18, 22:25

Код: Выделить всё

<virtualhost *:80>

      # Admin email, Server Name (domain name) and any aliases
      ServerAdmin webmaster@domain.com
      ServerName  ygin.ru
      ServerAlias www.ygin.ru


      # Index file and Document Root (where the public files are located)
      DirectoryIndex index.php
      DocumentRoot /var/www/html/ygin/

      # Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
      LogLevel warn
      RewriteEngine On
      ErrorLog  /var/log/httpd/error_ygin.log
      CustomLog /var/log/httpd/access_ygin.log combine
    <Directory /var/www/html/ygin>
        order allow,deny
        allow from all
        AllowOverride All
        Options Indexes Includes FollowSymLinks
    </Directory>
</virtualhost>
 
Извиняюсь за поднятый шум, всё дело было в AllowOverride All которую я забыл включить, несмотря на присутствие htaccess. Конфиг апача выложил весь (там некоторые опции избыточны, но на рабочесть не повлияет) - мало-ли - пригодится кому.
Ах да, ещё не забывайте закомментировать

Код: Выделить всё

# www processing
#RewriteCond %{HTTP_HOST} ^www\.(.+)\.(.+)\.(.+)$
#RewriteRule ^/?(.*) http://%1.%2.%3/$1 [L,R=301,NE]
#RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
#RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [QSA,L,R=301]
 
при установке на виртуалку и тп, но об этом выше писалось.
И ещё, спасибо огромное за код и комментарии к нему. Прям как учебник по Yii можно использовать . :)

mixa
Сообщения: 36
Зарегистрирован: 2012.06.09, 11:57

Re: ygin - CMF/CMS система на yii

Сообщение mixa » 2013.08.22, 13:45

Обновили немного инсталлятор:
-В новой версии по умолчанию отключено склеивание www. Возможно, позже сделаем настройку в админке.
-Обновили систему до последней версии, в которой в частности стоит yii 1.1.14

Также в документации появилась новая статья по организации на сайте загрузки файлов.
Ищем yii-разработчиков на фриланс

Ответить