安装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-mysql
woqilin@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:~$ sudo gedit /etc/php5/apache2/php.ini
-找到 'extension_dir'属性. 默认为
"/usr/lib/php5/ext".如果不是的话,设置成这个值.
-创建extension_dir目录
woqilin@woqilin-desktop:~$ sudo mkdir /usr/lib/php5/ext
-把mysql.so库复制到新目录
woqilin@woqilin-desktop:~$ sudo cp /usr/lib/php5/20090626+lfs/mysql.so /usr/lib/php5/ext/mysql.so
重启apache,测试mysql(i)库是否可以工作了
phpmyadmin 设置
如果已经安装phpmyadmin,打开浏览器输入以下地址:http://localhost/phpmyadmin,一般情况下会有以下问题
1.phpmyadmin 404 错误
配置apache2.conf文件.打开终端,输入以下命令woqilin@woqilin-desktop:~$ sudo gedit /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-get install php5-mcrypt
(2)如果找不到php5-mcrypt包,下载以下三个包
libmcrypt-2.5.8.tar.gz mhash-0.9.9.tar.gz mcrypt-2.6.8.tar.gz2.然后在终端运行以下命令,其中xxx代表相应的文件
woqilin-desktop:~$ tar z -xvf xxx.tar.gz woqilin@woqilin-desktop:~$ cd xxx woqilin@woqilin-desktop:~$ sudo ./configure woqilin@woqilin-desktop:~$ sudo make woqilin@woqilin-desktop:~$ sudo make install woqilin@woqilin-desktop:~$ sudo ldconfig3.定位mcrypt.so模块的路径(如下命令),再把mcrypt.so模块复制到/usr/lib/php5/ext目录下,最后重启Apache
woqilin@woqilin-desktop:~$ locate mcrypt.so
启动, 停止, 测试, 重启 Apache
启动Apache:woqilin@woqilin-desktop:~$ sudo /usr/sbin/apache2ctl start
停止Apache:
woqilin@woqilin-desktop:~$ sudo /usr/sbin/apache2ctl stop
重启Apache:
woqilin@woqilin-desktop:~$ sudo /usr/sbin/apache2ctl restart
测试配置文件改变
woqilin@woqilin-desktop:~$ sudo /usr/sbin/apache2ctl configtest
无法重启Apache
重启Apache出现以下错误apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName要解决这个问题,要编辑httpd.conf文件内容,打开终端,输入以下命令
woqilin@woqilin-desktop:~$ sudo gedit /etc/apache2/httpd.conf
默认httpd.conf文件是空白的,添加下面的内容到文件.
ServerName localhost保存,现在可以重启Apache
woqilin@woqilin-desktop:~$ sudo /usr/sbin/apache2ctl restart
设置修改 Apache 文件根目录 (Document Root)
Apache HTTP Server 的缺省文件根目录 (DocumentRoot) 是:
DocumentRoot "/var/www"
修改 Apache 文件根目录 (DocumentRoot) 的操作如下:
为避免修改失误,请先备份Apache配置文件,命令如下
woqilin@woqilin-desktop:~$ sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available default.backup
Apache 配置文件的路径是:
/etc/apache2/sites-available/default
修改 default 文件,输入以下命令
woqilin@woqilin-desktop:~$ sudo gedit /etc/apache2/sites-available/default
找到 DocumentRoot 为开头的那一行,将
DocumentRoot /var/www
改成新的 DocumentRoot 路径,比如你新的路径为 ~/htdocs,就改成
DocumentRoot ~/htdocs
然后找到 default 文件中的如下内容
<Directory /var/www/>
将 Diectory 中的路径改成你新设的文件根目录,比如:
<Directory ~/htdocs>
保存配置文件default 。
修改了配置文件以后,应重新启动 Apache Service。
设置 Apache 虚拟目录默认
Apache 默认已经为你设置了虚拟目录,在default文件找到下面代码
Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory>
上面代码设置一个虚拟目录,别名(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 去掉即可。
比如我们看看一个目录的目录配置:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
你只需要将上面红色代码中的 Indexes 去掉,就可以禁止 Apache 显示该目录结构。用户就不会看到该目录下的文件和子目录列表了。 Indexes 的作用就是当该目录下没有 index.html 文件时,就显示目录结构,去掉 Indexes,Apache 就不会显示该目录的列表了。