|
|
转载,文章原地址: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软件: )
第三部分作者还未完成,写了个未完待续,晕倒~~~ |
|