LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1052|回复: 2

[转贴]LAMP套件安装配置详解(附加FAQ)

[复制链接]
发表于 2006-8-11 11:07:14 | 显示全部楼层 |阅读模式
转载,文章原地址:http://blog.sina.com.cn/u/48e17e550100051h

原文的第一部分,安装方面

[原创文章]转载请注明出处,谢谢!

继上次成功配置Bind9之后,又花了两天时间配好了Apache 2.2.3 + MySQL 5.0.24 + PHP 5.1.4的组合,并且实现了部分功能。如果在安装过程中出现错误,请查看文末的FAQ,看看你的错误是否和我一致?如果能对阁下的安装提供帮助,我荣幸之至!

现在将过程叙述如下:

一、比较简单的MySQL 5.0.24
       下载MySQL 5.0.24 Binary Distribution.因为MySQL 在高于2.9的GCC上编译可能有问题,而我的GCC是4.0.3,故采用已编译好的Binary版本。请将tarball下载至/usr/local
       如果是首次安装MySQL,请继续;如非,请跳过下框内容。
#groupadd mysql
#useradd -g mysql mysql
MySQL需要一个mysql组和mysql用户,首次安装的用户需要建立。
继续安装:
#cd /usr/local
#tar -zxvf MYSQL-VERSION-OS.tar.gz (你不会把这个照搬上去吧:)
这将会产生MySQL的安装目录。MySQL推荐我们采用符号连接的方式安装,以便以后的版本检测,我们遵循这一方法:
#ln -s FULL-PATH-TO-MYSQL-VERSION-OS mysql
#cd mysql
#./scripts/mysql_install_db --user=mysql
上述步骤完成后,MySQL的初始数据库应该已经建立在/usr/local/mysql/data下。下面我们更改一下目录权限:
#chown -R root  .
#chown -R mysql data
#chgrp -R mysql .
这样我们的MySQL就算是安装完成了,还算简单吧?最后启动MySQL:
#bin/mysqld_safe --user=mysql&
可以用 netstat -tl 命令测试一下,看看MySQL是否已经启动。如果已经启动,将会看到:
tcp     0         0*:mysql                  *:*                 LISTEN
可以看到MySQL正在监听了,呵呵。
数据库是需要安全的,现在我们的数据库还不够安全,因为数据库的root帐号还没有密码……下面我们来完善一下:
#/usr/local/mysql/bin/mysqladmin -u root password'yourpass'
注意,在你要设定的密码两端有单引号,且与前面的password没有空格。这样root帐号的密码就设定好了。下面我们登录一下看看:
#/usr/local/mysql/bin/mysql -u root -p
Enter password: 在此处输入你的root密码
如果成功登录,将会出现如下信息:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.0.24

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
mysql>是MySQL的提示符。输入exit退出。
至此MySQL告一段落:)


二、Apache 2.2.3
      Apache 1.3后支持了动态连接库方式链接PHP,这样对于以后升级非常方便,只需要重新编译PHP就可以了,省去再次编译Apache的麻烦,而且安装简单,便于管理,真是一大改进。我们就采取这种方式安装
      首先把下载的 Apache 2.2.3解压缩:
#tar -zxvf Apache-2.2.3.tar.gz
#cd Apache-2.2.3
进入生成的目录后,开始configure,注意打开动态链接库支持:
#./configure --prefix=你的安装路径  --enable-so  \
> --enable-rewrite
完成后还是老一套:
#make
...
#make install
不出差错的话,Apache安装完成。
下面启动Apache测试一下:
#/usr/local/Apache2/bin/apachectl  start
当然路径是你说的算咯~~~
再用 netstat -tl 查看一下,会发现 www 服务已经在 LISTEN 了。打开浏览器,输入
http://localhost
如果成功,将会出现Apache默认页面。不同版本是不一样的,我的就一行字:
It works!

要关闭Apache2,把启动那一行后面的 start 改成 stop 即可!


三、最后一件——PHP 5.1.4
      仍然是下载然后解压缩进入目录,不再赘述。
      configure时打开对 Apache2 和 MySQL 的支持:
#./configure   --prefix=/usr/local/php5  \
>--with-apxs2=你Apache的安装路径/bin/apxs  \
>--with-mysql=你MySQL的安装所在  \
>--with-config-file-path=/usr/local/php5
对于我的来讲,上述就变成:
#./configure   --prefix=/usr/local/php5  \
>--with-apxs2=/usr/local/Apache2/bin/apxs  \
>--with-mysql=/usr/local/mysql  \
>--with-config-file-path=/usr/local/php5

configure时间比较长,请等待。如果在这一步出现了错误,请对应查找FAQ.
如能通过,恭喜,直接:
#make
...
#make install
如果 make 过程中出现 warning 说 sockect pointer 如何如何,可以无须理会。
完成后把php配置文件拷贝至--with-config-file-path指定的目录:
#cp php.ini-dist /usr/local/php5/php.ini
打开Apache中对PHP的支持:
#vim /usr/local/Apache2/conf/httpd.conf
路径视个人而定!!!

重要:httpd.conf 中不能在随意地段插入内容,必须找到要加入内容的所在块,否则会出错!!!

找到 LoadModule 一段代码,看看是不是有:
LoadModule php5_module modules/libphp5.so
如果没有,请手动添加。

