ubuntu下搭建php和apache环境

安装 Apache2:

 

  sudo apt-get install apache2

 

  安装PHP模块:

 

  sudo apt-get install php5

 

  安装Mysql

 

  sudo apt-get install mysql-server

 

  其他模块安装:

 

  sudo apt-get install libapache2-mod-php5

 

  sudo apt-get install libapache2-mod-auth-mysql

 

  sudo apt-get install php5-mysql

 

  sudo apt-get install php5-gd

 

  前两个很容易明白,要想apache能够解析PHP,就需要借助这两个模块来找到php engine。

 

  第三个在php操作mysql数据库时用到,大多数人都有数据库编程经验,所以这就不用多解释了

 

  第四个GD库。

 

  apache2相关配置

 

  安装完上述的各个模块后,实际上基本配都OK了,只是一些小的细节问题

 

  基本上多有的配置都在/etc/apache2目录及其子目录下完成,故一定要搞清楚这个目录结构。

 

  1.apache根目录

 

  安装完apache2,根目录在/var/www下,可以通过http://localhost/测试一下是否好用。

 

  当然也可以在该目录下新建一个文件test.html来试一试http://localhost/test.html。

 

  2.PHP解析问题

 

  安装完貌似php的解析都有点问题,浏览php网页会保存,apache没有将其解析为网页。

 

  网上一般说的是需要在httpd.conf中添加XXXX,对其他的linux系统可能确实如此,但是Ubuntu有点特殊。

 

  Ubuntu的apache2配置在/etc/apache2目录下。

 

  这个目录下有个apache2.conf文件,这个文件通过包含其他配置文件涵盖了所有的apache2系统配置信息。

 

  php解析部分在的配置在/etc/apache2/mods-available下的php5.conf和php5.load中,apache2.conf文件中并没有将这两个文件包含进来,只要包含进去就OK了。

 

  *************************************************

 

  在apache2.conf中找到

 

  # Include module configuration:

 

  Include /etc/apache2/mods-enabled/*.load

 

  Include /etc/apache2/mods-enabled/*.conf

 

  在其后面添加

 

  Include /etc/apache2/mods-available/php5.load

 

  Include /etc/apache2/mods-available/php5.conf

 

  *************************************************

 

  另外一种方法就是将这两个文件链接到mods-enabled目录下:

 

  sudo ln -s /etc/apache2/mods-available/php5.load /etc/apache2/mods-enabled/php5.load

 

  sudo ln -s /etc/apache2/mods-available/php5.conf /etc/apache2/mods-enabled/php5.conf

 

  这一种方式更好一点,没有破坏apache2本身的配置结构。

 

  *************************************************

 

  3.改变apache2的默认目录到当前的开发目录

 

  apache2的默认目录配置在/etc/apache2/sites-enabled/00default文件中。

 

  找到该文件中的DocumentRoot项, 将/var/www改为你的开发目录就OK了。

 

  当然,还有一种方法就是不该边默认目录,只是在var/www下建立一个到你的目录的链接。

 

  比如你的目录在/home/username/phptest,那么你只要

 

  sudo ln -s /home/username/phptest /var/www/phptest

 

  这样你就可以通过http://localhost/phptest访问你的工作目录了。

 

  [注意]链接文件名中不能含有“.”,否则apache2会将其当作为一个文件试图解析而无法达到链接目录的效果。

 

  个人推荐用后一种方式,这样可以多个工作目录并行开发。

 

  配置中常用命令

 

  重启apache

 

  sudo /etc/init.d/apache2 restart

 

  来一个简单的测试,在phptest目录下新建一个PHP 文件:test.php

<!DOCTYPE html>
<html>
<head>
<title>PHP Site</title>
</head>


<body>
<p>
<center>
<?php
echo "Hello,This is my first PHP webpage\n";
phpinfo();
?>
</center>
</p>
</body>
</html>

 

保存退出。

 

打开浏览器,输入:localhost/phptest/tset.php,就能看到我们PHP的运行结果了。 Good Luck! :-)

发布php项目个人理解:

1.apacheports.conf文件的作用

 

该文件有Listen 字段 该字段决定了apache项目的端口号 默认为80 但是会和tomcat80冲突 所以可以修改为其他端口号。例如这里修改为8091.

2.sites-enabled 下文件 000-default.conf文件

 

该文件就是apache的一个端口处理文件 前面我们将apache的端口发布为8091 端口 那么这里使用虚拟主机VirtualHost *:8091 来接受所有的8091端口的信息 DocumentRoot代表了类似tomcatwebapps目录 apache的默认项目路径就在那里了。

3.apache2.conf

该文件为apache的主配置文件 相当于其他linux系统的 conf/httpconfig 

在这个文件可以开启apacheRewrite支持

 

<Directory />

Options FollowSymLinks

AllowOverride ALL

</Directory>

 

<Directory /usr/share>

AllowOverride ALL

Require all granted

</Directory>

 

<Directory /var/www/>

Options Indexes FollowSymLinks

AllowOverride ALL

Require all granted

</Directory>

 

#<Directory /srv/>

# Options Indexes FollowSymLinks

# AllowOverride ALL

# Require all granted

#</Directory>

 

 

 

posted @ 2015-07-27 10:46  reload  阅读(833)  评论(0编辑  收藏  举报