Friday, April 12, 2013

Installing elgg onto Amazon EC2 server instance

Log into your AWS instance. This is covered in previous articles.

Edit the httpd.conf file

sudo vi /etc/httpd/conf/httpd.conf

What I looked for here is not the first <Directory> directive, but the second one, that begins:

<Directory "/var/www/html">

The first one is a default section to remove all default rights from everythings. The second one grants back the rights we want to the document pointed to by the path.

Inside this section change:

AllowOverride None


AllowOverride All

This allows us to then put a .htaccess file into /var/www/html/ during the next step to control rewriting for the web server.

Enter the following to prevent an error and satisfy dependencies for the install:

sudo yum install php-xml
sudo yum install php-gd
sudo yum install php-mysql
sudo yum install php-mbstring

Restart your web server:

sudo /etc/init.d/httpd restart


Installing and configuring Elgg:

Use wget to download the Elgg tar ball.

wget http://path to the download

that you can see by hovering over the link on the elgg download page. Right click and copy link to put the url into your paste butter.

unzip this and copy the contents of the zip directory into /var/www/http

Change permissions and create a data directory

cd /var/www/http

sudo mkdir data

sudo chown -R apache:apache .

sudo mv data ..

sudo cp htaccess_dist .htaccess

Create the database:

mysql -u root -p
CREATE USER elgguser IDENTIFIED BY 'elgguserpassword';
GRANT ALL ON elgg.* to elgguser;

Of course you should change at least the password to something secure.
Run the elgg install script 

In your browser go to:

And it automatically brings up the installer.

Follow the prompts.

The database stuff is what you entered when you created the table just above this.

The data directory is /var/www/data

After the install, rename the install.php file so that it can no longer be accessed by placing a large number of random characters after the user name.

No comments:

Post a Comment