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.