LAMP on CentOS 6 Print

  • 13

Install Apache Web

sudo yum install httpd



Edit Apache's httpd.conf

The httpd.conf can be found in /etc/httpd/conf/ and configures resource usage.

This is an example of a configuration for a VPS with 2GB of RAM:

KeepAlive Off
 
...
 
<IfModule prefork.c>
StartServers
MinSpareServers 20
MaxSpareServers 40
MaxClients 200
MaxRequestsPerChild 4500
</IfModule>


NOTE: The Apache config should be closely monitored. Different sites may require adjustment of these values to optimize performance. This configuration is presented as a good baseline.


Set Up Virtual Hosts

Create a file named vhost.conf in /etc/httpd/conf.d using your own domain in place of yourdomain.com:

NameVirtualHost *:80
 
<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
ServerName yourdomain.com
ServerAlias www.yourdomain.com
DocumentRoot /var/www/yourdomain.com/public_html/
ErrorLog /var/www/yourdomain.com/logs/error.log
CustomLog /var/www/yourdomain.com/logs/access.log combined
</VirtualHost>

NOTE: you will need to make a new entry in your vhost.conf file like this for each domain you intend to host on your VPS

Now you must make the directories referenced in your vhost.conf file - remember to replace yourdomain.com with your actual domain name:

sudo mkdir -p /var/www/yourdomain.com/public_html
sudo mkdir /var/www/yourdomain.com/logs



Start Apache

The first command will start the Apache service, and the second command will make Apache run on boot:

sudo service httpd start
sudo /sbin/chkconfig --levels 235 httpd on





Install MySQL

sudo yum install mysql-server



Start MySQL

sudo service mysqld start
sudo /sbin/chkconfig --levels 235 mysqld on


Secure MySQL

We suggest you answer "yes" to all the options given when you run this command:

mysql_secure_installation


Create a Database

First you will need to log in to MySQL:

mysql -u root -p

Now, create a database and user, replacing webdata with your database name, webuser with your username, and password with a strong password:

create database webdata;
grant all on webdata.* to 'webuser' identified by 'password';

Quit MySQL:

quit



Install PHP

sudo yum install php php-pear


Install MySQL support:

sudo yum install php-mysql


Edit the /etc/php.ini to improve performance, error messages, and logs:

error_reporting = E_COMPILE_ERROR | E_RECOVERABLE_ERROR | E_ERROR | E_CORE_ERROR
error_log = /var/log/php/error.log
max_input_time = 30



Create the error directory

sudo mkdir /var/log/php
sudo chown apache /var/log/php



Restart Apache:

sudo service httpd restart







 


Was this answer helpful?

« Back