LAMP INSTALL 第二版

本文详细介绍了在Fedora 6操作系统上搭建LAMP(Linux、Apache、MySQL、PHP)环境的过程,包括安装libxml2、zlib、libpng等依赖库,以及解决安装过程中遇到的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LAMP install

 

鲁迅的一个“拿来主义”不知影响了中国的多少代人,导致在中国的技术论坛上潜水的居多

时代不同了,是该提倡一下奉献了,没有予哪有取。

小弟虽不才,但愿意将我的经验拉出来与大家分享一下让后来者可以拿来

同样也希望各位以后有什么好的经验那出来能大家分享一下。

 

在php的论坛上一直存在着一个现象,虽说LAMP的搭建,很多人都会。但一般关于LAMP的搭建的文章多半会置顶,被视为精华贴,而且会被各个论坛转来转去。可见不会的也不少呀!

玩php也一年多了,linu也早在一年前就接触了,但后来转到Windows上开发,lamp,也就生疏很多了。

网上各种各样的amp的集成版本多的去了,抓来就用,而且方便,像Appserv. xampp,不错对于初学者他们已经够用了,但往后像添加什么模块,增加一些高级特性,就配置起来就麻烦了,鉴于这些原因,就又转到LAMP平台了。

 

前两天在 fedora6上自己搭建了LAMP + Zend +phpMyAdmin,虽说网上文档挺多的,在安装的时候还是出了很多意想不到的问题。在网上找资料的时候,碰到很多网友碰到同类问题。现在费劲周折终于搞定了。现在整理出来,希望对后来者有所帮助,闲话少说,开始吧!

建议在安装前卸载redhat或dedora自带的apache ,php, mysql,否则安装的是后会出问题(主要针对基于redhat的linux)。

LAMP 安装说明

php5.0 要求libxml2-2.6.0以上更高的版本,这一解析器提供php5.0 新的XML API

===============================================================================================================================================

安装 libxml2

tar -zxvf libxml2-2.6.19.tar.gz 

cd libxml2-2.6.19 

./configure --prefix=/usr/local/libxml2

make 

make install

这一步结束时,libxml2被安装在/usr/local/下。

================================================================================================================================================

安装 zlib

tar -zxvf zlib-1.2.3.tar.gz 

cd zlib-1.2.3

./configure --prefix=/usr/local/zlib

make

make install 

这一步结束时,zlib被安装在/usr/local/下。

===============================================================================================================================================

安装 libpng

tar -zxvf libpng-1.2.10.tar.gz

cd libpng-1.2.10 

cp scripts/makefile.linux  makefile

make

make install

注意:这里的makefile不是用./configure 生成的,而是直接从script/目录里拷一个

这一步结束时,zlib被安装在/usr/local/lib下

============================================================================================================================================= 

安装 freetype 

tar -zxvf freetype-2.2.1.tar.gz 

cd freetype-2.2.1 

./configure --prefix=/usr/local/freetype

make 

make install

这一步结束时,freetype被安装在/usr/local/lib下

============================================================================================================================================

 

安装 jpeg6

建立目录

mkdir /usr/local/jpeg6

mkdir /usr/local/jpeg6/bin

mkdir /usr/local/jpeg6/lib

mkdir /usr/local/jpeg6/include

mkdir /usr/local/jpeg6/man

mkdir /usr/local/jpeg6/man/man1

tar -zxvf jpegsrc.v6b.tar.gz 

cd jpeg-6b

./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static

make

make install

注意:这里./configure一定要带--enable-shared参数,不然,不会生成共享库

=============================================================================================================================================

安装 gd 

tar -zxvf gd-2.0.33.tar.gz 

cd gd-2.0.33 

./configure --prefix=/usr/local/gd --with-png=/usr/local/lib --with-freetype=/usr/local/freetype --with-jpeg=/usr/local/jpeg6

make && make install

==============================================================================================================================================

安装 curl 支持ftp库函数

