转发来为以后的实战作个准备,首先理解一下什么是LAMP。

http://tandc.likesyou.org 

  Linux+Apache+Mysql+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程 序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。随着开源潮流的蓬勃发展,开放源代码的LAMP已经与 J2EE和.Net商业软件形成三足鼎立之势,并且该软件开发的项目在软件方面的投资成本较低,因此受到整个IT界的关注。从网站的流量上来说,70%以 上的访问流量是LAMP来提供的,LAMP是最强大的网站解决方案。

  LAMP是一个缩写,它指一组通常一起使用来运行动态网站或者服务器的自由软件:

Linux,操作系统;

Apache,网页服务器;

MySQL,数据库管理系统(或者数据库服务器);

PHP 和有時 Perl 或 Python,脚本语言。

  虽然这些开放源代码程序本身并不是专门设计成同另几个程序一起工作的,但由于它们的廉价和普遍,这个组合开始流行(大多数Linux发行版本捆 绑了这些软件)。当一起使用的时候,它们表现的像一个具有活力的解决方案包。 其他的方案包有苹果的 WebObjects(最初是应用服务器),Java/J2EE 和 微软的 .NET架构。


配置环境

操作系统:Redhat Enterprise AS 4

已安装包:httpd2.0.4, mysql4.1,libxml2.6.16, zlib1.2.1.2,gd2.0.28, libpng1.2.7

说明:网上的各种安装说明都不是很好地说明了配置参数的来由,本文将尽可能标明每一步的必要性.已安装包不是必需的,其中mysql可以独立安装, 而rpm包形式的httpd因为不是mod-so形式安装的,如果要支持php或者其它模块,要强制remove重安装编码版本. #rpm --nodeps --erase httpd

其它php可能需要的模块功能说明:

libxml2: xml解析库

zlib: 开源压缩库

gd: 图形库

libpng: 用来处理png图像格式文件的库

freetype: TrueType字体绘制引擎

ZendOptimizer:

JPEG库:

然后下载文件mysql,apache,php,请到下面网址下载相应软件

http://www.apache.org/ 

http://www.php.net/ 

http://www.mysql.com/

 

第一步:安装apache

进入安装目录,依次执行下面命令:

解压源码包

# tar -zxf httpd-2.0.55.tar.gz 

进入安装目录

# cd httpd-2.0.55

配置apache安装信息, 配置安装后目录,模块动态配置,允许重写重配置

# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite

执行make安装

# make; make install

 

第二步:配置apache

修改httpd.conf文件

//ServerName 修改主机名称,若无dns,则用IP替代

ServerName 192.168.36.163:80

 

//DocumentRoot 修改文档路径,就是要放置目标网页的地方

DocumentRoot "/var/www/html"

//DirectoryIndex 修改默认的首页名称

DirectoryIndex index.html index.php index.htm

 

第三步:安装PHP

进入安装目录,依次执行下面命令:

解压源码包

# tar -zxf php-5.0.5.tar.gz 

进入安装目录

# cd php-5.05

配置php安装信息, 配置安装后目录,模块动态配置,允许重写重配置

# 方式一

./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-curl=/usr/local/curl --enable-ftp --with-libxml-dir=/usr/local/libxml2 --with-expat-dir=/usr/lib --enable-soap --with-xsl=/usr/local/libxslt --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/lib --with-png --with-freetype-dir=/usr/local/freetype --enable-mbstring

 

#方式二

'./configure' '--prefix=/usr/local/php' '--with-apxs2=/usr/local/apache/bin/apxs' '--with-mysql=/usr/local/mysql/' '--with-mssql=/usr/local/freetds/' '--with-curl=/usr/local/curl '

 

其中./configure 后的 

--prefix=/usr/local/php 

--with-apxs2=/usr/local/apache/bin/apxs 

--with-mysql=/usr/local/mysql/

--with-libxml-dir

--enable-mbstring

是必要的选项

 

--with-gd=/usr/local/gd2/ 

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

--with-png 

--with-zlib-dir=/usr/lib

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

这是让PHP支持GD库的配置选项

 

执行make安装

# make; make install

 

第四步:配置 httpd.conf让apache支持PHP

# vi /usr/local/apache/conf/httpd.conf

php安装完后会自动在httpd.conf加上下面一行(若无,请手动添加):

LoadModule php5_module modules/libphp5.so

 

找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容

AddType application/x-httpd-php .php

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

 

重启apache

# /usr/local/apache/bin/apachectl restart

 

附:apache的一些重要配置选项

1. Directory

Options FollowSymLinks

AllowOverride None 

Order deny,allow #说明先执行denny,再执行allow

allow from all #此句是允许所有地址访问,在这可设置具体IP的访问权限

 

 

2. ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" #脚本路径

3. redirects (http return status code)

ErrorDocument 500 "The server made a boo boo."

ErrorDocument 404 /missing.html

ErrorDocument 404 "/cgi-bin/missing_handler.pl"

ErrorDocument 402 http://www.example.com/subscription_info.html

 

  呵呵,我开始学PHP了,学习PHP首先要学会搭建一个LAMP(Linux+Apache+Mysql+Php),我配置了一天才配置成功,安装文档全部都是中文,还好有老师在旁边一步一步的给我细心的讲解,我才配置出来,在这里我要谢谢我的老师!

  好了,下面我就给大家介绍配置LAMP的每一步,大家按照我的步骤来做肯定能配置成功,也省去了大家看心疼的英文的时间了。

  我用的操作系统是Red Hat Linux9,Apache:httpd-2.0.53.tar.gz,Mysql:mysql-standard-4.1.10-pc-linux-gnu-i686.tar.gz,PHP:php-4.3.10.tar.bz2.

  首先检查操作系统是否已经安装了Apache、Mysql、PHP,如果已经安装的话将其删除掉。

以检查是否安装Mysql为例:

#rpm –qa |grep –i mysql

如果有显示任何软件包,则使用

#rpm -e 软件包名称 --nodeps 删除

我们可以也可以用下面的方法将已经安装的Mysql删除:

#for i in `rpm –qa|grep –i mysql`

>do rpm –e $i –nodeps

>done

 

检查完之后我们开始安装Apache、Mysql和PHP。

一、安装Apahce服务器

#tar -zxvf httpd-2.0.53.tar.gz -C /usr/local //将Apahce2解压缩到/usr/local目录下

#./configure --enable-so 

#make

#make install

 

 

二、安装PHP

#tar -zjvf php-4.3.10.tar.bz2 //解压缩PHP软件包

#cd ../php-4.3.10 //进入到PHP解压缩的目录

#./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql

#make

#make install

#cp php.ini-dist /usr/local/lib/php.ini //将php.ini-dist文件拷贝到/usr/local/lib文件夹下名称为php.ini

#cd /usr/local/apahce2/conf //进入/usr/local/apache2/conf文件夹

#vi http.conf //进入http.conf文件

PHP4:LoadModule php4_module libexec/libphp4.so

PHP5:LoadModule php5_module libexec/libphp5.so

 

添加解析,为Apahce添加PHP支持,加入:

AddType application/x-httpd-php .php .phtml

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

加入后保存退出wq。

 

#/usr/local/apache2/bin/apachectl start //启动Apahce服务

 

有时候会发现错误系统默认打开的IP地址和端口号没有指定,修改方法:

#cd /usr/local/apache2/conf

#vi http.conf

/ServerName

  找到ServerName www.example.com:80,将其改为ServerName 127.0.0.1:80

修改完后保存退出wq。

现在再重新启动Apahce服务就OK了!

 

  我们可以打开浏览器,输入http://你的服务器地址测试Apahce是否配置成功,如果成功就会出现Apahce服务器的“羽毛”标志。同 时也表明在/usr/local/apahce2/htdocs文件夹配置静态网页,配置成功Apache可以显示静态网页。例如:http: //127.0.0.1,配置成功就会出现Apahce服务器“羽毛”标志了。

 

下面我们来编写一个简单的PHP网页来测试PHP是否配置成功

#cd /usr/local/apahce2/htdocs //进入/usr/local/apache2/htdocs文件夹下,进行编写PHP动态网页

#vi test.php //建立test.php

PHPinfo(); //编写一个PHP测试页

?>

  编写完之后保存退出wq。

  好了,然后我们重启一下Apahce服务就可以看见PHP测试页了。#/usr/local/apache2/bin/apachectl restart

然后打开浏览器在地址栏里输入http://127.0.0.1:80/test.php

