建议通过源代码形式安装,不要通过apt-get安装,通过apt-get只能安装指定版本,且文件分散。安装过程可以百度,我主要写一下遇到的问题。
首无要安装 make 命令,
sudo apt-get install make
其次由于要编译源代码,gcc是必须安装的,我使用apt-get install gcc能成功安装gcc,但是编译pcre时会报错,错误信息是:您需要安装c++编译器。看安装日志也会发现检查gcc,结果为no。不知道是什么原因,有知道的希望能给我留言。谢了!建议使用如下命令安装gcc
sudo apt-get install build-essential
然后是安装 apr和apr-util时需要的依赖包:
sudo apt-get install libexpat1-dev
我在安装apr时遇到一个错误,提示信息为:rm: cannot remove 'libtoolT': No such file or directory,网上找了一下需要修改configure这个配置文件,将文件中RM='$RM'这一行 修改为RM='$RM -f',保存退出后,重新运行./configure,即可。具体请参考:https://jingyan.baidu.com/article/b907e627611f6b46e7891cb6.html
下载安装 apr,apr-util,pcre这三个包,安装时建议-通过-prefix=指定路径,因为每安装后面一个都需要通过指定前一个包的路径,有时候不知道安装到哪里去了。
这里要特别注意的是,如果./configure成功,make或者make install失败的话,重新./configure或者make之前,一定要先
make clean
安装完成后,切记要调整防火墙设置,我就是在安装完成后,本机可以访问局域网内其他电脑不能访问,开始一直以为是apache权限设置问题,找了半天的资源也没搞定,后来才发现是防火墙设置造成的。
安装php后,记得将php.ini从源码中复制一份到php的安装目录,不然会报错。httpd服务无法启动。
$ sudo cp php.ini-development /usr/lib/php5.4.44/php.ini
另外,在win10子系统ubuntu下启动apache时,会报错# fix error in WSL (Protocol not available: AH00076: Failed to enable APR_TCP_DEFER_ACCEPT)解决方法如下:在httpd.conf加入一行:
AcceptFilter http none
AcceptFilter https none(如果开启https)
对于以上有些错误,目前我也是知其然不知其所以然。希望有大神赐教!