What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
To self-host Elgg reliably, deploy a supported PHP and database stack, keep Elgg’s upload directory outside the public document root, configure URL rewriting and background requests, then finish the browser installer. Elgg 7.1.1 is the latest recommended stable release as of October 9, 2026; Elgg 6.3.8 is the recommended Elgg 6 LTS release from August 19, 2026.
Antihost offers Linux VPS plans with full root access, unlimited traffic on a 1 Gbps port and a 14-day free trial.
This guide uses an Ubuntu/Debian-style VPS as the example, but the architecture also applies to other Linux distributions. Package names, PHP-FPM socket paths and service commands can differ, so verify each installed version before exposing the site to users.
As an Amazon Associate I earn from qualifying purchases.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →What you are deploying
Elgg is a PHP/MySQL social-networking engine. A production installation has four main layers: a Linux VPS, a web server that can rewrite URLs, PHP with the required extensions, and MariaDB or MySQL. Elgg also needs a mail-transfer agent (MTA) for notifications and other email. Uploaded profile icons, photos and other user files are stored in a separate data directory that must not be reachable through the web server.
The web server can be Apache or Nginx. Apache normally runs PHP as an Apache module and uses mod_rewrite; Nginx passes PHP requests to PHP-FPM over FastCGI. Both designs work when the document root, rewrite rules, PHP handler and permissions agree.
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
Choose the Elgg branch before installing
| Branch | Release status | Published date | Best fit | What to verify |
|---|---|---|---|---|
| Elgg 7.1.1 | Latest recommended stable release | October 9, 2026 | New deployments that can use the current branch | Every plugin and theme must support Elgg 7 |
| Elgg 6.3.8 | Recommended Elgg 6 LTS release | August 19, 2026 | Sites that must remain on the Elgg 6 line | Confirm the LTS branch’s PHP, database and extension requirements and test the upgrade path |
Release numbers change. Check the Elgg download page immediately before a production deployment, and pin the exact version you test. Do not assume that a plugin written for one major branch works on the other.
Supported requirements and architecture
| Component | Requirement | Deployment note |
|---|---|---|
| Database | MariaDB 10.6 or newer, or MySQL 8.4 or newer | Use a dedicated database and account rather than a shared administrative login. |
| PHP | PHP 8.3 or newer for the current stable documentation | Check both the command-line PHP and the PHP process used by the web server. |
| PHP extensions | GD, INTL, JSON, PDO, XML and multibyte support | The database driver must include pdo_mysql. |
| Web server | Apache with mod_rewrite and PHP as an Apache module, or Nginx with PHP-FPM over FastCGI |
URL rewriting is required; a plain static-file configuration is not sufficient. |
| A properly configured MTA | Notifications, password resets and other mail depend on outbound email working. |
Apache or Nginx?
| Decision point | Apache | Nginx |
|---|---|---|
| PHP execution | PHP module in the Apache process | PHP-FPM through FastCGI |
| Rewrite setup | Enable mod_rewrite; permit Elgg’s .htaccess with AllowOverride all |
Copy and adapt install/config/nginx.dist in the enabled server configuration |
| File layout | Document root points to the Elgg application; data remains outside it | Document root and PHP-FPM socket must match the enabled server block |
| Logs | Inspect Apache error and access logs | Inspect Nginx and PHP-FPM logs |
| Operational fit | Convenient when your team already manages .htaccess-based PHP sites |
Convenient when your team already operates PHP-FPM and centralized Nginx configuration |
Prepare the Linux VPS
Use a fresh VPS or a host where you control the web server, PHP, database and firewall. Resolve the site’s DNS name to the VPS before the final installer test. Use SSH keys rather than password-only administration, keep the operating system updated, and create a separate Unix service identity for the web process where your distribution supports it.
Install the stack on an Ubuntu or Debian-style system
The following is an example package set for Nginx with PHP 8.3. If your distribution provides a newer supported PHP release, use that version consistently for the CLI and PHP-FPM. Confirm that the database repository really provides MariaDB 10.6 or newer or MySQL 8.4 or newer; an older distribution default is not sufficient.
sudo apt update
sudo apt install nginx mariadb-server php8.3-fpm php8.3-cli php8.3-mysql php8.3-gd php8.3-intl php8.3-xml php8.3-mbstring unzip curl
php -v
php -m | grep -E 'gd|intl|json|PDO|pdo_mysql|xml|mbstring'
mysql --version
For Apache, install Apache and the matching PHP module instead of Nginx and PHP-FPM, then enable URL rewriting:
sudo apt install apache2 libapache2-mod-php8.3 mariadb-server php8.3-cli php8.3-mysql php8.3-gd php8.3-intl php8.3-xml php8.3-mbstring unzip curl
sudo a2enmod rewrite
sudo systemctl restart apache2
Package names vary by distribution. The important check is the result of php -v, php -m and the database version, not whether a particular package command happens to succeed.
Deploy Elgg and create a private data directory
Keep the application code in the web document root and create the data directory somewhere else, such as /srv/elgg-data. Elgg’s documentation states: “For security reasons, this folder MUST be stored outside of your document root.” A path under /www/ or /public_html/ is therefore incorrect.
Rank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
Choose Composer or the release archive
- Composer: Elgg recommends the command-line route for administrators comfortable with Composer. Use the Composer command and exact version constraint from the release documentation, and lock the deployment to the branch you tested.
- Release ZIP: Download the chosen release archive, extract it into the intended document root, and do not expose the ZIP itself. The archive route is useful when you want a self-contained, versioned application directory.
The commands below illustrate the directory layout; replace the extracted directory name with the one actually present in the archive.
sudo mkdir -p /var/www/elgg /srv/elgg-data
sudo unzip elgg-7.1.1.zip -d /var/www/
sudo rsync -a /var/www/Elgg-7.1.1/ /var/www/elgg/
sudo chown -R www-data:www-data /srv/elgg-data
sudo chmod 750 /srv/elgg-data
If your web server runs as another account, substitute that account for www-data. The web-server identity must be able to create and write the directories Elgg requires. Keep application code owned by a deployment account where practical, and grant write access only to settings and data paths that genuinely need it. Never use mode 777; Elgg explicitly describes that setting as insecure and not recommended.
Use a trailing slash when you enter the data path in the installer, for example /srv/elgg-data/. Check ownership, parent-directory traversal permissions and available disk space before testing an upload.
Create a dedicated database and account
Log in to the database server as an administrator and create one database and one account for Elgg. The account should not be reused by other applications or used for routine administration.
Free tools Windows power users keep installed
One-click scans. No signup required.
sudo mysql
CREATE DATABASE elgg CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'elgg'@'localhost' IDENTIFIED BY 'use-a-long-random-password';
GRANT ALL PRIVILEGES ON elgg.* TO 'elgg'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Record the database name, username, password and host. For a database on the same VPS, the host is commonly localhost; use the host and port required by your actual database service. Store the credentials in a password manager and do not paste them into public issue reports.
Configure Apache or Nginx
Apache configuration
Make the Elgg directory the virtual host’s document root and allow the distributed rewrite rules to operate. A minimal virtual host looks like this:
Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
<VirtualHost *:80>
ServerName community.example
DocumentRoot /var/www/elgg
<Directory /var/www/elgg>
AllowOverride all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/elgg-error.log
CustomLog ${APACHE_LOG_DIR}/elgg-access.log combined
</VirtualHost>
Save it as an enabled site, ensure the correct .htaccess is present by copying or restoring install/config/htaccess.dist as instructed by the release, then validate and reload:
sudo a2ensite elgg.conf
sudo apachectl configtest
sudo systemctl reload apache2
If the rewrite test fails or saving settings produces a 404, check all three points: mod_rewrite is enabled, the virtual host uses AllowOverride all, and the correct distributed .htaccess is in the application root.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Nginx configuration
Copy install/config/nginx.dist into the enabled Nginx sites configuration. Set the server name, document root and PHP-FPM socket to your installation values instead of writing a second, conflicting rewrite configuration.
sudo cp /var/www/elgg/install/config/nginx.dist /etc/nginx/sites-available/elgg
sudo ln -s /etc/nginx/sites-available/elgg /etc/nginx/sites-enabled/elgg
sudo nginx -t
sudo systemctl reload nginx
Edit the copied file so the root is /var/www/elgg, the server name is community.example, and the FastCGI socket matches the installed PHP version, such as /run/php/php8.3-fpm.sock. A mismatch between the socket path and the running PHP-FPM service causes gateway errors or downloads PHP files instead of executing them.
If the installer cannot write configuration
Copy settings.example.php to elgg-config/settings.php, enter the database details manually and apply ownership and permissions that allow the web process to read the file. Do not make the entire application tree world-writable just to bypass this step.
Run the browser installer
- Open the site’s configured URL in a browser. Use the same canonical scheme and hostname you intend to publish; an incorrect site URL later causes bad links, redirects or failed rewrite tests.
- Let the requirements screen check PHP, extensions, the database driver and writable paths. Stop and fix a failed requirement rather than continuing with warnings.
- Enter the database host, database name, database username and password created earlier.
- Enter the absolute data path, including its trailing slash, such as
/srv/elgg-data/. - Set the site name, site email and administrator credentials. The first account created becomes an administrator.
- Finish the installer, sign in, and immediately test a profile icon, an image upload, a notification and a password-reset email.
Keep the browser’s site URL, the web-server server name and the Elgg configuration consistent. If the installer reports that it cannot create files, inspect the effective Unix owner and parent-directory permissions before changing anything more broadly.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
Configure cron and outbound email
Schedule Elgg timed requests
Elgg uses timed requests to perform background work such as sending notifications and cleaning the database. A recurring cron entry is required for a useful production installation; browser traffic alone is not a dependable scheduler.
Use the cron endpoint names documented for your exact Elgg release. Elgg installations commonly expose intervals such as /cron/minute, /cron/fiveminute, /cron/fifteenmin, /cron/hourly, /cron/daily, /cron/weekly, /cron/monthly and /cron/yearly. Confirm the available routes before copying a schedule.
sudo crontab -u www-data -e
*/5 * * * * curl -fsS https://community.example/cron/minute >/dev/null
0 * * * * curl -fsS https://community.example/cron/hourly >/dev/null
15 2 * * * curl -fsS https://community.example/cron/daily >/dev/null
Use the web-server account where possible, keep the requested intervals aligned with the release’s cron documentation, and remove duplicate entries. The -f flag makes HTTP failures visible through cron’s error handling; log failures during the first week so you can correct DNS, TLS, authentication or rewrite problems.
Configure the MTA
The requirements include the ability to send email. Configure a local MTA or an authenticated SMTP relay according to your distribution and mail provider, then test a new-account notification, a password reset and a normal activity notification. Check the MTA queue and mail logs when Elgg reports success but messages do not arrive. Verify the sender domain, reverse DNS and spam-policy requirements for your VPS before inviting users.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Apply filesystem and SELinux security
- Keep
/srv/elgg-dataoutside the document root and readable and writable only by the web service and administrators who need access. - Use mode
750when the web-server user owns the directory, or an equivalent least-privilege group arrangement. Do not use777. - Use a dedicated Unix service identity and a dedicated database account.
- Prefer SSH key authentication, restrict administrative access and apply regular operating-system, PHP, database and Elgg updates.
- Back up both the database and the data directory. A code-only backup cannot restore uploaded media.
SELinux systems
On SELinux-enabled hosts, label the Elgg project root, data directory and their children with the documented writable context. The following commands illustrate the required labels; install the semanage utility if your distribution packages it separately.
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/elgg(/.*)?'
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/srv/elgg-data(/.*)?'
sudo restorecon -Rv /var/www/elgg /srv/elgg-data
sudo setsebool -P httpd_can_network_connect 1
sudo setsebool -P httpd_can_network_connect_db 1
Enable the network booleans only when the deployment needs them, such as PHP-FPM or a database connection blocked by policy. Review audit logs after applying the labels; do not disable SELinux as a shortcut.
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
Verify the finished installation
Run these checks before announcing the community:
- Load the home page, a long internal URL and a logged-in page over the final hostname.
- Confirm that Apache or Nginx returns the expected PHP response and that PHP-FPM has no socket or permission errors.
- Create a test account, upload a profile icon and upload an image. Confirm the files appear in the external data directory rather than under the public root.
- Trigger a notification and password reset, then inspect both Elgg and MTA logs.
- Run one scheduled cron request manually and confirm that it returns a successful HTTP status.
- Review database, application, web-server and operating-system logs for permission, rewrite or connection errors.
- Take a database dump and a data-directory backup, then document how to restore both.
Troubleshoot the failures administrators see most often
The requirements page fails
Check the PHP version used by the web server, not only the shell’s php -v. Confirm GD, INTL, JSON, PDO, XML and multibyte extensions are loaded, and make sure pdo_mysql is present. Restart PHP-FPM or Apache after enabling an extension and reload the requirements page.
A white page appears after entering database settings
A missing or unloaded pdo_mysql driver is a common cause. Verify the extension in the web PHP configuration, restart the PHP handler, and inspect the PHP-FPM or Apache error log. Also recheck the database host, account password and whether the database service is running.
The rewrite test fails or long URLs return 404
For Apache, enable mod_rewrite, set AllowOverride all for the Elgg directory and restore the correct install/config/htaccess.dist file. For Nginx, compare the enabled server block with install/config/nginx.dist, verify the document root and ensure the request is reaching the intended server name. Confirm that Elgg’s configured site URL exactly matches the public URL.
Settings cannot be saved
Check ownership and mode on elgg-config/settings.php, the parent directory and the data directory. The web-server identity must be able to write the required path, but broad world-writable permissions are not an acceptable fix. On SELinux systems, inspect denials and apply the documented httpd_sys_rw_content_t contexts.
Uploads fail or images disappear
Verify the data path is absolute, outside the document root and entered with the expected trailing slash. Check that the web-server user owns or can write the directory, that parent directories permit traversal, that PHP’s upload limits are adequate for your policy, and that SELinux labels are correct. Confirm that the disk is not full.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesCron jobs do not run
Run the exact cron URL manually with curl, inspect its HTTP status, then run it as the same Unix account configured in cron. Check DNS, TLS, rewrite rules and PHP logs. Remove duplicate schedules and ensure the endpoint names match the installed Elgg release.
Email is delayed or missing
Inspect the MTA queue and logs, verify that Elgg is using the intended sender address, and test both local delivery and the configured relay. A successful Elgg request does not prove that the receiving mail system accepted the message.
Plan updates and upgrades safely
- Check the current Elgg release page immediately before upgrading and decide whether the site remains on Elgg 6 LTS or moves to Elgg 7.
- Inventory every plugin and theme and verify compatibility with the target major branch. Disable or replace extensions that are not compatible.
- Back up the database, the external data directory,
elgg-config/settings.phpand the web-server configuration. Test restoring those backups on a staging VPS. - Put the site into maintenance mode if your operational procedure provides one, update the application code with Composer or the versioned release archive, and never overwrite the data directory.
- Run the release’s upgrade procedure, monitor logs and test login, uploads, notifications, cron and administration pages before reopening the site.
Choose Elgg 7.1.1 when current plugins and infrastructure are ready for the latest stable branch. Choose Elgg 6.3.8 when maintaining an Elgg 6 installation is more important than moving immediately, but still verify its branch-specific requirements and support horizon. In either case, compatibility testing is more important than the version number alone.
Production checklist
- Supported MariaDB/MySQL and PHP versions are verified.
- All required PHP extensions, including
pdo_mysql, are loaded by the web process. - The application document root and the external data directory are distinct.
- Apache rewrite rules or the Nginx distributed configuration are active.
- The installer-created administrator account is protected with a strong password.
- The MTA sends a test notification and password reset successfully.
- Recurring timed requests run under the intended service account.
- Permissions are restrictive, SELinux labels are correct where applicable, and no directory uses
777. - Database and media backups have been tested, not merely scheduled.
- Plugin compatibility is documented before every branch change.
The practical result
A secure Elgg VPS is less about clicking through the installer than about getting four boundaries right: supported software versions, URL rewriting, an external writable data directory and reliable timed requests. Build those boundaries first, complete the installer with a dedicated database account, then test uploads, email, cron and recovery before opening registration.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




