根据Linux的系统的版本找到合适的安装方式
在Fedora / CentOS / Red Hat Enterprise Linux上安装
sudo yum安装httpd
sudo systemctl启用httpd
sudo systemctl启动httpd
较新版本的这些发行版使用 dnf而不是yum。请参阅Fedora项目的文档以了解特定于平台的注释。
在Ubuntu / Debian上安装
sudo apt安装apache2
sudo服务apache2启动
从源代码安装
$ gzip -d httpd-NN.tar.gz | |
$ ./configure --prefix=PREFIX | |
$ make | |
$ make install | |
$ vi PREFIX/conf/httpd.conf | |
$ PREFIX/bin/apachectl -k start |
必须用当前版本号替换NN,并且PREFIX必须替换为应在其下安装服务器的文件系统路径。如果 未指定PREFIX,则默认为 /usr/local/apache2。
对于构建Apache httpd,存在以下要求:
APR和APR-Util
确保您的系统上已安装APR和APR-Util,如果没有可以去官网下载并安装。
Perl兼容的正则表达式库(PCRE)
这个库是必需的,但不再与httpd捆绑在一起。从http://www.pcre.org下载源代码,或安装端口或软件包。
磁盘空间
确保您至少有50 MB的可用临时可用磁盘空间。安装后,服务器占用大约10 MB的磁盘空间。根据您选择的配置选项,任何第三方模块以及您在服务器上拥有的网站或网站的大小,实际的磁盘空间要求会有很大差异。
ANSI-C编译器和编译系统
确保你已经安装了ANSI-C编译器。在GNU C编译器(GCC)从自由软件基金会(FSF) 的建议。如果你没有GCC,那么至少要确保你的供应商的编译器符合ANSI标准。另外,您PATH必须包含基本的构建工具,如make。
详细步骤
从Apache HTTP Server压缩包中提取源文件是一个简单的解压缩问题,然后解压缩:
$ gzip -d httpd-NN.tar.gz
$ tar xvf httpd-NN.tar
这将在包含分发源代码的当前目录下创建一个新目录。cd在继续编译服务器之前,您应该 进入该目录。
下一步是为您的特定平台和个人需求配置Apache源代码树。这是通过使用configure发行要使用所有默认选项配置源树,只需键入./configure。要更改默认选项,请configure接受各种变量和命令行选项。
./configure --prefix=PREFIX
当configure运行它需要几分钟的时间来测试你的系统功能的可用性,并建立稍后被用来编译Makefile文件。
现在,您可以通过简单地运行命令来构建构成Apache包的各个部分:
$ make
请耐心等待,因为基本配置需要花费几分钟的时间进行编译,并且时间会因您的硬件和启用的模块数量而大不相同。
现在可以通过运行以下命令在已配置的安装PREFIX(请参阅--prefix上面的选项)下安装软件包:
$ make install
此步骤通常需要root权限,因为 PREFIX通常是具有受限写入权限的目录。
如果您正在升级,安装将不会覆盖您的配置文件或文档。
接下来,您可以通过编辑自定义您的Apache HTTP服务器的配置文件下 PREFIX/conf/。
$ vi PREFIX/conf/httpd.conf
查看本手册最新版本的Apache手册 PREFIX/docs/manual/或查阅http://httpd.apache.org/docs/2.4/获取有关可用配置指令的完整参考资料。
现在,您可以立即运行以启动 ApacheHTTP服务器:
$ PREFIX/bin/apachectl -k start
然后,您应该可以通过URL请求您的第一个文档http://localhost/。你看到的网页位于DocumentRoot,通常是PREFIX/htdocs/。然后通过运行再次停止服务器:
$ PREFIX/bin/apachectl -k stop
中途有可能会出现其他问题根据实际情况处理问题
如果没有安装APR和APR-Util
具体如下:
安装apr,apr-util
下载apr-1.4.6.tar.gz与apr-util-1.5.1.tar.gz,地址:http://apr.apache.org ,上传至/usr/local,安装目录分别为/usr/local/apr 与/usr/local/apr-util
a.安装apr-1.4.6.tar.gz
[root@localhost local]# mkdir -p apr
[root@localhost local]# tar -zxf apr-1.4.6.tar.gz
[root@localhost local]# cd apr-1.4.6
[root@yahoo apr-1.4.6]# ./configure --prefix=/usr/local/apr
[root@yahoo apr-1.4.6]# make
[root@yahoo apr-1.4.6]# make install
b.安装apr-util-1.5.1.tar.gz
[root@localhost local]# mkdir -p apr-util
[root@localhost local]# tar -zxf apr-util-1.5.1.tar.gz
[root@localhost local]# cd apr-util-1.5.1
[root@yahoo apr-util-1.5.1]# ./configure--prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config
[root@yahoo apr-util-1.5.1]# make
[root@yahoo apr-util-1.5.1]# make install
3.安装pcre-8.20.tar.gz
下载地址:http://sourceforge.net/projects/pcre/files/pcre/ ,上传至/usr/local,安装目录为/usr/local/pcre
[root@localhost local]# mkdir -p pcre
[root@localhost local]# tar -zxf pcre-8.20.tar.gz
[root@localhost local]# cd pcre-8.20
[root@yahoo pcre-8.20]# ./configure --prefix=/usr/local/pcre
[root@yahoo pcre-8.20]# make
[root@yahoo pcre-8.20]# make install
安装apache
1.下载httpd-2.4.3.tar.gz,地址是:http://httpd.apache.org/ ,上传至/usr/local,安装目录为/usr/local/apache2
2.安装
[root@localhost local]# mkdir -p /usr/local/apache2
[root@localhost local]# tar zxvf httpd-2.4.3.tar.gz
[root@localhost local]# cd httpd-2.4.3
[root@localhost httpd-2.4.3]# ./configure--prefix=/usr/local/apache2 --with-pcre=/usr/local/pcre--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
[root@localhost httpd-2.4.3]# make
[root@localhost httpd-2.4.3]# make instll
用浏览器访问http:localhost,看到It works!,说明CentOS Apache安装成功了,恭喜您!
3.启动
第一种方法[root@localhost apache2]# /usr/local/apache2/bin/apachectl start
第二种方法[root@localhostapache2]#service httpd start
第二种方法[root@localhostapache2]#/etc/init.d/httpd start
命令总结整理:
安装APR、APR-Util、PCRE、Apache Http Server
将这些都安装在/usr/local中,先mkdir目录如下:
[root@localhost soft]# mkdir/usr/local/httpd
[root@localhost soft]# mkdir/usr/local/apr
[root@localhost soft]# mkdir/usr/local/apr-util
[root@localhost soft]# mkdir/usr/local/pcre
然后步骤如下(直接顺序复制粘贴):
[root@localhost soft]# tar -zxfapr-1.5.2.tar.gz
[root@localhost soft]# tar -zxfapr-util-1.5.4.tar.gz
[root@localhost soft]# tar -zxfpcre-8.38.tar.gz
[root@localhost soft]# tar -zxfhttpd-2.4.18.tar.gz
[root@localhost soft]# cd apr-1.5.2
[root@localhost apr-1.5.2]# ./configure--prefix=/usr/local/apr
[root@localhost apr-1.5.2]# make
[root@localhost apr-1.5.2]# make install
[root@localhost apr-1.5.2]# cd../apr-util-1.5.4
[root@localhost apr-util-1.5.4]# ./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost apr-util-1.5.4]# make
[root@localhost apr-util-1.5.4]# make install
[root@localhost apr-util-1.5.4]# cd../pcre-8.38
[root@localhost pcre-8.38]# ./configure --prefix=/usr/local/pcre--with-apr=/usr/local/apr/bin/apr-1-config
[root@localhost pcre-8.38]# make
[root@localhost pcre-8.38]# make install
[root@localhost pcre-8.38]# cd ../httpd-2.4.18
[root@localhost httpd-2.4.18]# ./configure--prefix=/usr/local/httpd --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util
[root@localhost httpd-2.4.18]# make
[root@localhost httpd-2.4.18]# make install
配置、启动Apache
1.httpd.conf是主配置文件,你可以按需更改,一般来说可能需要自定义端口,那么就vim修改httpd.conf文件的监听端口,改为你希望的
2.启动、关闭、重启
[root@localhost bin]# ./apachectlstart
[root@localhost bin]# ./apachectlstop
[root@localhost bin]# ./apachectl restart
Apache设置为Linux系统服务,并开机启动
1. 将链接apachectl 复制到系统启动目录下并命名为httpd
[root@localhost bin]# cp /usr/local/httpd/bin/apachectl/etc/rc.d/init.d/httpd
到此,其实已经可以使用service httpd start等命令,但在linux服务列表还没有注册
2. 使用chkconfig来注册apache服务,并其可以在linux的服务列表中看到(chkconfig –list)
在init.d的httpd链接文件中第2行添加如下注释,并wq保存退出
[root@localhost bin]# vim /etc/rc.d/init.d/httpd
可能遇到的问题:
编译makehttpd-2.4.3时有可能报错
解决方案
需要用c++实现解析xml文件的功能使用libxml库,安装libxml
Sudo apt-get install libxml2-dev