tar -zxvf curl-7.15.0.tar.gz

cd curl-7.15.0

./configure --prefix=/usr/local/curl  

make && make install

===============================================================================================================================================

安装 Apache2

以Apache使用php有两种方式:作为动态模块,其在运行状态时可以载入到web服务器,

或者作为静态模块,其可直接编译到web服务器代码中。对于文本,我们着重于第一种方式。

为了能让Apache2.0模块使php动态载入,Apache服务器必须以动态共享对象(DSO,Dynamic Shared Object)编译。

可以通过传递 --enable-so 参数到 Apache 2

tar -jxvf httpd-2.2.2.tar.bz2

cd httpd-2.2.2

./configure --prefix=/usr/local/apache2 --enable-so make && make install  

//切记要支持Zend Optimizer不可加 --with-mpm=worker选项

这一过程将会设置,编译,以及将服务器安装到/usr/local/下。

启动apache守护进程:

/usr/local/apache2/bin/apachectl start (开启 start  关闭 stop  重启 restart)

打开浏览器,输入http://localhost 就能看到一个apache的欢迎页面了,这表示我们已经成功的安装了apache2 。

==============================================================================================================================================     

安装 Mysql5

  groupadd mysql

  useradd -g mysql mysql

 

  tar -zxvf mysql-5.0.17.tar.gz 

  cd mysql-5.0.17 

./configure --prefix=/usr/local/mysql --enable-assembler  --with-mysqld-ldflags=-all-static --with-extra-charsets=all 

--with-big-tables --with-charset=utf8 --with-collation=utf8_unicode_ci  

  make 

  make install

  cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf

  cd /usr/local/mysql/

  bin/mysql_install_db --user=mysql

  chown -R root . 

  chown -R mysql var 

  chgrp -R mysql .

启动服务:

/usr/local/mysql/share/mysql/mysql.server start  (启动start 关闭stop  重启restart)

键入mysql回车就可已看到欢迎界面。说明我们已成功安装了mysql

说明: 

--with-extra-charsets=all 对多语言支持

--with-unix-socket-path=/usr/local/mysql/var/mysql.sock 这个是指定mysql服务启动后。联机套接字文件所处的位置和文件名,也就是说,如果mysql服务器成功启动后,就能在/usr/local/mysql/var.采用这一选项,通常会出错,建议不配置用默认的。默认会在/tmp/mysql.sock.

目录中看到mysql.sock文件。

==================================================================================

安装 php5

tar -zxvf php-5.1.6.tar.gz

cd php-5.1.6

./configure --prefix=/usr/local/php5             --with-apxs2=/usr/local/apache2/bin/apxs

               --with-config-file-path=/etc         --with-libxml-dir=/usr/local/libxml2 

                --with-zlib-dir=/usr/local/zlib      --with-curl=/usr/local/curl

                --with-gd=/usr/local/gd              --with-jpeg-dir=/usr/local/jpeg6 

                --with-png-dir=/usr/local/lib        --with-freetype-dir=/usr/local/freetype

               --with-mysql=/usr/local/mysql        --with-mysqli=/usr/local/mysql/bin/mysql_config 

               --with-openssl       --enable-gd-native-ttf      --enable-mbstring       --enable-ftp

            --enable-bcmath      --enable-sockets            --enable-zip            --enable-soap  

            --enable-calendar      //切记要支持Zend Optimizer不可加 --enable-debug选项

make

make install

cp php.ini-dist /etc/php.ini

=============================================

整合apache2和php5

apache 配置文件及目录是:

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

apache 默认存放主页的位置是:

/usr/local/apache2/htdocs

以下是配置文件里面的信息:(有的地方要做修改)

ServerRoot "/usr/local/apache2"

这是指定apache程序所在的目录,比如日志文件、配置文件等目录。

DocumentRoot "/usr/local/apache2/htdocs"

这个是存放网页的目录