会显示出来Apahce、PHP和服务器的相关信息。

 

 

三、安装Mysql

#tar -zxvf mysql-standard-4.1.10-pc-linux-gnu-i686.tar.gz //解压缩Mysql数据包

#cd mysql-standard-4.1.10-pc-linux-gnu-i686 //进入Mysql解压缩目录

#groupadd mysql //添加mysql组

#useradd -g mysql mysql //添加mysql用户并且添加到mysql组中

#cd /usr/local //进入/usr/local文件夹

#gunzip < /PATH/TO/MYSQL-VERSION-OS.tar.gz | tar xvf - //先用tar解包,输出的数据给gunzip解包

#ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql //建立软链接mysql到当前目录

#cd /usr/local/mysql //进入/usr/local/mysql文件夹

#scripts/mysql_install_db --user=mysql //初始化Mysql数据库,scripts:目录名称;--user=mysql:mysql用户对mysql数据库进行初始化

#chown -R root .

#chown -R mysql data

#chgrp -R mysql .

#bin/mysqld_safe --user=mysql &

 

http://dev.mysql.com/doc/refman/ ... l#installing-source

 

Linux简单安装Mysql+Apach+PHP+phpMyAdmin

  从网上看到许多Apache+Mysql+PHP的安装文档,但有的总是会有写错误,最近我根据网上找的一些文档,并改正其中的错误,写了一个详细的安装步骤,以供大家的学习和参考,如果有错误并加以更正 :

 

我的系统是redhat as5 建议大家完全安装,以免安装时缺少相关的编译器等等。

一、安装mysql(mysql-5.0.21.tar.gz) 

# tar zxf mysql-5.0.21.tar.gz 

# cd mysql-5.0.21

#./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql/

说明: 

#prefix=/usr/local/mysql mysql安装的目标目录

#sysconfdir=/etc my.ini配置文件的路径

#localstatedir=/var/lib/mysql 数据库存放的路径

# make

# make install

# groupadd mysql

# useradd mysql -g mysql

# cp support-files/my-medium.cnf /etc/my.cnf 

#(这个文件夹是原来编译的目录下的)询问你是否要覆盖时,输入"y" 

#/usr/local/mysql/bin/mysql_install_db --user=mysql

# cd /usr/local/mysql 然后设置权限

# chown -R root . #设定root能访问/usr/local/mysql

# chown -R mysql /var/lib/mysql #设定mysql用户能够访问/var/lib/mysql 

# chgrp -R mysql /usr/local/mysql #设定mysql组能访问/usr/local/mysql

# /usr/local/mysql/bin/mysqld_safe --user=mysql & #安全启动mysql

# PATH=$PATH:/usr/local/mysql/bin //让系统找到mysql

# export PATH

# echo"/usr/local/mysql/lib/mysql">>/etc/ld.so.conf

# ldconfig -v

 

 

二、安装apache (httpd-2.0.59.tar.gz)

# tar zxf httpd-2.0.59.tar.gz

# cd httpd-2.0.59

# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-mods-shared=most

说明: 

--enable-so选项:让Apache可以支持DSO模式,注意,这里采用的是Apache2.0的语法。如果你的Apache是1.3版本,应改为--enable-module=so。 

--enable-mods-shared=most选项:告诉编译器将所有标准模块都编译为DSO模块。你要是用的是Apache1.3,改为--enable-shared=max就可以。 

--enable-rewrite选项:支持地址重写功能,使用1.3版本的朋友请将它改为--enable-module=rewrite。

 

# make

# make install

# vi /usr/local/apache/conf/httpd.conf #启动Apache中的php选项,找到下面两行

DirectoryIndex index.php #修改默认启动页

DocumentRoot #指定主目录(/usr/local/apache2/htdocs)

ServerName 127.0.0.1:80

# /usr/local/apache/bin/apachectl start 

 

三、安装php (php-5.1.6.tar.bz2)

# tar jxf php-5.1.6.tar.bz2

# cd php-5.1.6

# ./configure --with-apxs2=/usr/local/apache/bin/apxs --disable-debug --enable-safe-mode --enable-trans-sid --with-xml --with-mysql=/usr/local/mysql --enable-short-tags --with-gd --with-zlib --with-jpeg --with-png --enable-memory-limit --disable-posix --with-config-file-path=/usr/local/lib 

