LAMP的安装

时间:2023-03-09 01:22:30
LAMP的安装

一,LAMP的安装流程:mysql、apache、php或者apache、mysql、php。php放到最后的原因是,php在编译安装的时候是依赖于前2者的。

二,Mysql的安装:

1.下载mysql,可以通过http://mirrors.sohu.com/下载mysql软件。

wget http://mirrors.sohu.com/mysql/MySQL-5.1/mysql-5.1.73-linux-i686-glibc23.tar.gz

2.解压并重命名

tar -zxvf  mysql-5.1.73-linux-i686-glibc23.tar.gz

 mv mysql-5.1.73-linux-i686-glibc23     /usr/local/mysql/
3.建立MySQL用户,创建datadir目录。
useradd -s /sbin/nologin mysql
mkdir -p /data/mysql/
chown mysql /data/mysql/
4,初始化数据库。
 cd /usr/local/mysql  
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql/  查看是否有2个OK或者echo $?以此判断初始化数据库是否成功。
初始化成功后会在/data/mysql生成mysql和test的2个目录。
5,拷贝配置文件、启动脚本,并将mysql添加到服务列表设置开机启动。
cp support-files/mysql-large.cnf /etc/my.cnf  
cp support-files/mysql.server /etc/init.d/mysqld  修改/etc/init.d/mysqld的配置文件中的basedir datadir。
chmod 755 /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on 
/etc/init.d/mysqld start 

三,安装apache

1,下载httpd并解压。

wget  http://mirrors.sohu.com/apache/httpd-2.2.31.tar.gz

tar -zxvf httpd-2.2.31.tar.gz

2,编译前的参数配置

cd /usr/local/ httpd-2.2.31

./configure \
--prefix=/usr/local/apache2 \
--with-included-apr \
--enable-so \
--enable-deflate=shared \
--enable-expires=shared \
--enable-rewrite=shared \
--with-pcre
其中 --prefix 指定安装到哪里, --enable-so 表示启用DSO,这个是用来支持安装扩展模块的,比如你rewrite这个模块没有安装但是你是在编译启动了DSO,这个时候你就可以扩展安装rewrite模块了,使用的工具是apache自动的apxs扩展工具。其实这个就是一个perl脚本,具体如何扩展安装其他模块,后续会在此处添加链接。
 --enable-deflate=shared 表示共享的方式编译deflate,后面的参数同理。
上述操作是否成功,可以通过echo $?的返回值来确认。
3,编译
make    make后会在当前目录生成一个makefile的一个文件,如果没有编译前的配置,直接make就会出现找不到makefile。
4,安装
make install   将软件安装到你指定的目录。
5,启动httpd
/usr/local/apache2/bin/apachectl start,会有一行提示,
httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
这个是因为没有开启ServerName,修改httpd的配置文件,vim /usr/local/apache2/conf/httpd.conf将ServerName注释取消掉即可。
ps aux|grep httpd     用浏览器访问,是否显示It works.
四,安装php
4.1 ,下载php并解压。
tar -zxvf php-5.3.28.tar.gz
cd php-5.3.28
4.2,编译前的参数配置
./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/usr/local/php/etc  \
--with-mysql=/usr/local/mysql \
--with-libxml-dir \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-iconv-dir \
--with-zlib-dir \
--with-bz2 \
--with-openssl \
--with-mcrypt \
--enable-soap \
--enable-gd-native-ttf \
--enable-mbstring \
--enable-sockets \
--with-apxs2=/usr/local/apache2/bin/apxs        让系统自动加载phplib5.so的扩展模块 ,并且在httpd.conf添加php模块,是个扩展工具。
编译前的参数配置会出现各种报错,但是都是缺少库文件而已。可以根据报错信息,安装对应的库文件即可。
configure: error: xml2-config not found. Please check your libxml2 installation.

解决办法是:

yum install -y libxml2-devel

还有错误:

configure: error: Cannot find OpenSSL's <evp.h>

解决办法是:

yum install -y openssl openssl-devel

错误:

checking for BZip2 in default path... not found
configure: error: Please reinstall the BZip2 distribution

解决办法:

yum install -y bzip2 bzip2-devel

错误:

configure: error: png.h not found.

解决办法:

yum install -y libpng libpng-devel

错误:

configure: error: freetype.h not found.

解决办法:

yum install -y freetype freetype-devel

错误:

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解决办法:

yum install -y epel-release
yum install -y libmcrypt-devel

因为centos6.x 默认的yum源没有libmcrypt-devel 这个包,只能借助第三方yum源。另外,这里安装的包都是*-devel的包。

4.3,编译

make

4.4,安装

make install

4.5 拷贝配置文件

cp /usr/local/src/php-5.3.28/ php.ini-production  /usr/local/php/etc/php.ini

这里有2个文件,1个是production(生产环境),1个是development(测试环境)。

五,Apache与PHP结合

Apache主配置文件为:/usr/local/apache2/conf/httpd.conf

vim/usr/local/apache2/conf/httpd.conf

找到:

AddType application/x-gzip .gz .tgz   

在该行下面添加:

AddType application/x-httpd-php .php  添加可以对php脚本解析,必须添加上对应的类型

找到:

<IfModule dir_module>
DirectoryIndex index.html
</IfModule>

将该行改为:

<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule> 增加对PHP的索引 自动索引页
PHP测试代码,cd /usr/local/apache2/hdocs  
vim index.php 
<?php
echo "What fucking is PHP!";
?>
或者
<?php
phpinfo();
?>   可以用来排错
/usr/local/php/bin/php -m  查看模块
/usr/local/php/bin/php -i   查看配置信息
/usr/local/php/bin/php -v 查看版本
 /usr/local/php/bin/php -i |head      查看编译参数   也可以查看php源码中的config.nice
/usr/local/php/bin/php -i |grep configure
打开浏览器进行访问,查看能否正常解析PHP。
另外,测试是否php是否可以mysql php脚本如下:
<?php

   $link = mysql_connect('127.0.0.1','root','');

   if ($link)

       echo "successful...";

   else

       echo "Failure...";

   mysql_close();

?>