安装Apache2
sudo apt-get install apache2
安装完之后可以通过apache2 -v
查看安装的版本号,在浏览器的地址栏输入http://localhost
是验证Apache是否安装成功的:
安装PHP5
PHP5安装
sudo apt-get install PHP5
如果是通过sudo apt-get install PHP5 libapache2-mod-PHP5来按照的话,也是可以的。
(同时安装了PHP5与apache2的PHP模块,共两个包)。
其实在sudo apt-get install PHP5之后按照libapache2-mod-PHP5结果如下:
PHP5验证
验证PHP安装好:
sudo touch /var/www/html/testPHP.PHP
sudo vim /var/www/html/testPHP.PHP
输入如下的代码:
<?PHP PHPinfo(); ?>
保存后,浏览器访问:http://localhost/testphp.php,即可看到如下图:显示出PHP的信息内容页面:
然后可以选择自己需要的组件进行安装。打开命令提示符输入下面命令:
sudo apt-get install PHP5 //然后按tab键 可以看到如下PHP扩展
比如安装:
sudo apt-get install PHP5-curl#//支持ftp,http等等协议。用起来很方便
gd //图库,如生成验证码,处理图片都离不开它
xdebug//装这个配合eclipse进行断点调试~
站点目录修改
由于默认的目录是/var/www,我们可以更改自己的站点目录,修改站点目录方式:
打开/etc/apache2/sites-enabled/0XXXX //在sites-enabled/0xx开头的文件里面有默认站点配置信息结果如下:
用编辑器vim(或者gedit)打开 /etc/apache2/sites-enabled/0xxx //0xxx指的是以0开头的那个文件。
修改完成保存后,重新启动一次apache 让其加载刚才修改的配置文件。
sudo /etc/init.d/apache2 stop
sudo /etc/init.d/apache2 start
本文将目录修改为/home/liujiepeng/workspace/html/
所以,接下来是需要在/home/liujiepeng/workspace/html/下写一个test.PHP文件进行测试。PHP中代码:
<?PHP echo 'Hello World!'; ?>
此时http://localhost/test.php访问上述的test.PHP是403的:
按照网上的解决方案,有两个,第一个是:
sudo chown -R USER:USER /home/liujiepeng/workspace/html
sudo chmod -R 755 /home/liujiepeng/workspace/html
但是仍然没有效果。
所以采用如下:
第二个方案是:
修改 /etc/apache2/apache2.conf 目录下的配置信息:
原来的配置信息:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
此时需要对其按照自己期望的目录进行修改:
<Directory /home/liujiepeng/workspace/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
sudo /etc/init.d/apache2 restart
重启Apache服务。
此时就可以正常访问test.PHP文件了:
所以,此时的localhost的访问下再访问testPHP.PHP直接是找不到的,因为配置的目录发送了变化:
虚拟目录配置:
还需要做虚拟目录配置,如果经常输入localhost或者一些项目中需要配置一些域名,而测试的话又经常需要改来改去的。因此我是习惯性的在hosts做本地域名解析,然后绑定虚拟目录。例如test.com 是我们项目用到的域名,那么首先修改hosts文件做本地解析
命令和内容如下:
sudo vim(或者gedit) /etc/hosts //本地域名解析就是靠它的
在文件中加入一行 127.0.0.1 test.com
然后在/etc/apache2/sites-enabled/下面建立一个名为www.test.com的文件,最好直接复制一份0xxx开头的配置文件做修改就行
取名为www.test.com方便识别和辨认。apache默认会加载/etc/apache2/sites-enabled目录下的所有配置文件。
注意:SeverName就是你要绑定的域名DocumentRoot是要绑定的目录,我直接绑定了/home/liujiepeng/workspace/html文件夹
如果不写入serverName的话test.com是无法解析到/home/liujiepeng/workspace/html目录。
通过浏览器访问www.test.com的结果如下:
从上图可以看到已经解析到对应的目录了。
通过命令行的方式查看/home/liujiepeng/workspace/html目录下的内容: