Linux9.3 Apache安装
Apache是一个基金会的名字,httpd才是我们要安装的软件包,早期它的名字就叫apache
Apache官网www.apache.org
2.4源码包:wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.33.tar.gz apr: wget http://mirrors.cnnic.cn/apache/apr/apr-1.6.3.tar.gz apr-util: wget http://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.bz2
apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便地移植(从linux移植到windows),2.4依赖apr。区别在于apr
tar zxf httpd-2.4.33.tar.gz tar zxf apr-1.6.3.tar.gz #如果发现无法解压,报错,可能需要安装yum install -y bzip2 tar jxf apr-util-1.6.1.tar.bz2
编译安装apr
cd /usr/local/src/apr-1.6.3 ./configure --prefix=/usr/local/apr make && make install
编译安装apr-util
可以自定义模块安装 cd /usr/local/src/apr-util-1.6.1 ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr make && make install cd /usr/local/src/httpd-2.4.33 ./configure \ //这里的反斜杠是脱义字符,加上它我们可以把一行命令写成多行 --prefix=/usr/local/apache2.4 \ --with-apr=/usr/local/apr \ --with-apr-util=/usr/local/apr-util \ --enable-so \ --enable-mods-shared=most \ --with-included-apr
会报错
configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/. 错误为:apr,apr-util缺失,需要下载并解压到./srclib/目录下 解决办法 # cd /usr/local/src/ # cp -r apr-16.3 /usr/local/src/httpd-2.4.33/srclib/apr # cp -r apr-util-1.6.1/usr/local/src/httpd-2.4.33/srclib/apr-util 再次执行./configure就不会报错,make,make install也不会报错;
httpd核心二进制启动文件
[root@chy002 apache2.4]# du -sh ./bin/httpd 2.2M ./bin/httpd
配置文件
[root@chy002 apache2.4]# ls -l ./conf/httpd.conf -rw-r--r-- 1 root root 18236 3月 2 05:18 ./conf/httpd.conf
默认网站页放到该文件夹下
[root@chy002 apache2.4]# ls htdocs/ index.html
日志,错误日志访问日志
[root@chy002 apache2.4]# ls logs
httpd模块,查看所有模块
[root@chy002 apache2.4]# ls modules/ httpd.exp mod_buffer.so mod_log_config.so mod_rewrite.so mod_access_compat.so mod_cache_disk.so mod_log_debug.so mod_sed.so mod_actions.so mod_cache.so mod_logio.so mod_session_cookie.so mod_alias.so mod_cache_socache.so mod_macro.so mod_session_dbd.so ... ...
[root@chy002 apache2.4]# /usr/local/apache2.4/bin/httpd -M AH00557: httpd: apr_sockaddr_info_get() failed for chy002 AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_event_module (static) authn_file_module (shared) authn_core_module (shared) authz_host_module (shared) authz_groupfile_module (shared) authz_user_module (shared) authz_core_module (shared) access_compat_module (shared) auth_basic_module (shared) reqtimeout_module (shared) filter_module (shared) mime_module (shared) log_config_module (shared) ... ...
其中,shared为扩展模块可在modules/中看到文件,static为固有模块
/usr/local/apache2.4/bin/apachectl 该shell脚本调用了二进制文件httpd
启动脚本,虽然有错误,但是修改配置文件就可以解决
[root@chy002 apache2.4]# /usr/local/apache2.4/bin/apachectl start AH00557: httpd: apr_sockaddr_info_get() failed for chy002 AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message httpd (pid 38293) already running [root@chy002 apache2.4]# ps aux |grep httpd root 38293 0.0 0.2 75520 2276 ? Ss 05:32 0:00 /usr/local/apache2.4/bin/httpd daemon 38294 0.0 0.4 364484 4276 ? Sl 05:32 0:00 /usr/local/apache2.4/bin/httpd daemon 38295 0.0 0.4 364484 4276 ? Sl 05:32 0:00 /usr/local/apache2.4/bin/httpd daemon 38296 0.0 0.4 364484 4276 ? Sl 05:32 0:00 /usr/local/apache2.4/bin/httpd root 38391 0.0 0.0 112676 980 pts/0 R+ 05:43 0:00 grep --color=auto httpd [root@chy002 apache2.4]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1877/master tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 767/sshd tcp6 0 0 ::1:25 :::* LISTEN 1877/master tcp6 0 0 :::3306 :::* LISTEN 1772/mysqld tcp6 0 0 :::80 :::* LISTEN 38293/httpd tcp6 0 0 :::22 :::* LISTEN 767/sshd
想启动不出现这个错误,修改如下
# # If your host doesn't have a registered DNS name, enter its IP address here. # ServerName localhost:80 配置文件中的 ServerName localhost:80 前面注释去掉,把网站名称改为 localhost
安装过程报错:
1. ./configure报错
Configuring Apache Portable Runtime library ...
checking for APR... configure: error: the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file.
解决办法:
下载安装
apr
apr-utils
2.configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
解决办法:yum -y install pcre-devel
可以通过 yum list |grep pcre去搜索,因为报错中提到 libpcre说明是一个库,那么该软件包应该带有devel或者Lib字样。