linux 配置apache、mysql、php ——20150807

2015年8月7日

一部分:mysql

mysql 5.5.40安装

第二部分:apache(apache要安装在php前面。apache和mysql可以随意顺序)

1、

# tar zxvf httpd-2.2.11.tar.gz

# ./configure --prefix=/usr/local/apache2 --enable-dav --enable-modules=so【20150807是这个配置】

./configure --prefix=/usr/local/apache --enable-so【这个也行】
make

make install

一般出现这个-bash: make: command not found提示,是因为安装系统的时候使用的是最小化mini安装,系统没有安装make、vim等常用命令,直接yum安装下即可。

-------------------------------------------------------

解决方案:

yum -y install gcc automake autoconf libtool make

直接ssh运行即可,安装make。

启动Apache服务:

# /usr/local/apache2/bin/apachectl start

出现错误:

httpd: apr_sockaddr_info_get() failed for VM_74_204_centos
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName

-------------------------------

解决方案:

在Apache的安装目录下的conf文件修改如下
(1) ServerName localhost:80

或者在 /etc/hosts 中填入自己的主机名称 bogon,如下:
(2)127.0.0.1 bogon
---------------------------------------------

 【下面这个错误可以避免,apache支持php,就是php编译的时候,加个参数。apache安装的时候已经加了这个参数--enable-modules=so】

/usr/local/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory

-------------------------------------------------

解决方案:Apache 安装目录http。conf文件增加这一行

LoadModule php5_module /usr/local/apache2/modules/libphp5.so

还是/usr/local/apache2/modules/libphp5.so: cannot open shared object file: No such file or directory 错误,那就先装php吧

 

第三部分:安装php

安装libxml2【一定要先安装这个】

方式一:

1 tar zxvf libxml2-2.6.32.tar.gz
2 cd libxml2-2.6.32
3 ./configure --prefix=/usr/local/libxml2
4 make
5 make install

方式二:【20150807采用的是这个方式】

yum install libxml2

yum install libxml2-devel -y

安装php

1、tar zvxf php-5.3.28.tar.gz
2、cd php-5.3.28
3、./configure --prefix=/usr/local/php --with-mysqli=/usr/bin/mysql_config --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2

出现错误

configure: error: xml2-config not found. Please check your libxml2 installation.

------------------------------------

解决方案:http://www.cnblogs.com/happyhotty/articles/2539864.html

【检查是否安装了libxm包

[root@XKWB3403 php-5.3.8]# rpm -qa |grep libxml2
libxml2-2.6.26-2.1.12
libxml2-python-2.6.26-2.1.12

重新安装libxml2和libxml2-devel包

yum install libxml2

yum install libxml2-devel -y

安装完之后查找xml2-config文件是否存在

[root@XKWB3403 php-5.3.8]# find / -name "xml2-config"

/usr/bin/xml2-config

然后再重新 config

+--------------------------------------------------------------------+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+--------------------------------------------------------------------+

Thank you for using PHP.

出现这个【而且只能出现这个,后面如果还有文字,就代表还有问题。有一次编译php没有加这个--with-libxml-dir=/usr/local/libxml2,就出现后面还有一堆文字,不算成功】,成功安装php

然后再

make make install

出现这个

[PEAR] Console_Getopt - installed: 1.3.1
warning: pear/PEAR requires package "pear/Structures_Graph" (recommended version 1.0.4)
warning: pear/PEAR requires package "pear/XML_Util" (recommended version 1.2.1)
[PEAR] PEAR - installed: 1.9.4
Wrote PEAR system config file at: /usr/local/php/etc/pear.conf
You may want to add: /usr/local/php/lib/php to your php.ini include_path
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util - installed: 1.2.1
/usr/local/php-5.3.28/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin
ln -s -f /usr/local/php/bin/phar.phar /usr/local/php/bin/phar
Installing PDO headers: /usr/local/php/include/php/ext/pdo/

安装成功了

 

 

 

---------------------------------------------------

最后 php链接php还是不成功。原因解决方案:

cp 一个php.ini 到 /usr/local/php/lib 【 cp /opt/php-5.3.28/php.ini-production /usr/local/php/lib/php.ini或者直接操作复制过去那个文件 】

 

vi /usr/local/php/lib/php.ini

找到这一行 extension=mysql.so【*5】

php。ini里面 去掉分号,加上面这个链接。重启Apache即可 

./configure --with-php-config=/usr/local/bin/php-config

【如果不成功,目录之类的,请重新输入或者

updatedb
locate php-config

找到对应的,复制粘贴】

 

步骤大致是:
a、进入php目录下ext下mysql下
b、/usr/local/php/bin/phpize
c、./configure --with-php-config=/usr/local/bin/php-config

