LAMP INSTALL 第二版

来源:互联网 发布:视频会议系统源码 编辑:程序博客网 时间:2024/05/01 22:20

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

 

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 oppor7手机开不了机怎么办 vivox5m手机开不开机怎么办 步步高x7图案解锁忘记怎么办 手机机锁定怎么办魅族 衣服买完降价了怎么办 在淘宝上不发货怎么办 一加3t吃鸡卡怎么办 小米max打游戏反应慢怎么办 小米max2手机玩游戏卡怎么办 魅蓝metal开不了机怎么办 魅蓝e手机信号差怎么办 魅蓝metal手机已锁定怎么办 魅族not3卡开了怎么办 魅族metal手机好卡怎么办 魅蓝手机锁机了怎么办 魅族note2屏坏了怎么办 魅族mx3开不开机怎么办 魅蓝max3充电慢怎么办? 魅族手机home键失灵怎么办 魅族开关键坏了怎么办 魅族开关键不灵怎么办 魅蓝开机键坏了怎么办 魅族开关机坏了怎么办 小米开机键坏了怎么办 魅族手机关机键失灵怎么办 魅蓝5s发热严重怎么办 华为荣耀v8信号差怎么办 贴膜白边去除液漏进屏幕里面怎么办 魅族pro6s电池休眠了怎么办 京东预约错了怎么办 魅蓝手机声音小怎么办 魅族2手机锁定了怎么办 flyme的密码忘了怎么办 魅族note3忘记开机密码怎么办 小米3s手机死机怎么办 二手小米手机有账号锁怎么办 小米五指纹解锁失灵怎么办 小米note3指纹解锁失灵怎么办 小米4s手机屏幕失灵怎么办 vivo手机没有otg功能怎么办 头戴耳机压头发怎么办