说明:

? --with-apxs2=/usr/local/apache/bin/apxs \ 这是加入apache中为DSO模块的位置

? --disable-debug \ #关闭php内部调试 

? --enable-safe-mode \ #打开php的安全模式 

? --enable-trans-sid \ 

? --with-xml \ #支持xml 

? --with-mysql \ #支持mysql 

? --enable-short-tags \ #支持PHP的短标记 

? --with-gd \ #支持GD库 

? --with-zlib \ #支持zlib 

? --with-jpeg \ 

? --with-png \ 

? --enable-memory-limit \ 

? --disable-posix \ 

? --with-config-file-path=/usr/local/lib 

总之复制粘贴就可以了,-_-

# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs

注意:如果说mysql+apache 都是默认安装,configure配置方法

# ./configure --with-apxs2=/usr/sbin/apxs --disable-debug --enable-safe-mode --enable-trans-sid --with-xml --with-mysql=/usr/share/mysql --enable-short-tags --with-gd --with-zlib --with-jpeg --with-png --enable-memory-limit --disable-posix --with-config-file-path=/usr/local/lib 

# make

# make install

# cp php.ini-dist /usr/local/lib/php.ini 复制php的配置文件

# cd /usr/local/lib/

# vi php.ini 修改配置文件

register_globals = On 一般在414行

max_execution_time = 30 ; // 改为600 (增加处理脚本的时间限制) 

max_input_time = 600 ; //最大输出时间600秒 

memory_limit = 8M ; //改为40M (这样才能发10M的附件) 

register_global =On 

post_max_size = 2M ; //php可接受的 post 方法大小 2M 

file_uploads = On ; //允许上载文件 

upload_max_filesize = 2M ; //最大上载文件2M 

session.auto_start = 1 ; //session自动启动 

如果编译PHP:make出错

configure: error: Cannot find MySQL header files under yes. 

Note that the MySQL client library is not bundled anymore.

解法:    

如果不知道 header file 在哪,用 「find / -name mysql.h」命令找出其位置;   

如果是自己也有手動安裝 MySQL 套件的話,直接指定該位置。 

在 ./configure 下参数指定 header file 的位置(即mysql安装目录),如下: 

./configure --with-apxs2=/usr/local/Apache2/bin/apxs --with-mysql=/usr/local/mysql

 

四、整合apache和php

# vi /usr/local/apache/conf/httpd.conf 修改apache的配置文件

添加: AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps //注意将这两行添加在其它AddType后面

确保文件中有下面一段,如果没有的话就添加在所有LoadModule之后

LoadModule php5_module modules/libphp5.so

由于我装的版本较高所以是php5,如果是LoadModule php4_module modules/libphp4.so的话也可以

# /usr/local/apache/bin/apachectl start //如果这地方报如下错

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

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

解决办法:

1关闭SELINUX的方法:

vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启

这个方法可能会对服务器带来风险。

2不关闭SELINUX的方法:

# setenforce 0

# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so

# service httpd restart

# setenforce 1

server httpd start 报错:启动 httpd:[Wed May 07 02:17:20 2008] [warn] module php4_module is already loaded, skipping 

解决办法:查看# vi /usr/local/apache/conf/httpd.conf 

是否有二条相同指令LoadModule php4_module modules/libphp4.so 删除一条,即可

 

五、安装phpMyAdmin (phpMyAdmin-2.6.0.tar.gz)

# tar zxf phpMyAdmin-2.6.0.tar.gz

# mv phpMyAdmin-2.6.0 /usr/local/apache/htdocs/ 

# vi config.inc.php 修改这个文件

$cfg['Servers'][$i]['host'] = 'localhost'; //改成你数据库服务器的主机名或IP地址;

$cfg['Servers'][$i]['user'] = 'root'; // MySQL 数据库的用户名;

$cfg['Servers'][$i]['password'] = ''; // MySQL 数据库的密码;

主要修改这几项,保存退出

测试:

http://IP/phpMyAdmin-2.6.0

这里可以修改phpMyAdmin-2.6.0这个目录的名字,这样访问比较方便。

文章来源:http://ce.sysu.edu.cn/hope/Item/58133.aspx