Установка (обновление) скрипта LibArea (HLEB1)

Evg Evg 12 Мая 2022 (ред)

Статья необходима (и для документации), как установить / обновить LibArea. Будем считать это болванкой. В ней есть ссылка на новый релиз (собранный) для тестирования.

На GitHub в ближайшее время будут вноситься только изменения связанные с локализацией, надо добавить французский, немецкий и китайские языки. В остальном, будут исправлены только ошибки, которые возможно мы найдем в этом релизе.

Ниже представлен вариант для тестирования, архив собран. Вы можете скачать скрипт по адресу:

https://libarea.ru/dev/1/libarea-0.6.2.zip

Для тестирования (установки) LibArea

Минимальные требования: PHP 8+, MySQL 8+ или > MariaDB 10.2.2

См. Возможно стоит поднять минимально MYSQL до 8.0?

Настройте на сервере Публичный каталог (public).

Каталог public содержит index.php файл, который является точкой входа для всех запросов, поступающих в ваше приложение, и настраивает автозагрузку. В этом каталоге также хранятся ваши активы, такие как изображения, JavaScript и CSS.

Статья: Почему index.php находится в папке public, а не в общей папке?

Документация: https://libarea.com/ru/web-server-configuration/

Создайте базу данных и выполните миграцию файла: dev.sql

Отредактируйте файлы: config/dbase.config.php, config/general.php и config/meta.php

Войдите в свою учетную запись, используя учетные данные администратора:

ss@sdf.ru / qwer14qwer14

Или участника:

test@test.ru / test@test.ru

Готово!

Обновление:

Перед началом обновления обязательно сделайте резервную копию своего сайта и дамп базы данных!

Замене подлежат директории: config, app, modules, resources, routes и vendor.

Обратите внимание, что вам необходимо будут вернуть ваши настройки в файлы: config/dbase.config.php и config/meta.php

База данных в этой версии затронута не была.

В случае ошибки 500, временно включите отладку: В файле start.hleb.php (он в корне) , измените эту строку на true:

define('HLEB_PROJECT_DEBUG', true);

и посмотрите логи по адресу: /storage/logs/

P.S. Если будут вопросы, пишите тут, с личку или в чате. Постараюсь помочь, если будут трудности с установкой или обновлением.

