IsaiahPacheco
8/23/2013 - 2:29 AM

LAMP on linux AMI

Launch the instance and connect with ssh.

##Update the server

```
sudo yum update
```

##Install php and MySQL packages

```
sudo yum install https mod_ssl mysql mysql-server php php-mysql php-xml
```

##Install phpMyAdmin

Get the RPMforge repo (32-bit, for 64-bit use http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm)

```
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
sudo rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
```

Install

```
sudo yum install phpmyadmin
```

##Start MySQL service

```
cd /etc/rc.d/init.d/
sudo ./mysqld start
sudo /usr/bin/mysql_secure_installation //follow instructions
```

##Setup startup scripts for apache and MySQL

```
cd /etc/rc.d/rc3.d
sudo rm K15httpd
sudo rm K36mysqld
sudo ln -s ../init.d/mysqld S30mysql
sudo ln -s ../init.d/httpd S85httpd
```

##Setup phpMyAdmin

Allow access from external IP's

```
sudo chmod 0700 /etc/httpd/conf.d/phpmyadmin.conf
sudo nano /etc/httpd/conf.d/phpmyadmin.conf
```

```
#  Web application to manage MySQL
#  #
#  Order Deny,Allow
#  Deny from all
  Allow from 127.0.0.1
#
Alias /phpmyadmin /usr/share/phpmyadmin
Alias /phpMyAdmin /usr/share/phpmyadmin
Alias /mysqladmin /usr/share/phpmyadmin
```

Set blowfish_secret to make it work with cookie auth

```
sudo chmod 0700 /usr/share/phpmyadmin/config.inc.php
sudo nano /usr/share/phpmyadmin/config.inc.php 
```

```
...
$cfg['blowfish_secret'] = 'put-a-magic-string-here'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
...
```

```
sudo chmod 0755 /usr/share/phpmyadmin/config.inc.php
```

##Make mod_rewrite (.htaccess) work in subdirectories

```
cd /etc/httpd/conf
sudo nano httpd.conf
```

Find `<Directory "/var/www/html">`
Replace `AllowOverride none` with `AllowOverride all`

(optional if apache is running already, restart it)

```
sudo service httpd restart
```


##Start apache 

```
sudo /etc/rc.d/init.d/httpd start
```

##Sources

* [Build an Amazon EC2 LAMP Server](http://bogomip.net/blog/build-an-amazon-ec2-lamp-server/)
* [Create LAMP (PHP, MySQL, Apache2) On CentOS in Amazon AMI](http://pitchpublish.com/blog/?p=20)