Установка
Запустите свой экземпляр Elgg в кратчайшие сроки.
Содержание
Требования
MySQL 8.0+ или MariaDB 10.6+
PHP 8.3+ со следующими расширениями:
GD (для обработки графики)
INTL (для интернационализации)
JSON (для AJAX-ответов и т.д.)
PDO (для подключения к базе данных)
XML (для ресурсов xml и веб-сервисов и т.д.)
Поддержка многбайтовых строк (для i18n)
Правильная настройка и возможность отправки электронной почты через MTA
Веб-сервер с поддержкой перезаписи URL
Официальная поддержка предоставляется для следующих конфигураций:
- Сервер Apache
Apache с включённым модулем перезаписи
PHP, работающий как модуль Apache
- Сервер Nginx
Nginx с PHP-FPM через FastCGI
Под «официальной поддержкой» мы подразумеваем, что:
Большая часть разработки и тестирования выполняется с этими конфигурациями
Большая часть документации по установке написана в предположении использования Apache или Nginx
Приоритет при обработке отчётов об ошибках отдаётся пользователям Apache и Nginx, если ошибка специфична для веб-сервера (но такие случаи редки).
Примечание
При использовании RHEL, CentOS или любого другого дистрибутива с включённым SELinux необходимо убедиться, что настроены соответствующие контексты и разрешения:
Присвойте корню проекта, директории данных и всем их вложенным элементам контекст
httpd_sys_rw_content_tВключите булевы параметры
httpd_can_network_connectиhttpd_can_network_connect_db
Политика поддержки браузеров
Ветви с новыми функциями поддерживают последние 2 версии всех основных браузеров, доступных на момент первого стабильного релиза в этой ветви.
Релизы с исправлениями ошибок не изменяют поддержку браузеров, даже если с тех пор была выпущена новая версия браузера.
Основные браузеры здесь означают все следующие, а также их мобильные версии:
Android Browser
Chrome
Firefox
Edge
Safari
«Поддержка» может означать, что мы используем новые, ещё не реализованные технологии, но предоставляем полифилл JavaScript для браузеров, которые в нём нуждаются.
Вы можете обнаружить, что Elgg работает в неподдерживаемых браузерах, но совместимость может нарушиться в любой момент, даже в релизе с исправлениями ошибок.
Обзор
Загрузка Elgg
С помощью Composer (рекомендуется, если вы знакомы с CLI):
composer self-update
composer create-project elgg/starter-project:dev-master ./path/to/project/root
cd ./path/to/project/root
composer install
composer install # 2nd call is currently required
vendor/bin/elgg-cli install # follow the questions to provide installation details
Из готового ZIP-архива (рекомендуется, если вы не знакомы с CLI):
Скачайте последнюю версию Elgg
Загрузите ZIP-файл на ваш сервер с помощью FTP-клиента
Распакуйте файлы в корневую директорию документа вашего домена.
Создание папки данных
Elgg нуждается в специальной папке для хранения загруженных файлов, включая иконки профилей и фотографии. Вам нужно создать эту директорию.
Внимание
По соображениям безопасности эта папка ДОЛЖНА находиться вне корневой директории документа. Если вы создали её в /www/ или /public_html/, вы делаете это неправильно.
После создания этой папки необходимо убедиться, что веб-сервер, на котором работает Elgg, имеет права на запись и создание директорий в ней. Это не должно быть проблемой на серверах под управлением Windows, но если ваш сервер работает под Linux, Mac OS X или вариантом UNIX, вам нужно установить разрешения на директорию.
Если вы используете графический FTP-клиент для загрузки файлов, обычно можно установить разрешения, щёлкнув правой кнопкой мыши по папке и выбрав «Свойства» или «Получить информацию».
Примечание
Директории должны быть исполняемыми для чтения и записи. Рекомендуемые разрешения зависят от точной конфигурации сервера и пользователя. Если директория данных принадлежит пользователю веб-сервера, рекомендуемые разрешения — 750.
Предупреждение
Установка разрешений директории данных на 777 будет работать, но это небезопасно и не рекомендуется. Если вы не уверены, как правильно установить разрешения, обратитесь к вашему хостинг-провайдеру за дополнительной информацией.
Создание базы данных MySQL
С помощью выбранного вами инструмента администрирования базы данных (если вы не уверены, спросите вашего системного администратора) создайте новую базу данных MySQL для Elgg. Вы можете создать базу данных MySQL с помощью любого из следующих инструментов:
Убедитесь, что вы добавили пользователя в базу данных со всеми привилегиями и записали имя базы данных, имя пользователя и пароль. Эта информация понадобится вам при установке Elgg.
Настройка Cron
Elgg использует запланированные запросы к вашему сайту для выполнения фоновых задач, таких как отправка уведомлений или выполнение задач очистки базы данных. Вам нужно настроить cron, чтобы использовать такие функции.
Посетите ваш сайт на Elgg
После выполнения этих шагов посетите ваш сайт на Elgg в веб-браузере. Elgg проведёт вас через оставшуюся часть процесса установки. Первая учётная запись, которую вы создадите в конце процесса установки, будет учётной записью администратора.
Примечание о settings.php и .htaccess
Установщик Elgg попытается создать для вас два файла:
elgg-config/settings.php, содержащий конфигурацию локального окружения для вашей установки.htaccess, который позволяет Elgg генерировать динамические URL
Если эти файлы не могут быть созданы автоматически, например, потому что веб-сервер не имеет прав на запись в директориях, Elgg сообщит вам, как их создать. Вы также можете временно изменить разрешения на корневую директорию и директорию engine. Установите разрешения на эти две директории так, чтобы веб-сервер мог записать эти два файла, завершите процесс установки, а затем верните разрешения к исходным настройкам. Если по какой-то причине это не сработает, вам нужно будет:
В
elgg-config/скопируйтеsettings.example.phpвsettings.php, откройте его в текстовом редакторе и заполните данные вашей базы данныхНа сервере Apache скопируйте
install/config/htaccess.distв.htaccessНа сервере Nginx скопируйте
install/config/nginx.distв/etc/nginx/sites-enabledи настройте его содержимое
Другие конфигурации
Устранение неполадок
Помогите! У меня проблемы с установкой Elgg
Сначала:
Ещё раз проверьте, что ваш сервер соответствует техническим требованиям для Elgg.
При необходимости следуйте инструкциям для конкретной среды
Вы проверили, что загружен
mod_rewrite?Загружен ли модуль mysql apache?
Ведите заметки о шагах, которые вы предпринимаете для исправления установки. Иногда изменение какой-либо настройки или файла для попытки исправить проблему может вызвать другую проблему позже. Если вам нужно начать заново, просто удалите все файлы, удалите базу данных и начните снова.
Я не могу сохранить настройки при установке (получаю ошибку 404 при сохранении настроек)
Elgg полагается на расширение Apache mod_rewrite для эмуляции определённых URL. Например, всякий раз, когда вы выполняете действие в Elgg или посещаете профиль пользователя, URL переводится сервером во что-то, что Elgg понимает внутренне. Это делается с помощью правил, определённых в файле .htaccess, который является стандартным способом Apache определения дополнительной конфигурации для сайта.
Эта ошибка указывает на то, что правила mod_rewrite не обрабатываются правильно. Это может быть по нескольким причинам. Если вы не уверены в реализации приведённых ниже решений, мы настоятельно рекомендуем обратиться к вашему системному администратору или в техническую поддержку и переслать им эту страницу.
Если .htaccess не был сгенерирован автоматически (это происходит при проблемах с mod_rewrite), вы можете создать его, переименовав файл install/config/htaccess.dist, который вы найдёте в пакете elgg, в .htaccess. Также, если вы нашли файл .htaccess внутри пути установки, но по-прежнему получаете ошибку 404, убедитесь, что содержимое .htaccess совпадает с содержимым install/config/htaccess.dist.
``mod_rewrite`` не установлен.
Проверьте ваш httpd.conf, чтобы убедиться, что этот модуль загружается Apache. Возможно, вам придётся перезапустить Apache, чтобы он применил изменения в конфигурации. Вы также можете использовать информацию о PHP, чтобы проверить, загружается ли модуль.
Правила в ``.htaccess`` не соблюдаются.
В настройках конфигурации виртуального хоста (которые могут содержаться в httpd.conf) измените настройку AllowOverride так, чтобы она читалась:
AllowOverride all
Это сообщит Apache о необходимости применять правила mod_rewrite из .htaccess.
Elgg не установлен в корне вашей веб-директории (например: http://example.org/elgg/ вместо http://example.org/)
Скрипт установки перенаправляет меня на «action», когда должно быть «actions»
Это проблема с настройкой вашего mod_rewrite.
Внимание
НЕ МЕНЯЙТЕ, ПОВТОРЯЮ, НЕ МЕНЯЙТЕ никакие имена директорий!
Я установил в поддиректорию, и моё действие установки не работает!
Если вы установили Elgg так, что к нему можно получить доступ по адресу вида http://example.org/mysite/, а не http://example.org/, есть небольшая вероятность, что правила перезаписи в .htaccess не будут обработаны правильно. Обычно это связано с использованием алиаса в Apache. Возможно, вам потребуется указать mod_rewrite путь к вашей установке Elgg.
Откройте .htaccess в текстовом редакторе
Где будет предложено, добавьте строку вида
RewriteBase /path/to/your/elgg/installation/(не забудьте завершающий слэш)Сохраните файл и обновите браузер.
Обратите внимание, что используемый вами путь — это веб-путь без указания хоста.
Например, если вы получаете доступ к вашей установке elgg по адресу http://example.org/elgg/, вы установите базовый путь так:
RewriteBase /elgg/
Обратите внимание, что установка в поддиректорию не требует использования RewriteBase. Это нужно только в некоторых редких случаях из-за настройки сервера.
Я сделал всё! mod_rewrite работает нормально, но ошибка 404 всё равно появляется
Возможно, проблема в файле .htaccess. Иногда процедура установки elgg не может создать его и не может сообщить вам об этом. Если вы на этом этапе и попробовали всё, что написано выше:
проверьте, действительно ли это .htaccess, созданный elgg (а не просто заглушка от хостинг-провайдера)
если это не файл htaccess, предоставленный elgg, используйте htaccess_dist (переименуйте его в .htaccess)
Я получаю сообщение об ошибке, что тест перезаписи не прошёл после страницы проверки требований
Я получаю следующие сообщения после шага проверки требований (шаг 2) установки:
Мы думаем, что ваш сервер работает на веб-сервере Apache.
Тест перезаписи не прошёл, и наиболее вероятная причина в том, что AllowOverride не установлен в All для директории Elgg. Это мешает Apache обрабатывать файл .htaccess, содержащий правила перезаписи.
Менее вероятная причина — Apache настроен с алиасом для вашей директории Elgg, и вам нужно установить RewriteBase в вашем .htaccess. Дополнительные инструкции находятся в файле .htaccess в вашей директории Elgg.
После этой ошибки каждое взаимодействие с веб-интерфейсом приводит к ошибке 500 (Внутренняя ошибка сервера)
Это, вероятно, вызвано тем, что не загружен «модуль фильтра» из-за закомментированной строки
#LoadModule filter_module modules/mod_filter.so
в файле «httpd.conf».
файл Apache «error.log» будет содержать запись, подобную:
… .htaccess: Недопустимая команда „AddOutputFilterByType“, возможно, опечатка или определена модулем, не включённым в конфигурацию сервера
Появляется белая страница после отправки настроек базы данных
Проверьте, что модуль Apache mysql установлен и загружается.
Я получаю ошибку 404 с очень длинным URL
Если вы видите ошибку 404 во время установки или при создании первого пользователя с URL вида: http://example.com/homepages/26/d147515119/htdocs/elgg/action/register, это означает, что ваш URL сайта неверен в таблице sites_entity в вашей базе данных. Это было установлено вами на второй странице установки. Elgg пытается угадать правильное значение, но испытывает трудности с сайтами на общем хостинге. Используйте phpMyAdmin, чтобы изменить это значение на правильный базовый URL.
У меня проблемы с настройкой пути к данным
Это сильно зависит от сервера, поэтому трудно дать конкретный совет. Если вы создали директорию для загрузки данных, убедитесь, что ваш http-сервер может получить к ней доступ. Самый простой (но наименее безопасный) способ — установить разрешения 777. Лучше предоставить веб-серверу право владения директорией и ограничить разрешения.
Предупреждение
Установка разрешений директории на 777 позволяет ВСЕМУ интернету размещать файлы в вашей структуре директорий и, возможно, заразить ваш веб-сервер вредоносным ПО. Установки разрешений на 750 должно быть более чем достаточно.
Наиболее частая причина этой проблемы — настройка PHP, предотвращающая доступ к большинству директорий с помощью open_basedir. Возможно, стоит уточнить это у вашего хостинг-провайдера.
Убедитесь, что путь правильный и заканчивается на /. Вы можете проверить путь в вашей базе данных в таблице config.
Если у вас есть только доступ по FTP к вашему серверу и вы создали директорию, но не знаете её путь, вы можете выяснить его из пути к файлам www, установленного в таблице config вашей базы данных. На этом этапе рекомендуется обратиться за помощью к службе поддержки вашего хостинга.
Я не могу подтвердить свою учётную запись администратора, потому что у меня нет почтового сервера!
Хотя верно, что обычные учётные записи (кроме созданных из панели администратора) требуют аутентификации адреса электронной почты перед входом, учётная запись администратора этого не требует.
После регистрации первой учётной записи вы сможете войти, используя предоставленные вами учётные данные!
Я попробовал все эти предложения, но всё равно не могу установить Elgg
Возможно, в процессе отладки вашей установки вы что-то сломали. Попробуйте выполнить чистую установку:
удалите вашу базу данных elgg
удалите вашу директорию данных
удалите исходные файлы Elgg
начните заново
Если это не поможет, обратитесь за помощью к сообществу Elgg. Обязательно укажите, какую версию Elgg вы устанавливаете, детали вашей серверной платформы и любые сообщения об ошибках, которые вы могли получить, включая записи в журнале ошибок вашего сервера.