首页 技术 正文
技术 2022年11月16日
0 收藏 726 点赞 4,913 浏览 2057 个字

1.下载

http://archive.apache.org/dist/httpd/httpd-2.2.0.tar.gz

tar -xvf httpd-2.2.0.tar.gz

2.安装

./configure --enable-so
make
make install

3.启动

/usr/local/apache2/bin/apachectl start

启动报错: httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName

解决:

vim  /usr/local/apache2/conf/httpd.conf      #编译安装时配置文件所在路

修改:ServerName www.example.com:80  为 ServerName localhost:80

4.停止

/usr/local/apache2/bin/apachectl stop

5.安装php

现在需要配置并编译 PHP。在这里可以用各种各样的参数来自定义 PHP,例如启动哪些扩展功能包的支持等。用 ./configure –help 命令可以列出当前可用的所有参数。在此例中,将给出一个在有 MySQL 支持的 Apache 2 上进行配置的范例。

./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
make
make install

如果在安装后想改变配置选项,添加功能模块,只需重新 configure,make,以及 make install php就可以了,Apache 不需要重新编译,重新启动 Apache 新模块就生效了。

注意:除非明确有提示,否则“make install”命令将安装 PEAR、各种 PHP 工具诸如 phpize,并安装 PHP CLI 等等。

6.配置 php.ini

[root@computer7 php-7.3.1]# pwd

/data/php-7.3.1

cp php.ini-development /usr/local/lib/php.ini  # 复制安装包下的配置文件到/usr/local/lib/php.ini 

可以编辑 php.ini 来设置 PHP 运行时的选项。如果想要把此文件放到另外的位置,需要在步骤 5 添加 –with-config-file-path=/path 选项。

如果选择了 php.ini-production,请务必阅读其中的变更列表,它们将影响 PHP 的执行。

7.编辑 httpd.conf 文件以调用 PHP 模块。LoadModule 达式右边的路径必须指向系统中的 PHP 模块。以上的 make install 命令可能已经完成了这些,但务必要检查。

8.告知 Apache 将特定的扩展名解析成 PHP,例如,让 Apache 将扩展名 .php 解析成 PHP。为了避免潜在的危险,例如上传或者创建类似 exploit.php.jpg 的文件并被当做 PHP 执行,我们不再使用 Apache 的 AddType 指令来设置。参考下面的例子,你可以简单的将需要的扩展名解释为 PHP。我们演示为增加.php。

<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>

然后,可以将 .phps 文件由 PHP 源码过滤器处理,使得其在显示时可以高亮源码,设置如下:

<FilesMatch "\.phps$">
SetHandler application/x-httpd-php-source
</FilesMatch>

如下图所示:

9.启动 Apache 服务

10. 测试

cd /usr/local/apache2/htdocs
[root@computer7 htdocs]# vim test.php
<?php
phpinfo();
?>

访问: http:17.0.0.1/test.php 显示如页面,表示安安成功

参考:http://php.net/manual/zh/install.unix.apache2.php

建议使用–prefix=/path/you/want/to/install/ 来编译安装,卸载时只需要删除目录即可

如果安装的时候指定了prefix,直接删除就好。如果没有,并且源代码没有提供make uninstall/distclean/veryclean的功能,我一般这样做:
找一个临时目录重新安装一遍。比如
./configure –prefix=/tmp/to_remove && make install
然后遍历/tmp/to_remove里的文件,把你原来安装位置的文件都删除。

这样的坏处是有些文件夹还可能删除不了(分不清是系统的还是安装上的)

作者:张彪
链接:https://www.zhihu.com/question/20092756/answer/38275061
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,556
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898