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

12 Мая 2022 (ред)

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

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

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

https://libarea.ru/dev/libarea-0.5.5.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. Если будут вопросы, пишите тут, с личку или в чате. Постараюсь помочь, если будут трудности с установкой или обновлением.

Evg Evg + 5.7k

32 Ответа

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

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

    Уже нашел:

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

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

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

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

  1. Знать бы еще где это настраивать… Я читал статьи, у меня VPS, но я в этом полный дуб.

  1. Можно в поддержку написать, и сказать про эту папку, они в курсе. Сейчас это все больше становится стандартом. А так, пути где в директорию домашнюю. Она может быть www и добавить в конец /public. В панели isp, самый надежный способ в момент создания домена там в пути добавить. Напишите в поддержку, должны помочь, там на 5 секунд работы, папку добавить.

  1. Папку сделал. Выдает ошибку 500. Видимо не пощупать мне это движек((

  1. Отписал в личку и статью дополнил, как включить вывод ошибок и где посмотреть логи, чтобы сказать более точно, почему есть ошибка 500.

  1. Если папку сделали и настроили чтобы корень сайта указывал на public и выдает ошибку 500 — с большой долей вероятности что не выставлены права 777 на папку storage.

  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. Спасибо. Поднапряг мозг и всё получилось. Видимо ссылалось на public_html, а нужно было чтобы «читало» public. Теперь всё работает

  1. Evg Evg 7 Июня 2022

    Хорошо. Если что, пишите.

  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. Devastator Devastator 9 Октября 2022

    Я так и делал, но у меня что до ввода этих данных, что после — белый экран.

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

    Тогда идем далее, белый экран, это ошибка 500. Как вы ставили скрипт?

    • если ли у вас папка vendor? (если вы просто скачали с GitHub, её не будет)
    • директория public, настроена? Легко проверить, набрать в браузере: http://сайт_свой/robots.txt это файл вы должны видеть в браузере

    И самое главное. Ошибка 500, что говорят логи?

    Они находятся тут: ./storage/logs/

    P.S. Включите вывод ошибок на экран. В файле (он в корне): start.hleb.php в первой строке после комментариев:

    define('HLEB_PROJECT_DEBUG', false);

    Замените на true. Должно получиться:

    define('HLEB_PROJECT_DEBUG', true);

    Тогда не будет белый экран, а будут ошибки показываться.

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

    Почему-то у меня не выходит поставить через Composer. Версия Composer самая свежая. Ставлю через:

    composer create-project libarea/libarea

    Получаю ошибку:

    [InvalidArgumentException] Could not find package libarea/libarea with stability stable in a version installable usin g your PHP version, PHP extensions and Composer version.

    UPD. С ошибкой разобрался. Надо было прописывать версию php:

    composer-php7.4 create-project libarea/libarea

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

    Ура! Разобрался. Если ставить через Composer, то подключение к базе данных работает. Ставил так:

    composer-php7.4 create-project libarea
    Затем
    ln -s libarea/public public_html

    Кстати, когда ставил просто через git clone, в логах было пусто. А когда поставил через Composer, до тех пор, пока не вписал данные от БД, в логах писались ошибки.

  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. Dmitry Dmitry 17 Ноября 2022

    Спасибо что ответили, разобрался без хостера smile В корневом каталоге создал .htaccess с таким содержанием:

    <IfModule mod_rewrite.c>
        RewriteEngine on
        RewriteRule   ^$ public/    [L]
        RewriteRule   ((?s).*) public/$1 [L]
    </IfModule>  

    Не знаю насколько костыль, но все заработало smile

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

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

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

    Установил. Вроде всё работает, но с каталогом сайтов проблема. Не могу в категории зайти, ни с панели администратора, ни с фронтеда: ошибка 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 Апреля

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

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

  1. Ок, спасибо) Попробую до хостера докапаться, а то нет такой версии)

  1. Nikita Nikita 22 Апреля

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

  1. Evg Evg 22 Апреля

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

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

  1. Благодарю, а то присматриваюсь к данному движку, поставил, посмотрел что-то эти разделы пусты, ну и снес, а так нравится все в данной сборке. Буду значит завтра разбираться.