Elgg 作为一款开源社交网络引擎,界面简洁且具备高度可定制性,由非盈利组织 Elgg Foundation 持续维护。如果你希望在自有服务器上搭建社区或协作平台,Ubuntu 20.04 LTS 凭借其稳定性和易用性成为理想选择。本文将全面拆解安装流程,每个步骤均提供具体命令,按指示操作即可完成部署。
第一步:更新系统软件包
在开始安装前,请先将系统软件包更新至最新版本,以避免潜在的依赖冲突。在终端中依次执行以下两条基础命令:
sudo apt update
sudo apt upgrade
第二步:安装LAMP环境
Elgg 运行依赖于 PHP 和 MySQL/MariaDB,因此需要预先配置 LAMP 环境。若尚未安装,可参考相关教程完成 Apache、MariaDB、PHP 的基础搭建,三者缺一不可。
第三步:下载并部署Elgg程序
从官方网站下载最新稳定版本(本文示例为 3.3.20),解压后移至 Web 根目录:
wget https://elgg.org/download/elgg-3.3.20.zip
unzip elgg-*.zip
sudo mv elgg-*/ /var/www/html/elgg/
随后创建数据目录并正确设置权限——此步骤常被忽略,但权限错误将导致后期安装失败:
sudo mkdir /var/www/html/data
sudo chown -R www-data:www-data /var/www/html/elgg/
sudo chown -R www-data:www-data /var/www/html/data
sudo chmod -R 755 /var/www/html/elgg
第四步:配置MariaDB数据库
首先运行安全配置脚本以加固数据库(默认 root 密码为空,需手动设置):
mysql_secure_installation
按照提示输入:
- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y
接下来登录 MariaDB,为 Elgg 创建专用数据库和用户:
mysql -u root -p
输入 root 密码后,执行:
CREATE DATABASE elgg;
CREATE USER 'elgg'@'localhost' IDENTIFIED BY 'your-secure-password';
GRANT ALL ON elgg.* TO 'elgg'@'localhost' IDENTIFIED BY 'secure-password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
请将密码替换为你设定的强密码,后续安装过程中会用到。
第五步:配置Apache虚拟主机
为 Elgg 创建一个独立的站点配置文件:
touch /etc/apache2/sites-a vailable/elgg.conf
ln -s /etc/apache2/sites-a vailable/elgg.conf /etc/apache2/sites-enabled/elgg.conf
nano /etc/apache2/sites-a vailable/elgg.conf
填入以下配置内容(将 your-domain.com 替换为你的实际域名):
ServerAdmin admin@your-domain.com
DocumentRoot /var/www/html/elgg/
ServerName your-domain.com
ServerAlias www.your-domain.com
Options FollowSymLinks
AllowOverride All
Order allow,deny
allow from all
ErrorLog /var/log/apache2/your-domain.com-error_log
CustomLog /var/log/apache2/your-domain.com-access_log common
保存文件后,启用站点并重启 Apache 服务:
sudo a2enmod rewrite
sudo a2ensite elgg.conf
sudo systemctl restart apache2.service
第六步:启用HTTPS(推荐)
目前网站默认使用 HTTP 协议,但生产环境必须启用 HTTPS。Let's Encrypt 提供免费 SSL 证书,可通过 Certbot 一键配置:
sudo apt install certbot python3-certbot-apache
然后执行以下命令(替换 example.com 和你的邮箱):
sudo certbot --apache --agree-tos --redirect --staple-ocsp --email you@example.com -d example.com
验证配置无误后,重新加载 Apache:
sudo apache2ctl -t
sudo systemctl reload apache2
第七步:通过Web界面完成安装
在浏览器中访问你的域名(或服务器 IP),即可进入 Elgg 安装向导。按照提示依次填写数据库信息、站点名称及管理员账号,后续操作只需简单点击即可完成。如果服务器启用了防火墙,请确保放行 80 和 443 端口。

