Elgg — это бесплатный движок для социальных сетей с открытым исходным кодом, который легко устанавливается и настраивается, а затем используется для работы вашей социальной сети. Elgg построен на PHP и основан на паттерне проектирования MVC (Model-View-Controller). Для хранения данных используется база данных MySQL/MariaDB.
Необходимые условия
- Веб-сервер Apache или Nginx с поддержкой перезаписи URL-адресов
- PHP (версия 8.0 или лучше) с графической библиотекой GD и библиотекой расширения mbstring.
- MySQL/MariaDB, установленная на вашем VPS Debian.
Шаг 1. Обновление системы
Прежде чем приступить к установке, необходимо обновить системные пакеты до последней доступной версии:
# apt-get update && apt-get upgrade
Шаг 2. Установите Nginx
Для установки веб-сервера Nginx выполните следующую команду:
# apt install nginx
После успешной установки будет автоматически запущена служба Nginx. Чтобы проверить состояние Nginx, выполните следующую команду:
# systemctl status nginx
Шаг 3. Установите PHP
Последняя версия Elgg требует наличия PHP версии «>= 8.0.0». Сначала добавьте GPG-ключ и репозиторий с помощью следующих команд:
# apt -y install lsb-release apt-transport-https ca-certificates
# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
# echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/php.list
# apt-get update
После добавления ключа PHP и репозитория можно установить PHP с расширениями с помощью этой длинной команды:
# apt install php8.2 php8.2-common php8.2-curl php8.2-fpm php8.2-imap php8.2-cli php8.2-xml php8.2-zip php8.2-mbstring php8.2-gd php8.2-mysql
После успешной установки проверьте версию PHP:
# php -v
Вы должны получить следующий результат:
Шаг 4: Установка MariaDB
Установить MariaDB можно с помощью следующей команды:
# apt install mariadb-server mariadb-client
Запустите и включите службу mariadb.service с помощью следующих команд:
# systemctl start mariadb && systemctl enable mariadb
Проверка состояния службы mariadb.service
# systemctl status mariadb
Шаг 5. Создание базы данных и пользователя Elgg
После завершения установки можно получить доступ к MariaDB с помощью команды:
# mysql -u root
Теперь создайте новую базу данных и пользователя, который будет иметь полные права доступа к этой базе данных:
CREATE DATABASE elgg;
CREATE USER 'elgg'@'localhost' IDENTIFIED BY 'StrongPasswordHere';
GRANT ALL PRIVILEGES ON elgg.* TO 'elgg'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Шаг 6: Загрузить Elgg
Загрузите последнюю версию Elgg с официального сайта, используя следующую команду:
# wget https://elgg.org/download/elgg-5.0.2.zip
Распакуйте загруженный архив в каталог /var/www с помощью следующей команды:
# unzip elgg-5.0.2.zip -d /var/www
Переименуйте каталог elgg-5.0.2 в elgg:
# mv /var/www/elgg-5.0.2 /var/www/elgg
Для хранения загруженных файлов, таких как значки и фотографии профиля, Elgg необходима специальная папка. В целях безопасности рекомендуется также создать этот каталог вне корневого каталога документов нашей установки Elgg.
Каталог будет называться data, и создать его можно с помощью следующей команды:
# mkdir -p /var/www/data
Чтобы изменить владельца и установить правильные разрешения для этих файлов, необходимо выполнить следующую команду:
# chown -R www-data:www-data /var/www/elgg
# chown -R www-data:www-data /var/www/data
Шаг 7: Настройка Nginx
Создайте файл виртуального хоста, выполнив следующую команду:
# nano /etc/nginx/conf.d/elgg.conf
И введите следующую информацию:
server {
listen 80;
server_name your-domain.com;
root /var/www/elgg;
index index.php;
access_log /var/log/nginx/your-domain.com_access.log;
error_log /var/log/nginx/your-domain.com_error.log;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .php$ {
fastcgi_index index.php;
fastcgi_split_path_info ^(.+.php)(.*)$;
fastcgi_keep_conn on;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Проверьте, нет ли ошибок во вновь созданной конфигурации Nginx:
# /usr/sbin/nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Если синтаксис в порядке и ошибок нет, можно перезапустить Nginx.
# systemctl restart nginx
Шаг 8. Завершение установки Elgg
Зайдите по адресу http://your-domain.com. На экране должно появиться следующее окно:
Нажмите кнопку «Далее» в нижней части страницы, чтобы перейти к следующему шагу.
Если какие-то зависимости отсутствуют, необходимо установить их на сервер, а затем снова обновить страницу. Убедившись, что все настроено правильно, можно нажать кнопку «Далее».
Теперь необходимо ввести информацию о базе данных. Также необходимо указать путь к каталогу данных (/var/www/data) и ввести URL-адрес сайта (http://your-domain.com/):
Далее необходимо ввести имя сайта и создать учетную запись администратора:
После этого Elgg будет успешно установлен на вашу систему.
Теперь вы можете получить доступ к своей панели администратора и войти в систему под своей учетной записью администратора по адресу http://your-domain.com/admin.