安装顺序:Apache,Mysql,PHP
PHP需要最后安装,因为在安装PHP时,需要配置Apache和Msyql的安装路径。
一.源码安装Apache,从官网上下载后缀为tar.gz或者tar.bz2的源码包。
下载地址: http://httpd.apache.org/download.cgi
名词解释
APR,APR-util:Apache portable Runtime libraries //Apache可移植运行库
APR,APR-util都是为上层应用程序提供一个可以跨越多操作系统平台的底层接口库
APR-iconv
Pcre:Perl函数库
Apache依赖于APR,APR-util,
APR-iconv和Pcre,所以在安装前我们需要先在linux上安装这四个函数库,安装时根据顺序装,有的linux自带有某些包,所以在安装中不一定会全部安装,自己根据Apache提示的依赖项来安装。
为什么编译好了的Apache不需要安装这些东西?
答:因为在编译的过程中Apache都已经将这些依赖向包含在里面了,因为我们是要用源码安装,所以要把Apache所有的依赖项都一个一个安装完才行。
1.首先我们安装APR
Apache官网上提供了APR和APR-util的源码包,下载下来安装即可
安装APR
安装包:
apr-1.5.2.tar.gz
a.用tar命令解压文件:
$ tar -zxvf
apr-1.5.2.tar.gz
b.进入解压的目录,运行configure,检查和配置文件
$ cd
apr-1.5.2
$ ./configure
c.在没有出错的情况下,编译源码
$make
d.安装编译好的apr
$make install
安装完成
在安装的过程中提示权限不足等问题,需要用sudo命令或root用户登录
注意:在安装APR的过程中可能会出现如下的错误:
只需要用编辑器编辑 ./configure文件,删除下面这一行命令重新运行就可以了。
2. 此时,我直接安装Apache,弹出如下的错误,说APR-uitl没有发现,所以还需要安装APR-util
3.安装APR-util,因为都是源码安装,所以和安装apr一样
但是运行configure文件时,出现如下的错误,说不能定位到APR的目录,需要使用--with-apr安装
apr-util-1.5.4.tar.gz
由于在安装apr的时候,我们没有指定安装路径,被默认安装在/usr/local/apr下面
$./configure --with-apr=/usr/local/apr //配置成功
然后运行 如下命令:
$ make && make install
安装完成。
4.此时我们再直接安装Apache,会提示如下,我们还需要安装pcre。
5.安装Pcre :pcre-8.38.tar.gz都是源码,安装过程如上,没有出现错误,就表示安装成功
6.安装Apache,现在我们再运行Apache的configure文件,发现没有报错,显示如下,我们可以继续安装了
$ make && make install //安装完成
注意:现在还不能陈宫启动Apache,需要后面的配置
二.安装Mysql
mysql-5.5.48-linux2.6-x86_64.tar.gz
注意:这个Mysql不是源码包了,而是编译好的二进制包,也可以在官网上下载源码包,但是Mysql源码编译很麻烦,还要用到boost,cmake等工具,在这儿,直接解压,然后配置,就安装好了。
http://dev.mysql.com/downloads/mysql/ //mysql二进制包下载连接
Mysql的安装可以参考我以前写的mysql的安装过程,由于我以前写过一篇关于linux下Mysql的二进制包安装的文章,在这儿我就不再重述了,直接参考好了。
http://blog.csdn.net/u013412497/article/details/47126211
三.安装PHP
php-5.6.19.tar.gz
所需安装包:
libxml2-2.7.6-20.el6_7.1.x86_64.rpm
libxml2-devel-2.7.6-20.el6_7.1.x86_64.rpm
zlib-devel-1.2.3-29.el6.x86_64.rpm
1.这时候,我们直接安装php,可能会出现如下错误,这时需要安装libxml2-devel包
但是直接安装libxml2-devel包又会提示,依赖libxml2包,所以我们先安装libxml2,再安装libxml2-devel包
rpm包的安装过程比较简单:
$ tar -ivh libxml2-2.7.6-20.el6_7.1.x86_64.rpm
$ tar -ivh
libxml2-devel-2.7.6-20.el6_7.1.x86_64.rpm
如果linux上没有安装zlib-devel的话,还需要安装zlib-devel包
$ tar -vih zlib-devel-1.2.3-29.el6.x86_64.rpm
安装过程如下:
2.安装PHP
php-5.6.19.tar.gz
安装过程和上面类似,但是,在配置和检查环境的时候,我们需要给php指定mysql,mysqli,Apache的安装路径,下面是其他教程列出的需要配置的选项。
./configure \ //执行PHP的配置命令
> --prefix=/usr/local/php \ //设置PHP的安装路径
> --with-config-file-path=/usr/local/php/etc \ //指定PHP配置文件的放置路径
> --with-apxs2=/usr/local/apache2/bin/apxs \ //指定Apache 2的安装目录
> --with-mysql=/usr/local/mysql/ \ //指定MySQL的安装目录
> --with-libxml-dir=/usr/local/libxml2/ \ //指定libxml2库的安装目录
> --with-png-dir=/usr/local/libpng/ \ //指定libpng库的安装目录
> --with-jpeg-dir=/usr/local/jpeg6/ \ //指定jpeg库的安装目录
> --with-freetype-dir=/usr/local/freetype/ \ //指定freetype库的安装目录
> --with-gd=/usr/local/gd2/ \ //指定gd库的安装目录
> --with-mcrypt=/usr/local/libmcrypt/ \ //指定libmcrypt库的安装目录
> --with-mysqli=/usr/local/mysql/bin/mysql_config \ //变量激活新增加的MySQLi功能
> --enable-soap \ //变量激活SOAP和Web services
但是,我在安装时,只配置了如下的几个路径
$ ./configure --with-apxs2=/usr/local/apache2/bin/apxs --config-file-path=/usr/local/lib --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config
然后
$make && make install
四.LAMP环境的配置
1.配置Apache
打开Apache的配置文件,源码安装的配置文件在Apache目录下的conf里面(rpm包安装的配置文件默认在/etc/http/conf/http.conf )
添加libphp5.so 模块
修改ServerName为:localhost:80
添加以php结尾的后缀名。
现在Apache可以启动了,进入Apache的安装目录
$cd /usr/local/apache2/bin
$./apachectl start |stop |status |restart //可以启动成功了。
将Apache添加到系统服务中去
$ cp ./apachectl /etc/rc.d/init.d/httpd
现在在任意目录下都可以可以执行:
$ service httpd start|stop |status|restart
配置PHP
php的配置文件在:/usr/local/php/lib中
编辑配置文件:
$ vi /usr/local/php/lib/php.ini,将对应的;号去掉
配置mysql时候的一些问题及解决方法
配置mysql时,经常出错,出现错误时,不要着急,看看mysql的日志,到底哪儿出错了,然后根据错误去解决困难
下面提示mysql.plugin表不存在,FEDERATED is disabled
解决办法:
修改mysql的编码:
show variables like 'character%' ; //可以显示当前编码
修改方法:set + Variable_name=Value
修改mysql的配置文件:/etc/my.cnf
在[client]中添加
default-character-set=utf-8
在[mysqld]中添加
collation_server=utf8_general_ci
character_set_server=utf8
修改mysql权限,允许远程登录:
1。 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -pvmwaremysql>use mysql;mysql>update user set host = '%' where user = 'root';mysql>select host, user from user;
2. 授权法。例如,你想myuser使用mypassword从任何主机连接到mysql服务器的话。
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
四.LAMP结构测试
在Apache服务器的htdocs中:
新建index.php
<?php
echo phpinfo();
?>
然后在浏览器中访问:服务器ip地址+index.php
出现如下界面,即配置成功,连接mysql的部分,需要自己写php sql代码进一步验证。
至此,LAMP环境的搭建完成。