<Directory "/usr/local/apache2/htdocs">

这一句应该和DocumentRoot的目录保持一致。

找到 DirectoryIndex index.html

改为 DirectoryIndex index.html index.html.var index.htm index.php

找到 AddType application/x-gzip .gz .tgz 

加        AddType application/x-httpd-php .php (注意空格)

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

添加 AddDefaultCharset utf8 使apache默认支持utf8字符集

保存配置文件就重启apache 的守护进程。

/usr/local/apache2/bin/apachectl restart

 

注意: 

   每次更改配置文件。要重启服务。

   对存放网页的目录执行:命令chmod 755 目录名 或者 chmod -R 755 目录名

 

编辑php.ini文件,找到

;default_charset="iso-8859-1"

增加一行:default_charset="utf8"

 

以上步骤都执行完后。在/usr/local/apache2/htdocs/里编辑文件进行测试。

phpinfo.php

里面的内容:

<?php

    phpinfo();

?>

在浏览器地址栏中输入:

http://localhost/phpinfo.php

出现php说明页面说明安装成功。

安装过程相当简单,网上很多这种文档,整理的也很详细,我就不多废话了。就具体就在fedora6下碰到的问题说明一下:

安装时的问题及解决方法

 

安装php5的过程中会自动在/usr/local/apache2/conf/httpd.conf里添加:

LoadModule php5_module modules/libphp5.so

重新启动apache报如下错误:

httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

解决办法:

chcon /usr/local/apache/modules/libphp5.so -t shlib_t

原因是Linux有一个SELinux保护模式引起的。

关闭SELINUX的方法:

vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled

保存,重起电脑即可.

FC5 中的SELinux 代表了用户,程序以及进程间相互交流的主要变化。

 

=============================================

安装phpMyAdmin2.8.1

unzip  phpMyAdmin2.8.1.zip

cp  -r   phpMyAdmin2.8.1    /usr/local/apache2/htdocs

cd /usr/local/apache2/htdocs/phpMyAdmin2.8.1/libraries

cp   config.default.php   ../config.inc.php

gedit config.inc.php

找到$cfg['Servers'][$i]['auth_type']     = 'config';    // Authentication method (config, http or cookie based)?一行(大概在71行)将值改为http 或 cookie,随自己喜欢

==================================================================================

安装Zend optimizer3.2.8

这可能是最简单也是最容易出问题的地方(我在此吃尽苦头)

tar -zxvf ZendOptimizer-3.2.8-linux-glibc21-i386.tar.gz

cd    ZendOptimizer-3.2.8-linux-glibc21-i386

./install

安装完后重启apache,在phpinfo.php的欢迎页面第二个域你会看到:

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

  This program makes use of the Zend Scripting Language Engine:

Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

  with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies

   with Zend Optimizer v3.2.8, Copyright (c) 1998-2007, by Zend Technologies

Zend logo

 

执行 /usr/local/php5/bin/php -v  应该看到:

Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

    with Zend Extension Manager v1.2.0, Copyright (c) 2003-2007, by Zend Technologies

    with Zend Optimizer v3.2.8, Copyright (c) 1998-2007, by Zend Technologies

 

否则就是安装出问题了。可能是编译apache画蛇添足添加了--with-mpm=worker 没有用默认的prefork模块

另一中可能就是编译php是加入了--enable-debug

zend optimizer 需要apache(perfork only)     php(no debug  Mod)这些在Zend optimizer User`Gurde上有说明需特别注意了

over

 

=====./configure 时提示 configure: error: libjpeg.(a|so) not found.

重新编译一下你的libjpeg

#################

编译时可能会出现错误提示:

configure: error: libjpeg.(a|so) not found.

解决办法:

vi Makefile

找到 CFLAGS= -O2 -I$(srcdir) 

在后面加入-fPIC,即变成CFLAGS= -O2 -I$(srcdir) –fPIC

make

make install-lib  ****重要!

make install

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值