In this tutorial we will show you how to install LAMP on CentOS 6. For those of you who didn’t know, LAMP represents a full featured stack containing the most popular web server known as Apache, the most popular database server MySQL and the most popular open-source web programming language known as PHP. All components are free and open-source software, and the combination is suitable for building dynamic web pages.
This article assumes you have at least basic knowledge of linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple. I will show you through the step by step installation LAMP (Linux Apache, MySQL and PHP) on CentOS 6 server.
Install LAMP Stack on CentOS 6
Step 1. First of all make sure that all packages are up to date.
Step 2. Installing Apache on CentOS 6.
We will be installing Apache with yum, which is the default package manager for CentOS 6:
Start Apache and add it to automatically start on your system start-up using:
You can verify that Apache is really running by opening your favorite web browser and entering the URL http://your-server’s-address and you need to open port 80 to make your web server accessible:
Step 3. Installing MySQL on CentOS 6.
Install MySQL with the following command to begin the install:
After that add it to your system startup and start the MySQL server using the following commands:
By default, MySQL is not hardened. You can secure MySQL using the mysql_secure_installation script. you should read and below each steps carefully which will set root password, remove anonymous users, disallow remote root login, and remove the test database and access to secure MySQL:
To log into MySQL, use the following command (note that it’s the same command you would use to log into a MySQL database):
Step 4. Installing PHP on CentOS 6.
Finally, run the commands below to install PHP along with other good-to-have modules:
You may want to install some other PHP extensions required by your applications. The following is a list of the available PHP modules:
php-bcmath => AmoduleforPHPapplicationsusingthebcmathlibrary
php-cli => Command-lineinterfaceforPHP
php-common => CommonfilesforPHP
php-dba => AdatabaseabstractionlayermoduleforPHPapplications
php-devel => FilesneededforbuildingPHPextensions
php-embedded => PHPlibraryforembeddinginapplications
php-enchant => HumanLanguageandCharacterEncodingSupport
php-gd => AmoduleforPHPapplicationsusingthegdgraphicslibrary
php-imap => AmoduleforPHPapplicationsthatuseIMAP
php-intl => InternationalizationextensionforPHPapplications
php-ldap => AmoduleforPHPapplicationsthatuseLDAP
php-mbstring => AmoduleforPHPapplicationswhichneedmulti-bytestringhandling
php-mysql => AmoduleforPHPapplicationsthatuseMySQLdatabases
php-odbc => AmoduleforPHPapplicationsthatuseODBCdatabases
php-pdo => AdatabaseaccessabstractionmoduleforPHPapplications
php-pear.noarch => PHPExtensionandApplicationRepositoryframework
php-pecl-apc => APCcacheoptimizingPHPintermediatecode
php-pecl-memcache => ExtensiontoworkwiththeMemcachedcachingdaemon
php-pgsql => APostgreSQLdatabasemoduleforPHP
php-process => ModulesforPHPscriptsusingsystemprocessinterfaces
php-pspell => AmoduleforPHPapplicationsusingpspellinterfaces
php-recode => AmoduleforPHPapplicationsusingtherecodelibrary
php-snmp => AmoduleforPHPapplicationsthatquerySNMP-manageddevices
php-soap => AmoduleforPHPapplicationsthatusetheSOAPprotocol
php-tidy => StandardPHPmoduleprovidestidylibrarysupport
php-xml => AmoduleforPHPapplicationswhichuseXML
php-xmlrpc => AmoduleforPHPapplicationswhichusetheXML-RPCprotocol
php-zts => Thread-safePHPinterpreterforusewiththeApacheHTTPServer
Restart apache so all the changes take effect:
To test PHP, create a test file named info.php with he content below. Save the file, then browse to it to see if PHP is working:
Congratulation’s! You have successfully installed LAMP. Thanks for using this tutorial for installing LAMP (Linux Apache, MySQL and PHP) on CentOS 6 system. For additional help or useful information, we recommend you to check the official Apache, MySQL and PHP web site.