27 Ответов

  1. Спасибо, погоняю на этой недели. Информацию по Composer следует временно убрать, чтобы исключить путаницу.

    Уже нашел:

    • Подправить цвет в keylighter пояснительного текста (очень темный).
    • Структура папок в документации старая.

    Вопросы появятся по мере тестирования, напишу и дополню этот пост.

    1. Да, про Composer инфа убрана, эта статья если из архива устанавливать. Остальное заменю, спасибо +

  1. Murad Murad 12 Мая 2022 (ред.)

    При переходе на страницах ответов или комментариев на следующую страницу, ошибка 404

    1. Evg Evg 12 Мая 2022 (ред.)

      Спасибо, с пагинацией проблемы были и на других страницах. Подправил это.

  1. Evg Evg 12 Мая 2022

    Заменил архив (см. ссылку в первом сообщение). Исправил все известные ошибки, плюс добавил локализацию (китайский язык). Обновление, как написано выше. Завтра планирую релиз и на GitHub. Пока есть время посмотреть.

  1. XaOS XaOS 21 Мая 2022 (ред.)

    Товарищи, подскажите, пожалуйста! Я распаковал архив в папку www/имя-сайта. Залил БД MySQL. Прописал настройки в config/dbase.config.php и config/meta.php

    Но при переходе на сайт, вижу это

    Что я не так делаю?

    1. А вы настроили доступ через браузер к папке public? Вы можете временно удалить файл index.php от туда и залить свой файл index.html, например. И добиться, чтобы браузер отображал его. Так можно убедиться, что директория стала публичной.

      Посмотрите эту статью: Почему index.php находится в папке public, а не в общей папке?

  1. Поставил систему на хост, вроде всё завелось, однако к примеру при переходе https://site.ru/public/index.php выдает следующее
    ошибка 404

    1. Evg Evg 7 Июня 2022 (ред.)

      Вы должны настроить сервер, изменить путь, чтобы сайт был доступен так:

      https://site.ru/index.php т.е. так: https://site.ru

      сервер должен смотреть в папку public.

      Посмотрите статью про папку public.

      Хостинг обычно помогает, добавить к путям в настройках эту папку.

  1. Devastator Devastator 8 Октября 2022

    Нужна помощь. Не могу понять, куда и как вписывать базу данных. Вот у меня есть:

    сервер:localhost
    имя пользователя:imya
    пароль:password

    Куда конкретно их нужно вписать в файле dbase.config.php?

    Я установил libarea на виртуальный хостинг таким образом:

    git clone https://github.com/LibArea/libarea.git .
    ln -s public public_html

    Создал в панели хостинга БД, зашел в нее через phpmyadmin, импортировал dev.sql

    А дальше не могу разобраться…

    1. Evg Evg 9 Октября 2022

      Там несколько секций, в первую:

      "mysql.myname" => [
              "mysql:host=localhost",
              "port=3306",
              "dbname=???",
              "charset=utf8mb4",
              "user" => "imya",
              "pass" => "password"
          ],

      Только где знаки вопроса ??? надо заменить их на имя базы данных. Локально она создается в phpmyadmin.

  1. Dmitry Dmitry 17 Ноября 2022 (ред.)

    Никак не получается запустить, PHP 8.0.3 (пробовал еще 7.4.15) в CGI режиме, Mariadb 10.3.28, при заходе сайт.ру/public/index.php 404 ошибка, если просто заходить на сайт.ру/ то Forbidden
    You don't have permission to access / on this server.
    Если делаю файл например сайт.ру/public/test.html то html работает, не подскажите в чем может быть проблема?

    1. Evg Evg 17 Ноября 2022

      У вас на сервере «не настроена» папка public. Корректность проверить очень легко. В этой папке лежит не только index.php (запускной), но и файл favicon-120.ico.

      Давайте исключим вообще скрипт, а проверим настройку папки public (доступ). В браузере набираем: сайт.ру/favicon-120.ico и видим этот файл. Если нет, то статья про эту папку ниже.

      Если у вас хостинг, то можно сообщить про эту папку в поддержку, они знаю и должны помочь.

      Или см. про папку public

  1. MAPC2012 MAPC2012 22 Апреля 2023

    Установил. Вроде всё работает, но с каталогом сайтов проблема. Не могу в категории зайти, ни с панели администратора, ни с фронтеда: ошибка 500… в логах:

    [09:28:08 22.04.2023 Europe/Moscow+03] Web:ERROR Uncaught PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'recursive
                n (facet_id, facet_slug, facet_title, lvl) as (
              ' at line 1 in /home/***/htdocs/www/vendor/phphleb/framework/Main/MainDB.php:37
    
    Stack trace:
    #0 /home/***/www/vendor/phphleb/framework/Main/MainDB.php(37): PDO->prepare('with recursive\n...')
    #1 /home/***/www/vendor/phphleb/framework/Main/DB.php(100): Hleb\Main\MainDB::run('with recursive\n...', Array, NULL)

    Что-то с синтаксисом в базе данных…

    1. Evg Evg 22 Апреля 2023

      Минимальные требования: MySQL 8+ or > MariaDB 10.2.2. Посмотрите статью, там запросы хитрые делать пришлось (в хлебных крошках).

      См. https://libarea.ru/post/739/vozmozno-stoit-podnyat-minimalno-mysql-do-80

  1. Nikita Nikita 22 Апреля 2023 (ред.)

    Ребят, всем привет. Подскажите, а почему когда авторизуешься, заходишь в раздел посты или вопросы, то пишет что, «К сожалению, содержимого пока нет».

    1. Evg Evg 22 Апреля 2023

      Привет. Вы не подписаны на Темы. Подпишитесь на любую Тему и посты этой Темы появятся. А мне надо посмотреть, может быть надпись поменять для этого случая, чтобы понятно было, что сделать.

      После авторизации участнику в Ленте показывают то, на что он подписан.

  1. muxxx muxxx 3 Июня 2023

    Здравствуйте! а я столкнулся с такой проблемой: подскажите, пожалуйста

    Фатальная ошибка: Uncaught Error: Class 'UserData' не найден в /var/***/www/sait.ru/routes/main.php:4 
    Трассировка стека: #0 /var/ ***/sait.ru/vendor/phphleb/framework/bootstrap.php(83): 
    require_once() 
    #1 /var/***/sait.ru/vendor/phphleb/framework/Constructor/Cache/CacheRoutes.php(70): hleb_require('/var/www/s23531...') 
    #2 /var/***/sait.ru/vendor/phphleb/framework/Constructor/Cache/CacheRoutes.php(38): Hleb\Constructor\Cache\CacheRoutes->createRoutes() 
    #3 /var/***/sait.ru/vendor/phphleb/framework/Main/ProjectLoader.php(27): Hleb\Constructor\Cache\CacheRoutes->load() 
    #4 /var/***/sait.ru/vendor/phphleb/framework/bootstrap.php(310): Hleb\Main\ProjectLoader::start () 
    #5 /var/*** в/var/www/s235314/data/www/sait.ru/routes/main.php в строке 4
    1. Evg Evg 4 Июня 2023

      Приветствую. Есть большая вероятность того, что часть файлов у вас просто не залилaсь на хостинг. Для теста скинул вам ссылку на архив (в личку).

  1. Oleg Oleg 15 Июля 2023 (ред.)

    Привет, установил на ubuntu, перенёс файлы, настроил на public через конфиг apache2.conf. Загружается favicon, а страница полностью пустая. Что нужно сделать? Подскажите пожалуйста.
    Компосер ставил, потом перенес туда папку вендор, если это важно. Всё равно белый экран

    1. Ryan Ryan 15 Июля 2023 (ред.)

      Попробуй на папку storage выставить права 777

    1. Evg Evg 16 Июля 2023

      Привет. Отписал вам в личку. Пустая страница, это ошибки. Вопрос стандартный: что говорят логи? Они в папке storage/logs.

  1. piarim piarim 17 Февраля (ред.)

    А у меня файл иконки отображается https://nacip.ru/public/favicon-48.ico но сайт всё равно не работает. Forbidden
    You don't have permission to access / on this server.

    Система нужная, интерфейс простой, но трудно устанавливать, чтобы она заработала. Не хочется с иностранными разбираться, а тут есть русский язык.

    1. Evg Evg 17 Февраля

      Вы не совсем правильно поняли. Иконка должна у вас отображаться вот тут: https://nacip.ru/favicon-48.ico — вы папку public туда доставили, что показывает неверную настройку домашней директории.

      Не имеет смысл двигаться дальше, если вы не заставите иконку быть видимой по ссылке: https://nacip.ru/favicon-48.ico

      См. Почему index.php находится в папке public, а не в общей папке?

      Сервер надо настроить или файлом .htaccess исправить ситуацию (но это я не рекомендую).

      https://libarea.ru/post/1197/nastroyka-libarea-na-hostinge-apache

      1. piarim piarim 17 Февраля (ред.)

        я просто развернул архив и всё. исправлять файлом .htaccess не могу, пока не понимаю да и сломать окончательно не хочется. Вот и пытаюсь понять

        1. Evg Evg 17 Февраля

          Смотрите. В этой статье написано:

          Настройте на сервере Публичный каталог (public). (и ссылка)

          Это необходимо сделать. А сломать, ну сломаете новый зальете. Сложно сломать то, что не работает.

          1. starboy starboy 17 Февраля

            там еще через композер папку vendor получить, а в htaccess:

            RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
            RewriteRule ^ %1 [L,NE,R=302]
            RewriteRule ^(.*)$ public/index.php?$1 [L,QSA]

            Нужно смотреть что за хостинг