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

Evg Evg 12 Мая 2022

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

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

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

https://libarea.ru/dev/2/libarea-0.7.6.zip

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

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

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

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

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

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

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

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

Проверить правильность настройки достаточно просто: через браузер посмотрите, файл https://ваш_сайт/robots.txt виден?

Далее:

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

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

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

ss@sdf.ru / qwer14qwer14

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

test@test.ru / test@test.ru

Готово!

Обновление:

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

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

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

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

P.S.

В случае ошибки 500, временно включите отладку: В файле config/common.php, изменив в этой строке false на true:

'debug' => get_env('APP_DEBUG', false),

Должно получиться:

'debug' => get_env('APP_DEBUG', true),

Логи находятся по адресу: /storage/logs/

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

27 Ответов

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

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

    Уже нашел:

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

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

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

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

  1. Murad Murad 12 Мая 2022

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

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

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

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

  1. XaOS XaOS 21 Мая 2022

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

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

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

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

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

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

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

    Поставил систему на хост, вроде всё завелось, однако к примеру при переходе 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]

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