cenos6.7源码安装lamp(PHP)

来源:互联网 发布:linux教程孟庆昌答案 编辑:程序博客网 时间:2024/05/29 04:04

安装lamp,先安装mysql,再安装PHP!!这里安装php5.3.27

安装依赖文件包:

yum install -y zlib libxml libjpeg freetype libpng gd curl libicony zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel

yum -y install libjpeg-devel -y
yum -y install libiconv libiconv-devel   安装依赖,若不成功,使用自己下载好的
yum install openssl-devel -y   yum install libxslt-devel -y
装libiconv :(软件包在群资料)或者以下:
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gztar -zxvf libiconv-1.14.tar.gzcd libiconv-1.14./configure --prefix=/usr/local/libiconvmake && make install

下面准备安装php(源码安装):

wget http://cn2.php.net/distributions/php-5.3.27.tar.gz
用md5sum php-5.3.27.tar.gz 校验md5: bd03bfa9e7db40b6f2950fcbcf6a8276  再解压。。。
./configure --prefix=/application/php5.3.27 \--with-apxs2=/application/apache/bin/apxs \--with-mysql=/application/mysql \--with-xmlrpc \--with-openssl \--with-zlib \--with-freetype-dir \--with-gd \--with-jpeg-dir \--with-png-dir \--with-iconv=/usr/local/libiconv \--enable-short-tags \--enable-sockets \--enable-zend-multibyte \--enable-soap \--enable-mbstring \--enable-static \--enable-gd-native-ttf \--with-curl \--with-xsl \--enable-ftp \--with-libxml-dir
make && make install
================================================================
部分参数说明
./configure --prefix=/application/php5.3.27 \指定PHP的安装路径
--with-apxs2=/application/apache/bin/apxs \ 这个特别注意,Apache路径一定要正确,否则不能和Apache生成模块文件
--with-mysql=/application/mysql \因为PHP要调用mysql,故PHP本身就相当于客户端,所以PHP要有mysql相关的函数,如果mysql没装,PHP装完了再装就用不了mysql了
=======================================
所以装完PHP后,看一下Apache模块路径会有一个:module,这个就是apxs2插入进来的,
grep一下:grep libphp5 /application/apache/conf/httpd.conf  会看到也多了一行:modules/libphp5.so  也就是说当用户访问Apache时,Apache如果是静态文件就自己给了,动态文件就交给PHP模块,由PHP来解析动态文件,(这是内置的)再与mysql打交道。

下面配置PHP:

cd tar解压PHP的路径
ls php.ini-*
。。。。
development:开发人员使用的,测试环境
production:生产环境使用的
看看他们有什么区别:
diff`ls php.ini-*` 通过这个命令比较下
。。。。。
测试环境一般都打开,要看错误啊,开发要调试代码,正式环境要关掉,因为让错误被用户看到,不能让黑客看到。大多数都是测试环境打开错误,正式环境关掉错误。这就是他们之间的区别。
默认的PHP路径是:复制到php.ini下面:
cp php.ini-production /application/php/lib/php.ini
Apache有配置文件,mysql有配置文件,PHP也有自己的配置文件。
PHP配置文件暂时不改,完全能把服务搭建起来。以后优化时再改。
小结:
1.正式配置文件一般关闭显示log,就是不输出log或者输出也是打到日志里面去不让用户看。
2.  ./application/php/lib/
===========================================================================

实战配置Apache整合PHP软件:

cd /application/apache/conf/   切换到Apache配置文件目录
cp httpd.conf httpd.conf.panll.20160603  备份配置文件httpd.conf 
 vim /application/apache/conf/httpd.conf +99   到99行修改,参考下面
 1. 把99#ServerName www.example.com:80 改为“ServerName 127.0.0.1:80 ”添加一行主机
 2.然后在311gg行下添加下面两行:如下:
   311AddType application/x-httpd-php .php .phtml
   312AddType application/x-httpd-php-source .phps
3.67gg行
   67 user www
   68 group www
4.168gg 
   添加inde.php进去,如:
   168 DirectoryIndex index.php index.html  
--->>如果以PHP结尾的就用PHP来处理,这两行必须添加,不添加Apache就解析不了PHP,解析不了PHP程序就相当于下载一样,一打开就下载。
----------------------------------------------------------------
----------------------------------------------------------------
配置Apache支持PHP就这3步。
用 diff httpd.conf httpd.conf.panll.20160603 比较下两个文件。
id www 发现没有www用户,那么我们创建一个:
useradd www -s /sbin/nologin -M   创建www用户,没有家目录不能登录
如果提示有就用:
useradd -s/sbin/nolobin -M -g www www
----------------------------------------------------------------------------
/application/apache/bin/apachectl graceful  平缓重启Apache
/etc/init.d/mysqld start (启动mysql)
 ./bin/mysqld_safe --user=mysql 启动mysqld
curl 127.0.0.1  获得页面





0 0