不知道为什么网上的教程大都是centOS的。安装LAMP(Linux+Apache+Mysql+php)的顺序,linux肯定是最先安装,php要最后安装,因为php是依赖Apache和Mysql的,中间的顺序无所谓。
安装mysql
我的linux版本Ubuntu 16.04.2(命令sudo lsb_release -a
),在root目录下执行命令sudo apt-get install mysql-server
安装mysql,我安装时候出现如下问题
按照提示执行apt-get update
,然后再执行sudo apt-get install mysql-server
重新安装,安装过程中会提示设置密码
![](阿里云服务器ubuntu下配置php运行环境/屏幕快照 2017-09-01 下午1.58.19.png)
安装完成后执行sudo netstat -tap | grep mysql
查看服务(netstat命令显示网络相关信息,可参看http://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html
),显示监听的端口即表示安装成功。
安装Apache2
在root目录下执行命令sudo apt-get install apache2
,命令apachectl -v
查看是否安装成功,我的提示Server version: Apache/2.4.18 (Ubuntu)
,安装成功。
安装php
一般教程到这一步会让装php5,但执行命令sudo apt-get install php5 libapache2-mod-php5
后提示
Package php5 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
ubuntu 16.04默认自带了php7,出现上述提示就是这个原因。这里我们直接执行apt-get install php
会自动安装php7。如果一定要装php5参看http://blog.csdn.net/u011511945/article/details/51379480
。执行命令php -v
会提示
The program 'php' can be found in the following packages:
* php7.0-cli
* hhvm
安装这个package,sudo apt-get install php7.0-cli
安装php7,安装完毕后php -v
可以查看到php版本的提示。然后我们执行apt-get install libapache2-mod-php
安装libapache2-mod-php使apache支持php,这里会提示是支持php7。
检验
此时LAMP安装完毕,根目录下的var
目录下会多一个www
文件夹,里面有一个html
文件夹,打开html下的index.php,vi index.php
,然后我编辑php代码如下
<?php
echo "hello YanHaoQi";
?>
正常的话,此时保存退出,然后浏览器访问远程服务的公网ip就可以显示页面,但是我在实际访问时候没有响应。原因是阿里云的服务器需要设置一个安全组规则。
然后就可以正常访问了。此时apache实际解析的是index.php,我们还需要一个步骤,解析html文件中的php代码。cd /etc/apache2/mods-available/
打开对应版本的php配置文档vi php7.0.conf
,修改第一行的正则表达式,在第一个p后面加一个?就可以了。
然后用mv index.php index.html
把html文件夹下的index.php后缀名改为html,此时在本地浏览器访问服务器的公网ip,
大功告成!!
初次接触php和linux,很多操作完全是照猫画虎、不知所云,这篇日志只是记一下整个操作过程。我觉得学习的过程就是这样,先不要管原理和细节,能达到目的就行,后面用的多了自然就知道了,小时候学东西不就是这样吗?最重要的,是带着目的去学,或者是漫无目的时候享受其中的学。另感谢韩楠楠的帮助。最近想学一门js之外的第二编程语言,因为公司后台是php的,身边朋友做php的也多,所以打算选php。也想过学最近比较火的python,但是身边没有做python朋友,不方便学习交流。