## 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
~~~
- 前言准备
- Linux新服务器的前期配置
- 认识linux下的Web服务器
- Linux的基本配置
- LNMP一键安装包快速部署web服务器
- LAMP服务器环境部署
- LAMP服务器管理
- LNMP服务器环境部署
- LNMP服务器管理
- lnmp一键安装包-常见问题
- 使用包管理器快速部署环境
- 包管理器快速部署LAMP服务器环境
- 升级php和mysql版本
- 包管理器快速部署LNMP服务器环境
- 使用源码包部署Linux服务器web环境
- 编译LAMP服务器环境部署
- apache安装与配置
- mysql的安装与配置
- PHP的安装与配置
- 编译LNMP服务器环境部署
- nginx服务启动脚本
- 源码安装常见问题
- Centos6与Centos7的区别
- 默认控制系统服务工具不同
- 设置开机启动的方式不同
- 编写service启动脚本
- 编写systemctl启动脚本
- 服务器安全
- 隐藏服务器信息
- Linux服务器防火墙设置
- 防火墙设置脚本
- 邮件发送
- 任务脚本的编写
- 服务器磁盘和服务器健康状态脚本
- 服务器登录报警脚本
- 数据库备份脚本
- 定时任务及应用
- 常见问题
- linux中使用ping命令不同的问题
- Linux中无法发送邮件
- mailx通过ssl方式发送邮件
- Mysql配置文件
- Linux TCP/UDP 常用端口
- Linux常见命令
- 系统信息
- 关机 (系统的关机、重启以及登出 )
- 文件和目录
- 文件搜索
- 挂载一个文件系统
- 磁盘空间
- 用户和群组
- 文件的权限
- 文件的特殊属性
- 打包和压缩文件
- RPM包
- YUM软件包升级器
- DEB 包 (Debian, Ubuntu 以及类似系统)
- APT 软件工具 (Debian, Ubuntu 以及类似系统)
- 查看文件内容
- 文本处理
- 字符设置和文件格式转换
- 文件系统分析
- 初始化一个文件系统
- SWAP文件系统
- 备份
- 光盘
- 网络-(以太网和WIFI无线)
- vi命令
- cut命令 截取
- Mysql
- MySQL备份-增量备与恢复命令实战
- mysqlbinlog
- mysql的安装
- 卸载mysql
- mysql多实例安装
- mysql 常用基础命令操作
- linux安装jdk、rpm安装mysql
- linux制作本地yum源
- shell脚本