额,先心痛一下我安装apache的经历,基本上该遇到的问题都遇着了,安装部分我简单明了一点,重点是解决安装遇到的问题
首先声明:安装apache有两种方法,其中
yum install httpd
相对简单,这里是对另外一种手动安装方式进行详解。
第一步:下载apache安装包并解压(后面下载的文件统一下载到/usr/local/下面)
http://httpd.apache.org/download.cgi
wget http://mirrors.shu.edu.cn/apache//httpd/httpd-2.4.37.tar.gz
tar -zxf httpd-2.4.37.tar.gz
第二步:创建apache的待安装目录(创建在usr/local/下面)
mkdir apache
第三步:下载依赖包apr-1.6.5.tar.gz 并解压(解压到usr/local/下),再创建待安装目录(创建在usr/local/下面)
http://apr.apache.org/download.cgi
wget http://10.10.9.238/files/218000000038C54A/mirror.bit.edu.cn/apache//apr/apr-1.6.5.tar.gz
tar apr-1.6.5.tar.gz
mkdir apr
第四步:安装apr-1.6.5
[root@hexu local]# cd apr-1.6.5
[root@hexu apr-1.6.5]# ./configure --prefix=/usr/local/apr
[root@hexu apr-1.6.5]# make
[root@hexu apr-1.6.5]# make install
第五步:下载依赖包apr-util-1.6.1.tar.gz 并解压,创建待安装目录
http://apr.apache.org/download.cgi
[root@hexu local]# wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
[root@hexu local]# tar -zxf apr-util-1.6.1.tar.gz
[root@hexu local]# mkdir apr-util
第六步:安装apr-util-1.6.1.tar.gz
[root@hexu local]# cd apr-util-1.6.1
[root@hexu apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util-1.6.1 --with-apr=/usr/local/apr
[root@hexu apr-util-1.6.1]# make
[root@hexu apr-util-1.6.1]# make install
**注意,这里在用make编译的时候会报错,如果报错,就是少了一个expat库,安装一下就行,报错内容是,这里仅展示部分错误:
xml/apr_xml.c:35:19: error: expat.h: No such file or directory
xml/apr_xml.c:66: error: expected specifier-qualifier-list before ‘XML_Parser’
xml/apr_xml.c: In function ‘cleanup_parser’:
xml/apr_xml.c:364: error: ‘apr_xml_parser’ has no member named ‘xp’
xml/apr_xml.c:365: error: ‘apr_xml_parser’ has no member named ‘xp’
解决方法:安装库
yum install expat-devel
第七步:下载pcre-8.42.tar.gz 并解压,创建待安装目录
https://sourceforge.net/projects/pcre/files/ (注意要不要下载pcre2开头的)
[root@hexu local]# wget https://nchc.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.tar.gz
[root@hexu local]# tar pcre-8.42.tar.gz
[root@hexu local]# mkdir pcre
第八步:安装pcre-8.42
[root@hexu local]# cd pcre-8.42
[root@hexu pcre-8.42]# ./configure --prefix=/usr/local/pcre
[root@hexu pcre-8.42]# make
[root@hexu pcre-8.42]# make install
第九步:如果是新系统,还需要安装一些包,不然后面安装apache会包一连串的错误:
yum -y install gcc
yum -y install openssl
yum -y install openssl-devel
yum -y install curl
yum -y install curl-devel
yum -y install bzip2
yum -y install bzip2-devel
其中:这里具体这些包啥子用处我也不太清除啦,可以仅供参考,遇到问题的时候在来下载也行。
第十步:进入高潮,安装apache
[root@hexu local]# cd httpd-2.4.37
[root@hexu httpd-2.4.37]# ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-rewirte --enable-ssl --enable-cgi --enable-cgid--enable-modules=most --enable-modules-shared=most --enable-mpms-shared=all --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
[root@hexu local]# make
[root@hexu local]# make install
这里要注意了:如果编译过程出错,报错部分内容如下:
make[2]: [htpasswd] 错误 1
make[2]: 离开目录“/usr/local/src/httpd-2.4.27/support”
make[1]: [all-recursive] 错误 1
make[1]: 离开目录“/usr/local/src/httpd-2.4.27/support”
make: *** [all-recursive] 错误 1
解决方法:
(1)在configure后加上 “--with-included-apr”。再重新编译, make, make install. 即可。
(2)如果在添加上述语句后又报错,内容如下:
configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.
解决方法:
将解压后的apr-1.6.5、apr-util-1.6.1、pcre-8.42这三个文件拷贝到/usr/local/httpd-2.4.37/srclib/下 :具体操作如下:
[root@hexu local]# cp apr-1.6.5 /usr/local/httpd-2.4.37/srclib/apr
[root@hexu local]# cp apr-util-1.6.1 /usr/local/httpd-2.4.37/srclib/apr-util
[root@hexu local]# cp pcre-8.42 /usr/local/httpd-2.4.37/srclib/pcre
解决完后,在重新编译apache及httpd-2.4.37,make && make install ,没啥问题就OK了
第十一部:相关命令:
apache默认占用80端口,所以如果有应用占用80这个端口,就要注意会存在端口冲突问题。
•启动Apache:/usr/local/apache/bin/apachectl start
•停止Apache:/usr/local/apache/bin/apachectl stop
•重启Apache:/usr/local/apache/bin/apachectl restart
第十二步:测试
启动Apache:/usr/local/apache/bin/apachectl start
附图一张看效果:
最后:一般安装步骤就这几个,问题差不多也就这些,有新问题欢迎讨论~~
后续会发apache相关配置的文章。