在 AddType 代码段,加入下面一行:
AddType application/x-httpd-php .php

重新启动Apache2. (不会?就是先 stop 再 start 啦!!!当然也可以 restart :)
现在我们测试一下 PHP 是否正常工作:
#cd /usr/local/Apache2/htdocs
这里是Apache默认主页的存放处,很重要!!
在这里建立一个 test.php 写入如下内容:
<?php
phpinfo();
?>
不懂PHP语法?没关系,我们很少用到:)建立好后保存退出。
打开浏览器,输入 http://localhost/test.php
如果PHP成功运行,将会出现PHP信息页(下图是4.3.3版本的,不过你看到的大同小异):

(图怎么贴过来?)

轻松一下吧,LAMP套件至此安装完成了!!

在下一篇中我会就整个安装过程中出现的部分问题写下解决方法,不足之处还请高手补充。


原文第二部分,FAQ

[原创文章]转载请注明出处,谢谢!

上一次我们讲了AMP三件的安装流程。现在我把安装配置中遇到的一些问题总结出来。

FAQ(不完全版)

1.安装MySQL时,进入mysql目录执行./scripts/install_db安装数据库提示没有找到文件?
  
   你一定是自己建立了mysql文件夹然后又进行了符号连接。注意不要自己在/usr/local下建立mysql文件夹,而是直接建立符号连接。

2.编译MySQL时出错?

   如果你的GCC版本高于2.9,建议使用Binary Distribution进行安装。

3.configure PHP 的时候提示lex output file not found?

   安装PHP需要很多软件支持,要通过configure,建议安装以下软件包:
  
   libxml2-dev/-doc/++
   flex
   lemon
   bison
   re2c
   其中提问中的提示信息是由于没有安装 flex 造成的。没有安装其他软件包会有其对应的提示信息。

4.我明明打开了--with-mysql选项并指定了MySQL的安装路径,为什么提示如下信息?
   ...
   checking for MySQL support... yes
   checking for specified location of the MySQL UNIX socket... no
   checking for MySQL UNIX socket location... no
   checking for mysql_close in -lmysqlclient... no
   checking for mysql_error in -lmysqlclient... no
   configure: error: mysql configure failed. Please check config.log for more  information.

   请在机器上定位这个文件:libmysqlclient.so.15
   如果这个文件不在/usr/local/mysql/lib下,请将其符号连接至上述目录,符号名为:
   libmysqlclient.so
   注意不要使用 --with-mysql-dir 选项代替 --with-mysql 选项,否则PHP会连接不上MySQL

5.我编译PHP时发现中间有很多Warning?

   不用理会,直接make install

6.PHP安装完了,可是用浏览器打开 http://localhost/test.php 无法打开?

   确认你已经在 httpd.conf 里面打开了 PHP 模块支持;
   确认你的test.php写得正确;
   确认你的Apache2能够正常启动并且已经启动;

7.我的PHP曾经没有正确安装,我现在重新./configure后一切通过了,为什么还是出现同样的错误?

   请在重新安装之前,把/usr/local/php5,即你的PHP安装目录删除。然后进入解压缩后产生的php目录,执行下述命令:

   make  distclean

   再从configure开始进行安装步骤。

8.我如何才能检测php是否已经连接上MySQL?

   这个问题很重要。请按照如下步骤做:

   编辑test.php,在phpinfo();一行前添加下述代码:
$link = mysql_connect('localhost', 'root', 'password')
    or die('Could not connect: ' . mysql_error());
echo 'Connected successfully';
   'localhost'不用改,'root'也不用改,'password'处填写你MySQL  root帐户的密码。然后保存退出。启动Apache,在浏览器中再此打开这个test.php,如果连接成功,页面罪上方将有一行字:

   Connected successfully

   否则将会有出错信息。

9.执行FAQ 8所述步骤打开test.php说函数mysql_connect未定义?

   这是由于你的PHP安装时没有开启MySQL支持造成的,请根据 FAQ 7 的步骤重新安装PHP,不要忘记开启文章第一部分所述的那些参数!

10.执行FAQ 8所述步骤打开test.php说不能根据 /var/run/mysqld/mysqld.sock 连接到数据库?

   看一下你的 /var/run 下有没有 mysqld 目录,没有的话建一个,在机器上定位这个文件: mysql.sock
   可以去/tmp下查找一下,可能在那里。将其符号连接至/var/run/mysqld/mysqld.sock即可。


   OK,上面这些是我和同学在安装过程中出现的问题总结,希望能对诸位有帮助。当然这只是安装过程中出现问题的一小部分,还请高手补充!!!

   下次我将就LAMP平台讲些基本应用,主要包括以下两点:

   1.Apache的虚拟服务器配置
   2.在LAMP上配置Wordpress ( 一个Blog软件: )



第三部分作者还未完成,写了个未完待续,晕倒~~~
 楼主| 发表于 2006-8-15 21:44:36 | 显示全部楼层
没人顶?这文的FAQ有几个是很实际的啊
回复 支持 反对

使用道具 举报

发表于 2006-8-16 09:32:37 | 显示全部楼层
顶一下,刚才装了2.2.3不知道怎么启动,看了才知道,学到了。
不过为什么2.2.3安装不会加成系统服务呢?要怎么才能加成系统服务,让它机器一开启就启动?
谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表