LAMP installation ( as on July 29 2007 )

1. Installing Apache 2.2.3

a) Download the Apache 2.2.3 source files from http://httpd.apache.org
b) Extract the source from the gunzipped file using tar or gunzip
c) change the working directory to the directory containing the
extracted source files
d) Run the following command for basic apache installation

./configure --prefix=/usr/local
--with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql
--enable-shared=max --enable-module=rewrite --enable-module=so
--enable-shared=ssl --enable-ssl --with-ssl=/path/to/openssl-0.9.8d

make
make install


2. Installing PHP 5.2.0

a) Download the PHP 5.2.0 source files from http://www.php.net
b) Extract the source from the gunzipped file using tar or gunzip
c) change the working directory to the directory containing the
extracted source files
d) Run the following command for PHP installation

./configure --prefix=/usr/local/php5
--with-apxs2=/usr/local/apache2/bin/apxs
--with-libxml-dir=/usr/local/lib --with-zlib
--with-zlib-dir=/usr/local/lib --with-mysql=/usr/local/mysql
--with-mysqli-dir=/usr/bin/mysql_config --with-gd --enable-soap
--enable-sockets --with-jpeg-dir=/usr --enable-exif

e)Build the PHP configuration using the following command

make

f) Install PHP

make install

restart apachectl

if you get error like this " /usr/local/modules/libphp5.so: cannot
restore segment prot after reloc: Permission denied "
you need to

#setenforce 0
then restart apachectl

open ../conf/httpd.conf using your favorite editor, find AddType
directive and add after it the following lines:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

chk if you are getting the phpinfo.php page

3. Installing MySQL 5.x


a) Download the MysQL source files from http://www.mysql.com
b) Extract the source from the gunzipped file using tar or gunzip
c) Create the mysql user and group using the following commands

groupadd mysql
useradd -g mysql -c "MySQL Server" mysql

d) Create a symbolic link to the MySQL source directory in a directory
of your choice. (I use /usr/local/). Here is an example of the same

ln -s /software/mysql-max-4.1.22-pc-linux-gnu-i686 /usr/local/mysql

e) Change the working directory to the symbolic link that you have
created in the server.
f) Execute the following command

./scripts/mysql_install_db

The above command will install the mysql and the test database

g) Change the ownership of /usr/local/mysql using the following command

chown -R root:mysql /usr/local/mysql

Where root is the user and mysql is the group

h) Change the ownership of /usr/local/mysql/data using the following command

chown -R mysql:mysql /usr/local/mysql/data

i) Copy the default configuration file for the expected size of the
database (small, medium, large, huge)

cp support-files/my-medium.cnf /etc/my.cnf
chown root:sys /etc/my.cnf
chmod 644 /etc/my.cnf

j) Now we have to tell the system where to find some of the dynamic
libraries that MySQL will need to run. We use dynamic libraries
instead of static to keep the memory usage of the MySQL program itself
to a minimum.

echo "/usr/local/mysql/lib/mysql" >> /etc/ld.so.conf
ldconfig

k) Now create a startup script, which enables MySQL auto-start each
time your server is restarted.

cp ./support-files/mysql.server /etc/rc.d/init.d/mysql
chmod +x /etc/rc.d/init.d/mysql
/sbin/chkconfig --level 3 mysql on

l) Then set up symlinks for all the MySQL binaries, so they can be run
from anyplace without having to include/specify long paths, , etc

cd /usr/local/mysql/bin
for file in *; do ln -s /usr/local/mysql/bin/$file /usr/bin/$file; done

m) First, we will assume that only applications on the same server
will be allowed to access the database (i.e., not a program running
on a physically separate server). So we'll tell MySQL not to even
listen on port 3306 for TCP connections l ike it does by default.

Edit /etc/my.cnf and uncomment the

skip-networking

n) Start MySQL


--

No comments:

Other Articles

Enter your email address: