Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(install): Move environment-specific instructions to their own pages #7836

Merged
merged 1 commit into from
Jan 29, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
225 changes: 12 additions & 213 deletions docs/intro/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ By "official support", we mean that:
- Priority on bug reports is given to Apache and Nginx users if the bug is web server specific
(but those are rare).

.. _Multibyte String support: http://www.php.net/mbstring
.. _rewrite module: http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

Browser support policy
----------------------

Expand Down Expand Up @@ -152,219 +155,15 @@ won't work, you will need to:
Other Configurations
====================

Lighttpd
--------
Have you installed Elgg on a server running lighttpd?
We are looking for someone to share any configuration
and installation steps involved in setting this up.

Nginx
-----
To run Elgg on Nginx, you will need to:

- configure Nginx to talk to a PHP process in either CGI or FPM mode
- Port the following rewrite rules

.. literalinclude:: ../../install/config/nginx.dist

IIS
---

When installing on IIS, the problem is that the Apache mod\_rewrite
rules will not be recognized, and this breaks the application. You need
to convert the mod\_rewrite rules to the `IIS URL Rewrite`_ module
format.

You can do this using the IIS 7+ management console, and the "Import
Rules" feature that will do the conversion, as describe in the tutorial
"`importing Apache mod\_rewrite rules`_\ ".

.. _IIS URL Rewrite: http://www.iis.net/download/URLRewrite
.. _importing Apache mod\_rewrite rules: http://learn.iis.net/page.aspx/470/importing-apache-modrewrite-rules/

MariaDB
-------

This DBMS should be a drop-in replacement for MySQL, if you prefer it.

http://community.elgg.org/discussion/view/1455994/alternative-dbmss

Virtual host (e.g. Rackspace, Amazon EC2)
-----------------------------------------

For installation to proceed successfully, modify the .htaccess file in the
root, and uncomment::

#RewriteBase /

To be::

RewriteBase /

MAMP
----

On certain versions of MAMP, Elgg will either fail to install or have
intermittent problems while running.

This is a known issue with MAMP and is related to the Zend Optimizer.
Until Zend/MAMP have resolved this issue it is recommended that you turn
off the Zend Optimizer in your PHP settings.

XAMPP
-----

These intructions are provided in case you want to test your Elgg
installation on your local computer running Windows.

- Download and install XAMPP to your computer from
http://www.apachefriends.org/en/xampp.html
- Once the installation is completed, it will prompt you to start the
XAMPP controller panel. Leave it for now.
- Open ``C:\xampp\apache\conf\httpd.conf`` file with notepad and uncomment
these lines::

#LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule filter_module modules/mod_filter.so

- Edit the php.ini file and change
``arg_separator.output = &`` to ``arg_separator.output = &``
- Go to ``C:\xampp`` and double click on the xampp_start application
- Go to http://localhost/
- Change your server's password in the security option
- Go to http://localhost/phpmyadmin and login with the username and the
password of your server
- Create a database called "elgg" in your phpmyadmin panel
- Now download Elgg. Unzip it and extract to ``C:\xampp\htdocs\sites\elgg``
- Create the Elgg data folder as ``C:\xampp\htdocs\sites\data``
- Go to http://localhost/sites/elgg
- You will be taken to the Elgg installation steps. Install it and enjoy.

**A note on XAMPP 1.7.4 and eAccelerator**

Elgg is compatible with opcode caches and it is highly recommended that
you enable a PHP opcode caching tool for a faster experience. XAMPP comes
with support for eAccelerator out of the box, but unfortunately, the 1.7.4
build of XAMPP leaves out the DLL that's required. To get eAccelerator
working, follow these steps:

- Download the DLL from http://eac.qme.nl/eAccelerator_v1_0_svn427_for_v5_3_5-VC6.zip
- Copy eAccelerator_ts.dll to ``C:\xampp\php\ext\php_eaccelerator.dll``
- Uncomment this line in ``C:\xampp\php\php.ini``::

;zend_extension = "C:\xampp\php\ext\php_eaccelerator.dll"

- Restart apache

To verify that it is on:

- Go to localhost/xampp
- Click on phpinfo() from the left sidebar
- Ctrl+F for eaccelerator. If you get no results, eAccelerator is not active


EasyPHP
-------

- Assuming no MySQL, PHP or Apache installations exist already.
- Best run as a development/test server

1. Stop IIS running if installed

2. Download and install the latest Easy PHP from http://www.easyphp.org (16MB download)

