Ubuntu 10.04 安装AMP(Apache+Mysql+PHP)

wqzbxh 2011-11-09

安装Apache

woqilin@woqilin-desktop:~$ sudo apt-get install apache2

安装Mysql

woqilin@woqilin-desktop:~$ sudo apt-get install mysql-server

安装mysql客户端工具(可选)

woqilin@woqilin-desktop:~$ sudo apt-get install mysql-admin mysql-client mysql-gui-tools-common mysql-query-browser

安装mysql浏览器工具(推荐)

woqilin@woqilin-desktop:~$ sudo apt-get install phpmyadmin

安装Php5

woqilin@woqilin-desktop:~$ sudo apt-get install php5

安装PHP的Mysql扩展库

woqilin@woqilin-desktop:~$ sudo apt-get install libapache2-mod-auth-mysqlwoqilin@woqilin-desktop:~$ sudo apt-get install php5-mysql

让PHP支持Mysql

找到扩展模块的目录,打开终端,输入以下命令

woqilin@woqilin-desktop:~$ locate mysql.so

(如果你有安装mysqli库,把mysql.so改成mysqli.so)

会显示Mysql(i)库的位置

/usr/lib/php5/20090626+lfs/mysql.so

然后检查php.ini文件'extension_dir'属性的设置

woqilin@woqilin-desktop:~$sudogedit/etc/php5/apache2/php.ini

-找到'extension_dir'属性.默认为

"/usr/lib/php5/ext"

.如果不是的话,设置成这个值.

-创建extension_dir目录

woqilin@woqilin-desktop:~$sudomkdir/usr/lib/php5/ext

-把mysql.so库复制到新目录

woqilin@woqilin-desktop:~$sudocp/usr/lib/php5/20090626+lfs/mysql.so/usr/lib/php5/ext/mysql.so

重启apache,测试mysql(i)库是否可以工作了

phpmyadmin 设置

打开浏览器输入以下地址:http://localhost/phpmyadmin,一般情况下会有以下问题

1.phpmyadmin 404 错误

配置apache2.conf文件.打开终端,输入以下命令

woqilin@woqilin-desktop:~$sudogedit/etc/apache2/apache2.conf

把下面这段代码添加到apache2.conf文件的最后面,然后保存并退出。重启Apache

Include /etc/phpmyadmin/apache.conf

2.phpmyadmin 无法加载 mcrypt 扩展,请检查您的 PHP 配置。把mcrypt.so模块复制到php的ext目录。

woqilin@woqilin-desktop:~$ sudo cp /usr/lib/php5/20090626+lfs/mcrypt.so /usr/lib/php5/ext/mcrypt.so

补充:

1.如果找不到mcrypt.so模块,必须手动安装

(1)打开终端运行以下命令即可安装

woqilin@woqilin-desktop:~$apt-getinstallphp5-mcrypt

(2)如果找不到php5-mcrypt包,下载以下三个包

libmcrypt-2.5.8.tar.gzmhash-0.9.9.tar.gzmcrypt-2.6.8.tar.gz

2.然后在终端运行以下命令,其中xxx代表相应的文件

woqilin-desktop:~$tarz-xvfxxx.tar.gzwoqilin@woqilin-desktop:~$cdxxxwoqilin@woqilin-desktop:~$sudo./configurewoqilin@woqilin-desktop:~$sudomakewoqilin@woqilin-desktop:~$sudomakeinstallwoqilin@woqilin-desktop:~$sudoldconfig

3.定位mcrypt.so模块的路径(如下命令),再把mcrypt.so模块复制到/usr/lib/php5/ext目录下,最后重启Apache

woqilin@woqilin-desktop:~$ locate mcrypt.so

启动, 停止, 测试, 重启 Apache

启动Apache:

woqilin@woqilin-desktop:~$sudo/usr/sbin/apache2ctlstart

停止Apache:

woqilin@woqilin-desktop:~$sudo/usr/sbin/apache2ctlstop

重启Apache:

woqilin@woqilin-desktop:~$sudo/usr/sbin/apache2ctlrestart

测试配置文件改变

woqilin@woqilin-desktop:~$ sudo /usr/sbin/apache2ctl configtest

无法重启Apache

重启Apache出现以下错误

apache2:Couldnotreliablydeterminetheserver'sfullyqualifieddomainname,using127.0.1.1forServerName

要解决这个问题,要编辑httpd.conf文件内容,打开终端,输入以下命令

woqilin@woqilin-desktop:~$sudogedit/etc/apache2/httpd.conf

默认httpd.conf文件是空白的,添加下面的内容到文件.

ServerNamelocalhost

保存,现在可以重启Apache

woqilin@woqilin-desktop:~$sudo/usr/sbin/apache2ctlrestart

设置修改Apache文件根目录(DocumentRoot)Apache HTTP Server 的缺省文件根目录 (DocumentRoot) 是:

DocumentRoot "/var/www"

修改Apache文件根目录(DocumentRoot)的操作如下:

为避免修改失误,请先备份Apache配置文件,命令如下

woqilin@woqilin-desktop:~$sudocp/etc/apache2/sites-available/default/etc/apache2/sites-availabledefault.backup

Apache配置文件的路径是:

/etc/apache2/sites-available/default

修改default文件,输入以下命令

woqilin@woqilin-desktop:~$sudogedit/etc/apache2/sites-available/default

找到DocumentRoot为开头的那一行,将

DocumentRoot/var/www

改成新的DocumentRoot路径,比如你新的路径为~/htdocs,就改成

DocumentRoot~/htdocs

然后找到default文件中的如下内容

将Diectory中的路径改成你新设的文件根目录,比如:

保存配置文件default。

修改了配置文件以后,应重新启动 Apache Service。

设置 Apache 虚拟默认目录

Apache 默认已经为你设置了虚拟目录,在default文件找到下面代码

Alias/doc/"/usr/share/doc/"OptionsIndexesMultiViewsFollowSymLinksAllowOverrideNoneOrderdeny,allowDenyfromallAllowfrom127.0.0.0/255.0.0.0::1/128

上面代码设置一个虚拟目录,别名(Alias)为doc,虚拟目录路径为/usr/share/doc/

比如你写一个最简单的test.php文件(参见安装PHP中的测试PHP),然后将其存放在/usr/share/doc/目录下,然后在浏览器里打如下地址即可执行该php文件.

http://localhost/doc/test.php

该php文件的实际路径是:

/usr/share/doc/test.php

禁止显示 Apache 目录列表

缺省情况下如果你在浏览器输入地址:

http://localhost:8080/

如果你的文件根目录里有index.html,浏览器就会显示index.html的内容,如果没有index.html,浏览器就会显示文件根目录的目录列表,目录列表包括文件根目录下的文件和子目录。

同样你输入一个虚拟目录的地址:

http://localhost:8080/b/

如果该虚拟目录下没有 index.html,浏览器也会显示该虚拟目录的目录结构,列出该虚拟目录下的文件和子目录。 如何禁止 Apache 显示目录列表呢?

要禁止 Apache 显示目录结构列表,只需将 Option 中的 Indexes 去掉即可。

比如我们看看一个目录的目录配置:

OptionsIndexesFollowSymLinksMultiViewsAllowOverrideNoneOrderallow,denyAllowfromall

你只需要将上面红色代码中的 Indexes 去掉,就可以禁止 Apache 显示该目录结构。用户就不会看到该目录下的文件和子目录列表了。 Indexes 的作用就是当该目录下没有 index.html 文件时,就显示目录结构,去掉 Indexes,Apache 就不会显示该目录的列表了。

相关推荐