1. Install Linux updates, set time zones, followed by GCC and Make
sudo yum -y update sudo ln -sf /usr/share/zoneinfo/America/Indianapolis \ /etc/localtime sudo yum install -y gcc make
2. Install PHP and PHP extensions
sudo yum install -y php sudo yum install -y php-devel php-mysql php-pdo sudo yum install -y php-pear php-mbstring
sudo pear install Log sudo yum install -y pcre-devel
3. Install Apache httpd
sudo yum -y install httpd sudo service httpd start
4. Install MySQL
sudo yum -y install mysql-server mysql sudo service mysqld start
5. Install PHP APC module
sudo yum -y install httpd-devel sudo pecl install apc-beta echo "extension=apc.so" | sudo tee /etc/php.d/apc.ini
Or Simply:
sudo yum install -y php-pecl-apc
6. MySQL Configuration
sudo vi /etc/my.cnf
[mysqld] ... skip-external-locking long_query_time=1 slow_query_log slow_query_log_file=/var/log/log-slow-queries.log log-bin=mysql-bin server-id= 1 ...
[mysqld_safe] ... myisam_recover_options ...
[mysqld] ... key_buffer_size = 128M max_allowed_packet = 3M table_open_cache = 64 read_buffer_size = 2M read_rnd_buffer_size = 8M myisam_sort_buffer_size = 16M thread_cache_size = 8 query_cache_size= 32M thread_concurrency = 8 innodb_buffer_pool_size = 128M innodb_log_file_size = 32M innodb_additional_mem_pool_size = 8M innodb_log_buffer_size = 4M ...
Log Slow Queries:
sudo touch /var/log/log-slow-queries.log sudo chown mysql.mysql /var/log/log-slow-queries.log
sudo /sbin/chkconfig --levels 235 mysqld on sudo service mysqld start
7. PHP Configuration Changes in php.ini
sudo nano /etc/php.ini
expose_php = Off memory_limit = 128M date.timezone = America/Indianapolis
Note: Location of error file
/var/log/httpd/error.log
8. Auto Start Apache in EC2 Amazon Linux
sudo /sbin/chkconfig --levels 235 httpd on sudo service httpd start