多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## Apache 的安装与配置 > 安装前将当前路径切换到,源码包所在目录 ### 1. 解压apache源码包,并进入apache源码包目录 ~~~ tar -zxvf ./httpd-2.4.28.tar.gz # 解压 cd httpd-2.4.28 切换目录 ~~~ ### 2. 安装apache 在apache的源码包目录中,有INSTALL这么一个文件,这个文件中有相关的安装说明。可以参考一下。 ![](https://box.kancloud.cn/8797d7b9dea206c84f178dda0222c4c5_1209x389.png) 配置安装选项: ~~~ ./configure --prefix=/usr/local/apache --enable-so ~~~ 在配置时,报了如下错误 ![](https://box.kancloud.cn/7f505584698693b25bde11317ec71877_1123x443.png) 是因为缺少依赖库apr的原因,在这里使用yum快速安装一下,当然也可以直接使用源码进行安装。 ~~~ yum install -y apr ~~~ 再次运行./configure --prefix=/usr/local/apache --enable-so 仍然报如下错误: ![](https://box.kancloud.cn/1b42e3e8331e7e1e540dd268b8ad6872_1229x525.png) > 根据提示,不难发现,是因为apr的版本过低造成的。所以在下载apr源码包,重新安装。 > 下载地址:http://apr.apache.org/download.cgi > 在这里,咱们把 apr-1.6.3.tar.gz和apr-util-1.6.1.tar.gz 都下载安装一下,安装目录都放在/usr/local中。 在这里由于arp与apr-util是手动安装的,所以需要在apache的配置参数中,手动配置一下 `./configure --prefix=/usr/local/apache --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util ` 到这里可能还会提示缺少依赖包pcre,根据提示到 http://pcre.org/ 网站上进行下载 下载地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.41.tar.gz 下载安装后,调整apache的配置参数 ~~~ ./configure --prefix=/usr/local/apache --enable-so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre ~~~ 编译 ~~~ make ~~~ 在编译过程中,出现警告,不影响正常安装,但是不能出现错误!最好使用echo $? 查看一下,如果输为0,就可以正常安装。 在这里如果编译出错后,可以使用如下命令重新编译 ~~~ make clean make ~~~ 安装 ~~~ make install ~~~ 到这里就apache就安装完成了 #### 启动 apache >[success]源码包中,给的有如何启动 ~~~ /usr/local/apache/bin/apachectl start ~~~ ![](https://box.kancloud.cn/1e13f745260178cb391c37f26a8683c2_420x144.png) 在启动时,会出现如下提示: ![](https://box.kancloud.cn/53854616d16762d7eea853d36fae440f_1021x138.png) > 这个提示,并不影响apache的正常启动,只所以会出现这个提示,是因为配置文件中没有配置ServerName,打开设置一下即可,后面会讲到。 ### 3. 配置apache 在这里先做一些基本的配置, > 用户和用户组 > 启动脚本 > 开机启动 > 设置站点目录 #### 用户和用户组 在这里,使用默认的也可以,建议修改,先打开配置文件,看一下默认用户和用户组 ![](https://box.kancloud.cn/dc6abbb2089689ed3658b87d98961e40_578x446.png) User daemon Group daemon表示apache运行时的用户及组,在这里咱们修改一下 ### 1. 创建用户 ~~~ groupadd apache # 创建一个组 useradd apache -s /sbin/nologin -g apache#创建一个用户 ~~~ 修改配置文件 ~~~ User apache Group apache ~~~ 这里重启 apache 即可 ~~~ /usr/local/apache/bin/apachectl restart ~~~ 此时,可以通过以下两条命令查看,apache当前的运行用户 ~~~ ps -u apache # 查看apache用户运行的程序 或 ps -aux |grep httpd 查看 系统中httpd进程 ~~~ ![](https://box.kancloud.cn/7928f1ec626372af561e5c1055741c2d_980x430.png) ### 2. 启动脚本 > 在这里启动脚本并不是非必须的,而是为了后期服务器维护的方便。在这里,咱们配置成,service httpd start 这种的方式来管理apache 在这里启动脚本你可以自己写,也可以直接复制 /usr/local/apache/bin/apachectl。 首先复制 apachectl 文件到 /etc/init.d中 并命名为:httpd(可自定义) ~~~ cp /usr/local/apache/bin/apachectl /etc/init.d/httpd ~~~ 这里就可以直接使用 service httpd restart 进行重启apache了。 ### 3. 开机启动 将apache设置为系统服务,同时设置开机启动 ~~~ # 增加服务 chkconfig --add httpd #添加到系统服务 chkconfig httpd on #设置开机启动 ~~~ 这里会提示如下错误: ![](https://box.kancloud.cn/2405f52c4908bd4e45e2e5ad9deb8a64_714x139.png) 【解决办法】 修改你的vim /etc/init.d/httpd脚本 在开始处#!/bin/bash之后的行后插入 ~~~ # chkconfig: 345 61 61 # description:Apache httpd ~~~ ![](https://box.kancloud.cn/343b947a7cf04256fd5886478b46bc8d_634x334.png) 再重新执行: ~~~ chkconfig --add httpd #添加到系统服务 chkconfig httpd on #设置开机启动 ~~~ ### 4. 设置站点目录 apache 安装后,默认站点目录在,安装目录中的htdocs,在这里咱们把站点目录设置到/var/www中。 ~~~ #创建站点目录,/var/www mkdir /var/www ~~~ 设置www目录的所属用户和组 ~~~ chown -R apache:apache /var/www ~~~ 修改apache的配置文件 ~~~ # 如果没有vim命令可以安装一下或者使用vi代替 vim /usr/local/apache/conf/httpd.conf ~~~ ![](https://box.kancloud.cn/c34aab6540ea7fe5402b77b91c73813d_629x618.png) 这里需要做如下修改 ~~~ 将 #ServerName www.example.com:80 改为: ServerName localhost:80 将 <Directory /> AllowOverride none Require all denied </Directory> 改为 <Directory /> AllowOverride none Require all denied Allow from all </Directory> ~~~ ![](https://box.kancloud.cn/42f2d31b1660f4befffba45051fa5720_774x288.png) 这里是设置管理员邮箱的,可以不做设置 ![](https://box.kancloud.cn/26c31c0875c4f2c54b0768c61ee5eb93_745x226.png) 这里需要做一下修改把这里的目录修改为: ~~~ DocumentRoot "/var/www" <Directory "/var/www"> ~~~ ![](https://box.kancloud.cn/c13af1894bbb2443f03d81388bb7ef95_805x206.png) 这个是虚拟主机(站点)配置文件,在这里咱们把站点配置文件放在/usr/local/apache/conf/vhosts目录中,。在这里配置文件需要做如下调整, ~~~ mkdir /usr/local/apache/conf/vhosts # 创建vhosts目录 # Virtual hosts #Include conf/extra/httpd-vhosts.conf Include conf/vhosts/*.conf ~~~ 测试: 准备一个域名并做好本地解析: www.test.com 192.168.3.24 创建站点目录:www.test.com ~~~ mkdir /var/www/test.com ~~~ 创建测试文件 #vim /var/www/test.com/index.html 随意输入一些测试内容 创建站点配置文件 >[success]可以复制conf/extra/httpd-vhosts.conf到conf/vhosts/test.com.conf 并做相应的修改 ~~~ cd /usr/local/apache/conf cp extra/httpd-vhosts.conf vhosts/test.com.conf ~~~ ![](https://box.kancloud.cn/6466c3de48344b5b4f9d242fe3d5fa46_1054x306.png) 将以上内容做如下修改: ~~~ <VirtualHost *:80> ServerAdmin test@163.com DocumentRoot "/var/www/test.com" ServerName www.test.com ServerAlias test.com ErrorLog "logs/dummy-host.example.com-error_log" CustomLog "logs/dummy-host.example.com-access_log" common </VirtualHost> ~~~ 保存重启apache ~~~ service httpd restart ~~~