I have installed xampp and created add a user to the database with all privileges and record the database name, username and password. Then i downloaded latest version of elgg, but dont know where to put it? I thought xampp would have had a www folder that i can put my elgg download into, but it doesnt? A text editor is not enough for this, Eclipse IDE and PHP Development Tools are a good option. In this post, you learn how to set your debug environment with XDebug, that seems to be one of the more popular ones and Eclipse PDT already has support for it. Requisites: Download and install/unzip XAMPP for win32 version 1.7.4-VC6.
Get your own instance of Elgg running in no time.
Contents
- MySQL 5+
- PHP 5.5+ with the following extensions:
- GD (for graphics processing)
- Multibyte String support (for i18n)
- Proper configuration and ability to send email through an MTA
- Web server with support for URL rewriting
Official support is provided for the following configurations:
- Apache server
- Apache with the rewrite module enabled
- PHP running as an Apache module
- Nginx server
- Nginx with PHP-FPM using FastCGI
By “official support”, we mean that:
- Most development and testing is performed with these configurations
- Much of the installation documentation is written assuming Apache or Nginx is used
- Priority on bug reports is given to Apache and Nginx users if the bug is web server specific(but those are rare).
Browser support policy¶
Feature branches support the latest 2 versions of all major browsersas were available at the time of the first stable release on that branch.
Bugfix release will not alter browser support,even if a new version of the browser has since been released.
Major browsers here means all of the following, plus their mobile counterparts:
“Support” may mean that we take advantage of newer, unimplemented technologiesbut provide a JavaScript polyfill for the browsers that need it.
You may find that Elgg happens to work on unsupported browsers,but compatibility may break at any time, even during a bugfix release.
Upload Elgg¶
With Composer (recommended if comfortable with CLI):
From pre-packaged zip (recommended if not comfortable with CLI):
- Download the latest version of Elgg
- Upload the ZIP file with an FTP client to your server
- Unzip the files in your domain’s document root.
Create a data folder¶
Elgg needs a special folder to store uploaded files including profileicons and photos. You will need to create this directory.
Warning
For security reasons, this folder MUST be stored outside of yourdocument root. If you created it under /www/ or /public_html/, you’redoing it wrong.
Once this folder has been created, you’ll need to make sure the webserver Elgg is running on has permission to write to and createdirectories in it. This shouldn’t be a problem on Windows-based servers,but if your server runs Linux, Mac OS X or a UNIX variant, you’ll needto set the permissions on the directory.
If you are using a graphical FTP client to upload files, you canusually set permissions by right clicking on the folder andselecting ‘properties’ or ‘Get Info’.
Note
Directories must be executable to be read and written to. Thesuggested permissions depend upon the exact server and userconfiguration. If the data directory is owned by the web serveruser, the recommended permissions are 770.
Setting your data directory to 777 will work, but it is insecureand is not recommended. If you are unsure how to correctly setpermissions, contact your host for more information.
Create a MySQL database¶
Using your database administration tool of choice (if you’re unsureabout this, ask your system administrator), create a new MySQL databasefor Elgg. You can create a MySQL database with any of the followingtools:
Make sure you add a user to the database with all privileges and recordthe database name, username and password. You will need this informationwhen installing Elgg.
Visit your Elgg site¶
Once you’ve performed these steps, visit your Elgg site in your webbrowser. Elgg will take you through the rest of the installation processfrom there. The first account that you create at the end of theinstallation process will be an administrator account.
A note on settings.php and .htaccess¶
The Elgg installer will try to create two files for you:
elgg-config/settings.php
, which contains local environment configuration for your installation.htaccess
, which allows Elgg to generate dynamic URLs
If these files can’t be automatically generated, for example because theweb server doesn’t have write permissions in the directories, Elgg willtell you how to create them. You could also temporarily change thepermissions on the root directory and the engine directory. Set thepermissions on those two directories so that the web server can writethose two files, complete the install process, and them change thepermissions back to their original settings. If, for some reason, thiswon’t work, you will need to:
- In
elgg-config/
, copysettings.example.php
tosettings.php
, open it upin a text editor and fill in your database details - On Apache server, copy
install/config/htaccess.dist
to.htaccess
- On Nginx server copy
install/config/nginx.dist
to/etc/nginx/sites-enabled
and adjust it’s contents
Help! I’m having trouble installing Elgg¶
First:
- Recheck that your server meets the technical requirements for Elgg.
- Follow the environment-specific instructions if need be
- Have you verified that
mod_rewrite
is being loaded? - Is the mysql apache being loaded?
Keep notes on steps that you take to fix the install. Sometimes changingsome setting or file to try to fix a problem may cause some otherproblem later on. If you need to start over, just delete all the files,drop your database, and begin again.
I can’t save my settings on installation (I get a 404 error when saving settings)¶
Elgg relies on the
mod_rewrite
Apache extension in order to simulatecertain URLs. For example, whenever you perform an action in Elgg, orwhen you visit a user’s profile, the URL is translated by the serverinto something Elgg understands internally. This is done using rulesdefined in an .htaccess
file, which is Apache’s standard way ofdefining extra configuration for a site.This error suggests that the
mod_rewrite
rules aren’t being pickedup correctly. This may be for several reasons. If you’re not comfortableimplementing the solutions provided below, we strongly recommend thatyou contact your system administrator or technical support and forwardthis page to them.The
.htaccess
, if not generated automatically (that happens when youhave problem with mod_rewrite
), you can create it by renaminginstall/config/htaccess.dist
file you find with elgg package to .htaccess
. Alsoif you find a .htaccess
file inside the installation path, but youare still getting 404 error, make sure the contents of .htaccess
aresame as that of install/config/htaccess.dist
.``mod_rewrite`` isn’t installed.
Check your
httpd.conf
to make sure that this module is being loadedby Apache. You may have to restart Apache to get it to pick up anychanges in configuration. You can also use PHP info to check to seeif the module is being loaded.The rules in ``.htaccess`` aren’t being obeyed.
In your virtual host configuration settings (which may be containedwithin
httpd.conf
), change the AllowOverride setting so that itreads:AllowOverrideall
This will tell Apache to pick up the
mod_rewrite
rules from.htaccess
.![How To Install Elgg On Xampp Download How To Install Elgg On Xampp Download](/uploads/1/2/6/4/126411141/670751621.jpg)
Elgg is not installed in the root of your web directory (ex:http://example.org/elgg/ instead of http://example.org/)
The install script redirects me to “action” when it should be “actions”¶
This is a problem with your
mod_rewrite
setup.DO NOT, REPEAT, DO NOT change any directory names!I installed in a subdirectory and my install action isn’t working!¶
If you installed Elgg so that it is reached with an address likehttp://example.org/mysite/ rather than http://example.org/, there is asmall chance that the rewrite rules in .htaccess will not be processedcorrectly. This is usually due to using an alias with Apache. You mayneed to give mod_rewrite a pointer to where your Elgg installation is.
- Open up .htaccess in a text editor
- Where prompted, add a line like
RewriteBase/path/to/your/elgg/installation/
(Don’t forget thetrailing slash) - Save the file and refresh your browser.
Please note that the path you are using is the web path, minus thehost.
For example, if you reach your elgg install at http://example.org/elgg/,you would set the base like this:
RewriteBase/elgg/
Please note that installing in a subdirectory does not require usingRewriteBase. There are only some rare circumstances when it is neededdue to the set up of the server.
I did everything! mod_rewrite is working fine, but still the 404 error¶
Maybe there is a problem with the file .htaccess. Sometimes the elgginstall routine is unable to create one and unable to tell you that. Ifyou are on this point and tried everything that is written above:
- check if it is really the elgg-created .htaccess (not only a dummyprovided from the server provider)
- if it is not the elgg provided htaccess file, use the htaccess_dist(rename it to .htaccess)
I get an error message that the rewrite test failed after the requirements check page¶
I get the following messages after the requirements check step (step 2) of the install:
We think your server is running the Apache web server.
The rewrite test failed and the most likely cause is that AllowOverride is not set to All for Elgg’s directory. This preventsApache from processing the .htaccess file which contains the rewrite rules.
A less likely cause is Apache is configured with an alias for your Elgg directory and you need to set the RewriteBase inyour .htaccess. There are further instructions in the .htaccess file in your Elgg directory.
After this error, everinteraction with the web interface results in a error 500 (Internal Server Error)
This is likely caused by not loading the “filter module by un-commenting the
line in the “httpd.conf” file.
the Apache “error.log” file will contain an entry similar to:
... .htaccess: Invalid command ‘AddOutputFilterByType’, perhaps misspelled or defined by a module not included in the server configuration
There is a white page after I submit my database settings¶
Check that the Apache mysql module is installed and is being loaded.
I’m getting a 404 error with a really long url¶
If you see a 404 error during the install or on the creation of thefirst user with a url like:
http://example.com/homepages/26/d147515119/htdocs/elgg/action/register
that means your site url is incorrect in your sites_entity table inyour database. This was set by you on the second page of the install.Elgg tries to guess the correct value but has difficulty with sharedhosting sites. Use phpMyAdmin to edit this value to the correct baseurl.I am having trouble setting my data path¶
This is highly server specific so it is difficult to give specificadvice. If you have created a directory for uploading data, make sureyour http server can access it. The easiest (but least secure) way to dothis is give it permissions 777. It is better to give the web serverownership of the directory and limit the permissions.
The top cause of this issue is PHP configured to prevent access to mostdirectories using open_basedir. You may want to check with yourhosting provider on this.
Make sure the path is correct and ends with a /. You can check the pathin your database in the datalists table.
If you only have ftp access to your server and created a directory butdo not know the path of it, you might be able to figure it out from thewww file path set in your datalists database table. Asking for help fromyour hosting help team is recommended at this stage.
I can’t validate my admin account because I don’t have an email server!¶
While it’s true that normal accounts (aside from those created from theadmin panel) require their email address to be authenticated before theycan log in, the admin account does not.
Once you have registered your first account you will be able to log inusing the credentials you have provided!
I have tried all of these suggestions and I still cannot install Elgg¶
It is possible that during the process of debugging your install youhave broken something else. Try doing a clean install:
- drop your elgg database
- delete your data directory
- delete the Elgg source files
- start over
If that fails, seek the help of the Elgg community.Be sure to mention what version of Elgg you are installing, details ofyour server platform, and any error messages that you may have receivedincluding ones in the error log of your server.
Elgg 1.8 installation on windows desktop
Elgg requires webserver to work, so you first need to install XAMPP(link to tutorial). When you finish installing XAMPP, you can proceed with instruction from this elgg instalation tutorial.
Open file C:xamppapacheconfhttpd.conf (assuming you installed xampp in C:xampp), find line
#LoadModule rewrite_module modules/mod_rewrite.so
and delete #, it should loock like this,
LoadModule rewrite_module modules/mod_rewrite.so
Save file.
Open file C:xamppphpphp.ini
If you only see php files withouth .ini extension, you need to turn off windows hiding known file extensions. Go to Control Panel - Folder Options - View tab and uncheck 'Hide extension for known file types'.
In php.ini file change
arg_separator.output = '&'
to
arg_separator.output = '&'
and save file.
Download Elgg 1.8 from elgg.org, and extract content in C:xampphtdocs. Extracted content will be in folder elgg+version_number. Change name of this folder to elgg, and create empty folder data. Data folder will contein user uploads like profile images, pictures, files etc.
C:xampphtdocselgg
C:xampphtdocsdata
Now open XAMPP Control Panel and start Apache and MySQL. You can now access elgg installation on http://localhost/elgg but before installing elgg we need to create database. Go to http://localhost/phpmyadmin/ select users tab adn klick on Add new.
Then complete form for adding user and database like on screenshot below. You should remember choosen username and password since we will use them later during elgg instalation.
Database for our elgg site is created, in left panel there should be elgg database listed. Click on elgg database in left panel, choose Operations tab and on Collation dropdown choose utf8_unicode_ci.
You can now navigate to http://localhost/elgg adn start elgg installation by clicking 'Next' on Welcome screen.
Again click next.
On next page we need to provide database connection deatels to elgg. Enter database name, username and password for database you created in phpmyadmin. For database host enter 'localhost' and for database table prefix use elgg_. After you finish click 'Next'.
Next you enter yournew website name(you can change it later). Enter site email, in this case when, you install on localhost enter any email adress. Data directory is same data directory we created earlyer in C:xampphtdocs so you enter path as in screenshot. Default access set default privacy option for user generated content on site.
In final step you create first admin user.
Elgg installation is finished, click 'Go to site' on next screen, it will lead you to admin section on your new Elgg website.