虚拟机ubuntu16.04安装php配置apache2的8080端口在windows7访问
其实这些之前断断续续都弄过,但是没有总结,加之有些东西发生了变化,导致这次老大让弄的时候费了一下午功夫才搞出来,十分愤怒,总结一下吧。
目的:
首先我的需求是在ubuntu16.04的虚拟机中搭建php环境,使用apache作为服务器,因为是学习来用,所以不希望用80端口来作为服务器的服务端口,而是用8080端口展示页面。同时由于在虚拟机如果开过多应用可能时间长了会卡顿,所以我只在虚拟机中开sublime来写代码,查看页面结果则在宿主机windows7中进行。
步骤:
1,搭建php环境
现在用到的命令跟之前还是有所变化,之前可以直接安装php5,刚才我试了下已经不行了。所以新的命令如下:
sudo apt install php (这里很久之前可以用php5来代替php,现在已经不行了,默认安装php7)
sudo apt install apache2 (安装apache)
sudo apt-get install libapache2-mod-php (安装apachephp组件,同样也是用php代替了php5)
- 1
- 2
- 3
由于这片文章没有涉及数据库,我看之前参考的文章涉及数据库安装的命令也有所变化,所以如果有必要,我再写关于数据库的问题。这片文章用到的就是以上三个命令了。
2,测试php环境。
到这里我们的php环境就已经搭建成功了。apache默认的根目录在/var/www/html下,我们可以到这个目录新建一个index.php来替换掉之前的index.html来测试。
//先把之前的index.html文件换个名字。用ubuntu命令mv即可
mv index.html index.html.1
//然后新建index.php页面。使用vi命令,如果没有index.php文件那么系统会新建这个文件
vi index.php
//写入以下代码
<?php
phpinfo();
?>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
如果成功,那么我们再虚拟机中访问localhost或者127.0.0.1就可以看到一下界面了。
3,配置apache
因为是测试所以我不想占用80端口。以下方式可以使用8080端口来进行访问我们的程序。
(不知道什么原因,这里网上百度的东西都有点乱,apache的配置文件也有所变化,所以重新整理一下)
*1:首先进入apache配置目录cd /etc/apache2,找到apache2.conf,这里需要改一下配置。找到配置Require all denied这句,这句话把感觉是把除了基本配置的请求全部拒绝了,所以注释掉这句话(前边加#号)
*2:修改apache配置目录下的ports.conf文件,在Listen 80下边加上Listen 8080 的配置,让我们的apache也可以监听8080端口
3:在sites-available文件夹中添加一个配置文件,名字根据自己的程序来定,但是要*以.conf结尾,**apache才能识别为配置文件。最简单的配置文件如下:
<VirtualHost *:8080>
ServerAdmin youname
ServerName phpdemo.com
ServerAlias www.phpdemo.com
DocumentRoot /path/of/you/dir
ErrorLog /path/of/errorlog/dir
CustomLog /path/of/customlog/dir combined
</VirtualHost>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
*4: 运行命令sudo a2ensite ***.con,来使刚才的配置文件生效。
4,配置虚拟机外访问虚拟机8080端口
*1:先关闭虚拟机,找到该虚拟机 “设置=>网络”,设置第一个网卡为Nat模式,添加一个网卡二为Host-Only模式。
*2:启动虚拟机,使用ifconfig命令查看刚才添加的网卡名字(我的为enp0s8)
*3:运行如下命令(enps0s8为你的虚拟机网卡二的名字):
sudo ifconfig enp0s8(网卡名) inet 192.168.56.100 netmask 255.255.255.0
*4:在宿主机访问192.168.56.100:8080就可以访问我们的php程序了。