3. Set up the database and point the web server to your Elgg folder (all done from the EasyPHP tray icon)
- Right click EasyPHP tray icon, select "Administration"
- A new tab is created in your browser for managing Easy PHP
- Add your Elgg folder to Apache in "Alias" section
- Click "Manage MySQL with PhpMyAdmin", create a database and account for Elgg

4. (Ignore this step for v5.3 or later) From the tray icon go Configuration/Apache
and uncomment this line::

#LoadModule rewrite_module modules/mod_rewrite.so

5. (Ignore this step for v5.3 or later) Change ``AllowOverride None`` to ``AllowOverride All``
in the relevant directory entry in Configuration/Apache

6. (Ignore this step for v5.3 or later) From the tray icon fo Configuration/PHP
and uncomment this line::

;extension=php_curl.dll

7. A reboot is best Elgg should run via http://127.0.0.1


Ubuntu Linux
------------

- Install the dependencies::

sudo apt-get install apache2
sudo apt-get install mysql-server
sudo apt-get install php5 libapache2-mod-php5 php5-mysql
sudo apt-get install phpmyadmin
sudo a2enmod rewrite

- Edit ``/etc/apache2/sites_available/default`` to enable .htaccess processing (set AllowOverride to All)
- Restart Apache: ``sudo /etc/init.d/apache2 restart``
- Follow the standard installation instructions above

Cloud9IDE
---------

**1. Create a c9 workspace**

- Go to http://c9.io
- Login with GitHub
- On the Dashboard, click "Create new workspace" => "Create a new
workspace"
- Choose a project name (e.g. "elgg")
- Choose "PHP" for project type
- Click "Create"
- Wait... (~1 min for c9 workspace to be ready)
- Click "Start editing" for the workspace

**2. Set up the workspace for Elgg**

Run the following in cloud9's terminal:

.. code:: sh

rm -rf * # Clear out the c9 hello-world stuff
git clone https://github.com/Elgg/Elgg . # the hotness
cp install/config/htaccess.dist .htaccess
cp engine/settings.example.php engine/settings.php
mysql-ctl start # start c9's local mysql server
mkdir ../elgg-data # setup data dir for Elgg

Configure ``engine/settings.php`` to be like so:

.. code:: php

// Must set timezone explicitly!
date_default_timezone_set('America/Los_Angeles');
$CONFIG->dbuser = 'your_username'; // Your c9 username
$CONFIG->dbpass = '';
$CONFIG->dbname = 'c9';
$CONFIG->dbhost = $_SERVER['SERVER_ADDR'];
$CONFIG->dbprefix = 'elgg_';

**3. Complete the install process from Elgg's UI**

- Hit "Run" at the top of the page to start Apache.
- Go to ``http://your-workspace.your-username.c9.io/install.php?step=database``
- Change Site URL to ``http://your-workspace.your-username.c9.io/``
- Put in the data directory path. Should be something like
``/var/..../app-root/data/elgg-data/``.
- Click "Next"
- Create the admin account
- Click "Go to site"
- You may have to manually visit http://your-workspace.your-username.c9.io/
and login with the admin credentials you just configured.

.. _Multibyte String support: http://www.php.net/mbstring
.. _rewrite module: http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html
* :doc:`Cloud9 <./install/cloud9>`
* :doc:`EasyPHP <./install/easyphp>`
* :doc:`IIS <./install/iis>`
* :doc:`MAMP <./install/mamp>`
* :doc:`MariaDB <./install/mariadb>`
* :doc:`Nginx <./install/nginx>`
* :doc:`Ubuntu <./install/ubuntu>`
* :doc:`Virtual hosts <./install/virtual>`
* :doc:`XAMPP <./install/xampp>`

Troubleshooting
===============
Expand Down
57 changes: 57 additions & 0 deletions docs/intro/install/cloud9.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
:orphan:

Installing Elgg on Cloud9 IDE
#############################

1. Create a c9 workspace
========================

- Go to http://c9.io
- Login with GitHub
- On the Dashboard, click "Create new workspace" => "Create a new
workspace"
- Choose a project name (e.g. "elgg")
- Choose "PHP" for project type
- Click "Create"
- Wait... (~1 min for c9 workspace to be ready)
- Click "Start editing" for the workspace

2. Set up the workspace for Elgg
================================

Run the following in cloud9's terminal:

.. code:: sh

rm -rf * # Clear out the c9 hello-world stuff
git clone https://github.com/Elgg/Elgg . # the hotness
cp install/config/htaccess.dist .htaccess
cp engine/settings.example.php engine/settings.php
mysql-ctl start # start c9's local mysql server
mkdir ../elgg-data # setup data dir for Elgg

Configure ``engine/settings.php`` to be like so:

.. code:: php

// Must set timezone explicitly!
date_default_timezone_set('America/Los_Angeles');
$CONFIG->dbuser = 'your_username'; // Your c9 username
$CONFIG->dbpass = '';
$CONFIG->dbname = 'c9';
$CONFIG->dbhost = $_SERVER['SERVER_ADDR'];
$CONFIG->dbprefix = 'elgg_';

3. Complete the install process from Elgg's UI
==============================================

- Hit "Run" at the top of the page to start Apache.
- Go to ``http://your-workspace.your-username.c9.io/install.php?step=database``
- Change Site URL to ``http://your-workspace.your-username.c9.io/``
- Put in the data directory path. Should be something like
``/var/..../app-root/data/elgg-data/``.
- Click "Next"
- Create the admin account
- Click "Go to site"
- You may have to manually visit http://your-workspace.your-username.c9.io/
and login with the admin credentials you just configured.
34 changes: 34 additions & 0 deletions docs/intro/install/easyphp.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
:orphan:

Installing Elgg on EasyPHP
##########################

You should first be familiar with the :doc:`standard installation instructions <../install>`.

- Assuming no MySQL, PHP or Apache installations exist already.
- Best run as a development/test server

1. Stop IIS running if installed

2. Download and install the latest Easy PHP from http://www.easyphp.org

3. Set up the database and point the web server to your Elgg folder (all done from the EasyPHP tray icon)
- Right click EasyPHP tray icon, select "Administration"
- A new tab is created in your browser for managing Easy PHP
- Add your Elgg folder to Apache in "Alias" section
- Click "Manage MySQL with PhpMyAdmin", create a database and account for Elgg

4. (Ignore this step for v5.3 or later) From the tray icon go Configuration/Apache
and uncomment this line::

#LoadModule rewrite_module modules/mod_rewrite.so

5. (Ignore this step for v5.3 or later) Change ``AllowOverride None`` to ``AllowOverride All``
in the relevant directory entry in Configuration/Apache

6. (Ignore this step for v5.3 or later) From the tray icon fo Configuration/PHP
and uncomment this line::

;extension=php_curl.dll

7. A reboot is best Elgg should run via http://127.0.0.1
20 changes: 20 additions & 0 deletions docs/intro/install/iis.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
:orphan:

Installing Elgg on IIS
######################

You can follow the :doc:`standard installation instructions <../install>` with the
following caveats:

When installing on IIS, the problem is that the Apache mod\_rewrite
rules will not be recognized, and this breaks the application. You need
to convert the mod\_rewrite rules to the `IIS URL Rewrite`_ module
format.

You can do this using the IIS 7+ management console, and the "Import
Rules" feature that will do the conversion, as described in the tutorial
"`importing Apache mod\_rewrite rules`_\ ".

.. _IIS URL Rewrite: http://www.iis.net/download/URLRewrite
.. _importing Apache mod\_rewrite rules: http://learn.iis.net/page.aspx/470/importing-apache-modrewrite-rules/

13 changes: 13 additions & 0 deletions docs/intro/install/mamp.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
:orphan:

Installing Elgg on MAMP
#######################

Follow the :doc:`standard installation instructions <../install>`.

On certain versions of MAMP, Elgg will either fail to install or have
intermittent problems while running.

This is a known issue with MAMP and is related to the Zend Optimizer.
Until Zend/MAMP have resolved this issue it is recommended that you
**turn off the Zend Optimizer** in your PHP settings.
13 changes: 13 additions & 0 deletions docs/intro/install/mariadb.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
:orphan:

Installing Elgg on MariaDB
##########################

You should be able to follow the :doc:`standard installation instructions <../install>`,
since this DBMS is supposed to be a drop-in replacement for MySQL.

Let us know how it goes!

Here is some historical community discussion, for reference:
https://community.elgg.org/discussion/view/1455994/alternative-dbmss

13 changes: 13 additions & 0 deletions docs/intro/install/nginx.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
:orphan:

Installing Elgg on Nginx
########################

To run Elgg on Nginx, you will need to:

- configure Nginx to talk to a PHP process in either CGI or FPM mode
- Port the following rewrite rules

.. literalinclude:: ../../../install/config/nginx.dist

Other than that, you should be able to follow the :doc:`standard installation instructions <../install>`.