【原创】献给linuxeden, Mandriva2006 下 Apache2,PHP5,Mysql5安装配置

调试环境:Mandriva Linux Free 2006 i586,Apache 2.2.3, Mysql 5.0.27 和PHP 4.3.4

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-comfficeffice" /><o:p> </o:p>

安装顺序是1. Linux 2. Mysql 3. Apache 4. PHP。注意PHP5以上的版本最好在mysql之后安装,这样便于配置。

<o:p> </o:p>

1.Mandriva Linux Free 2006

具体的系统安装看本论坛的精华区,前辈们写的很详细的。记得安装Mandriva free Linux 2006的时候不要安装系统默认的apache,mysql和php,版本旧而且安装的目录都是系统自定的(例如系统把apache装在了httpd的目录中,我找了好久)。 已经安装的话可以去mandriva控制中心删除。

<o:p> </o:p>

2.Mysql

版本:mysql-max-5.0.27-linux-i686.tar.gz

这是一个编译过的版本。不用编译安装,只需在linux下添加mysql用户并且安装数据库基本上就可以使用了。

<o:p> </o:p>

我曾经还用./configure -prefix=/usr/local/mysql试图进行安装呢,得到的结果就一条消息NOTE: This is a MySQL binary distribution. It's ready to run, you don't need to configure it!

<o:p> </o:p>

安装步骤:

在root下面打开控制台:

以下命令添加组和用户

shell>groupadd mysql         

shell>useradd -g mysql mysql

<o:p> </o:p>

以下命令解包, 并且把程序复制到/usr/local/mysql

shell>tar xvf mysql-max-5.0.27-linux-i686.tar.gz

shell>mv mysql-max-5.0.27-linux-i686 /usr/local/mysql

<o:p> </o:p>

拷贝配置文件到mysql目录

shell>cd /usr/local/mysql/support-files

shell>cp my-medium /usr/local/mysql/my.cnf

<o:p> </o:p>

接下来给改目录的所有者和组,以及把mysql的临时目录改成可读写的。

shell> chown -R mysql:mysql /usr/local/mysql/data

shell> chgrp -R mysql /usr/local/mysql/data

shell> chmod 777 /root

shell>chmod 777 /root/tmp

<o:p> </o:p>

<o:p> </o:p>

一下安装mysql的数据库

shell> scripts/mysql_install_db --user=mysql

<o:p> </o:p>

到目前为止,一切都安装就绪了,可以用以下命令打开mysql服务。

shell>bin/mysqld_safe --user=mysql

<o:p> </o:p>

要注意的是一旦服务开启了,此控制台就不可用了,要打开一个新的控制台进程。就像windows下在控制台下打开mysql时一样。这个不是很理解,希望高人指点。

<o:p> </o:p>

在一个新的控制台进程打开客户端进行调试: shell>/usr/local/mysql/bin/mysql ?uroot

注意这里我用的是mysql默认的root的用户。 我不是很清楚为什么mysql要求在最初安装的时候要求系统创建mysql的用户和组

<o:p> </o:p>

这里创建一个密码以供php使用。在mysql控制台下输入如下两条命令:

use   mysql   

update   user   set   password=password("1234")   where   user   =   "root";

<o:p> </o:p>

成功后用ctrl-z退出来,进行下一步apache的安装。

<o:p> </o:p>

3.Apache

版本:httpd-2.2.3.tar.gz

<o:p> </o:p>

安装比较简单,就不做特别说明了:

shell>tar -zxvf httpd-2.2.3.tar.gz

shell>mv httpd-2.2.3 apache

shell>cd apache

shell>./configure --prefix=/usr/local/apache2 --enable-module=so

shell>make

shell>make install

<o:p> </o:p>

以上的命令安装apache到 /usr/local/apache 并配置apache支持dso方式,好像dso方式是如今apache加载php5+的唯一方法。

<o:p> </o:p>

至于配置等到安装完PHP之后一起做吧。

<o:p> </o:p>

4.PHP

版本:php-5.2.0.tar.gz

准备工作,由于php5+默认是不提供mysql的支持的,参考[url="http://www.php.net/manual/en/ref.mysql.php"]http://www.php.net/manual/en/ref.mysql.php[/url]

<o:p> </o:p>

参考中说要我们去下载Mysql 的Headers and Libraries 以供php5+编译使用。不过我们使用的那个mysql包里就包括了,不用再另行下载了。不过问题就是如何让php5+的安装程序如何找到它们的位置。它们分别在/usr/local/mysql/include和/usr/local/mysql/lib下面。如果没有的话,可以在mysql的安装包里找到,然后拷贝到以上目录即可。

然后我们用如下命令安装:

shell>tar -zxvf php-5.2.0.tar.gz

shell>mv php-5.2.0.tar.gz php

shell>cd php

shell>./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql=/usr/local/mysql

(千万注意--with-mysql=/usr/local/mysql中的mysql一定要全部小写,我看的一片文章作者写成了--with-MySQL,我也是那么写的,结果mysql根本没有被装进去,结果不得不重新编译。)

shell>make

shell>make install

shell>cd /usr/local/php5

shell>cp php.ini-dist /usr/local/lib/php.ini

这样整个安装过程就结束了,接下来就进行最后一步配置和调试了。

<o:p> </o:p>

5.配置和调试

用任何工具打开 /usr/local/apache2/conf/httpd.conf 对apache进行配置

<o:p> </o:p>

可将ServerAdmin q3boy@younet.com一行改为您的邮箱地址 

<o:p> </o:p>

可以改变DocumentRoot "/usr/local/apache2/www" 此处为html文件主目录

<o:p> </o:p>

这里是默认文件格式 DirectoryIndex default.php default.phtml default.php3 default.html default.htm

<o:p> </o:p>

设置php文件后缀

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

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

<o:p> </o:p>

打开php.ini

设置register_golbals = on

<o:p> </o:p>

在控制台下执行 /usr/local/apache2/bin/apachectl start  

<o:p> </o:p>

我们在写一个程序然后放到/usr/local/apache2/www下测试一下。

<o:p> </o:p>

<?

phpinfo();

$link = mysql_connect('localhost', 'root', '1234');

if (!$link) {

    die('Could not connect: ' . mysql_error());

}

echo 'Connected successfully';

mysql_close($link);

?>

<o:p> </o:p>

如果在页面底部出现Connected successfully 那么恭喜,大功告成!可以喝酒庆贺一下了,起码我是这么做的。。。

<o:p> </o:p>

结束语:

我没有做太多的详细的配置,比如安全方面的,自动启动apache和mysql程序,请大家自行去网上搜索。

<o:p> </o:p>

自我感觉配置lamp要比wamp复杂,之前我在windows下面配置印象中没有进行太多的操作,但是配置lamp让我花了很长的时间,查找参考材料,bbs,解决困难和安装调试的时间加在一起,我用了几乎一天的时间(本人接触linux很早,但是加起来的时间不长,中途由于遇到的问题太多,都有退出的想法了,但是最后还是坚持下来了:))。

<o:p> </o:p>

我用的是无线网卡,型号是belkin f5d7051在网上找了很长时间,Mandriva Linux free 2006是一套官方推荐的操作系统 (http://ndiswrapper.sourceforge.net/mediawiki/index.php/List)这也就是我为什么选择Mandriva的原因了,这就是缘分吧。既来之,则安之吧!

<o:p> </o:p>

最后感谢所有为linux 和lamp支持和做出贡献的同志们。