【如果./configure不成功,下面这种方式。】


ln -s /usr/lib64/mysql/libmysqlclient.a /usr/lib/libmysqlclient.a
ln -s /usr/lib64/mysql/libmysqlclient_r.a /usr/lib/libmysqlclient_r.a

ln -s /usr/lib64/mysql/libmysqlclient.so.16 /usr/lib/libmysqlclient.so【注意,这一台机器是16,去具体的目录查看一下】

参考网站:http://www.cnblogs.com/wangtao_20/archive/2011/03/07/1973621.html

--------------------------------------------------------

d、make 【./configure成功之后才有make】
e、make install
f、配置mysql.so  回到【*5】

 

 

--------------------------------------

以前的一些总结

2015年2月21日

说明:

1、安装apache+mysql+php,php总是最后装的,apache和mysql可以不分顺序。因为根据视频的那个源码包安装的时候,php是指定了目录的。指定了mysql和apache

2、apache中支持php,相当于apache中开启了php模块。然后php(其实是程序里面)开启了连接了数据库。

3、php里面开启例如zlib、mysql、xmlrpc、openssl 、gd库。在这个文件里面编辑vi /usr/local/php/etc/php.ini 添加即可【/usr/local/php是php按照的时候 --prefix的目录】

4、apache在windows的配置文件 路径在\Apache2.2\conf\httpd.conf  linux在/usr/local/apache2/etc/httpd.conf 多了一个etc

5、添加别名 alias sta='/usr/local/apache2/bin/apachectl start'

 

-------------------------------------------------------------

今天的总结:

1、主页目录存放位置。在php.ini里面的两个相应位置修改成/home/www既可。

2、测试是否mysql链接正常的时候,如果是空白页,删掉第一个 面向过程的mysql链接测试,面向对象的就测试正常。当然,里面的数据库密码要修改成一样的,才能测试。

3、apache是否支持php。只要apache编译的时候,加上那个enable-so选项和php编译的时候有apxs选项。就会自动在 php.ini里面有 load apachephp5 module选项

如果没有的话,在网盘里面下载httpd.conf覆盖对应的【搜 httpd.conf】

4、添加扩展库 curl.so

情况二:已经安装了php,现在需要添加这个扩展

进入安装原php的源码目录,(如果删了,但是还有原来的压缩文件的话,重新解压就行)

cd ext/curl
phpize  ./configure –with-curl=DIR   (可以不写dir,如果你的curl安装时没有指定目录)
make

就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。
复制curl.so文件到extensions的配置目录,修改php.ini就好了

以上两种就是Linux下php扩展cURL的安装方法。

以前总结的添加扩展库的方法链接

http://www.cnblogs.com/bluewelkin/p/4296297.html

http://blog.sina.com.cn/s/blog_6df9fbe30101ecx7.html

 

2015年0811总结

1、apache支持php 加入Load php5 module 那个模块 和 index.php  .apache的配置文件 http.conf文件里面【php在mysql和apache 最后编译,加入编译选项--with-apxs2=/usr/local/apache2/bin/apxs就会自动加入 Load php5 这一条语句】

2、php支持mysql   加入 mysql.so文件。php文件的配置文件,我的是默认的 /usr/local/lib/php.ini[ 和下面的这一段话有区别 我的是lib]

楼主一开始修改的是 php编译后目录/lib/php.ini 这个文件,修改之后新增模块并不生效。后来才知道,前面这个是默认(编译时候不指定)的扩展配置目录,如果编译的时候指定了php.ini的目录,以后都需要修改指定目录下的php.ini,例如楼主的是 php编译后目录/etc/php.ini 

 加入其它模块,类似,如curl.so

 

apache 找php【apache的配置文件 在/usr/local/apache2/conf下】,php 找php的配置文件【/usr/local/php/lib/php.ini】

 

2015年8月13号

1、测试配置文件是否正常 /usr/local/php/bin/php -v

2、测试加载了哪些模块  /usr/local/php/bin/php -m

./configure --prefix=/usr/local/php --with-mysqli=/usr/bin/mysql_config --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/libxml2

 --with-curl=/usr/local/curl

添加了curl模块,都不需要额外添加了,编译这个就ok  2015年0813

3、php的加载配置文件为 /usr/local/php/lib/php.ini 。可以在浏览器里面看到或编译安装的时候,make install 有显示。

这次就没有,直接拷贝了一个【为什么没有呢,默认的是php编译后目录/lib/php.ini 

 

posted @ 2015-08-07 16:43  kin2321  阅读(253)  评论(0编辑  收藏  举报