采用编译安装,所有命令都在root下操作
第一步,下载好需要的httpd安装包,把它拖进root目录下载路径为http://httpd.apache.org/download.cgi
记得检查下是不是安装过httpd如果有,先删除了,不然会端口冲突
第二步,配置yum源仓库
mkdir /media/cdrom/ #挂载centos7镜像
mount /dev/cdrom /media/cdrom/ # 新建dev下的cdrom文件加 把刚刚的镜像挂载到这里
cd /etc/yum.repos.d/ #进入yum源文件夹
mkdir bak #新建一个bak文件夹做备份文件夹
mv C* bak/ #把当前目录所有C开头的文件都剪切进bak文件夹
cp bak/Centos-Media.repo ./ #在把bak里面的media配置文件拷到当前目录
vi CentOS-Media.repo #用vi编辑器修改配置中文件
把20行的enabled=0改成1
然后清理下yum源缓存,避免出现各种报错
yum clean all #清理元数据缓存
在新建一个元数据缓存
yum makecache #新建元数据缓存
这里如果报错检查yum源
到此,yum源配置完成。
第三步,安装httpd服务
先安装httpd所需的依赖包
#安装gcc gcc-c++ make apr-util-devel pcre-devel 这一步如果报错也检查yum源
yum install -y gcc gcc-c++ make apr-util-devel pcre-devel
然后解压httpd安装包
cd #回到root根目录
tar zxvf httpd-2.4.50.tar.gz -C /usr/src #解压httpd包到/usr/src目录
基本所有第三方安装包都解压到这个目录,如果报错,看一下root家目录里面是不是没有httpd安装包。
然后进去解压目录
cd /usr/src/httpd-2.4.50 #进到解压目录
查看当前系统的环境是否能够安装该软件
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
--enable-rewrite启用地址重写功能
--enable-so启用动态加载模块
--enable-charset-lite启用字符集功能
--enable-cgi启用cgi的脚本程序
然后检查下这条命令有没有问题
echo $? #检查上条命令是否正常
然后编译安装
make && make install
#make是编译的意思。就是把源码包编译成二进制可执行文件
#make install 就是安装的意思。
#&&是与,||是或
如果报错检查依赖包有没有安装成功。
没有报错就进入安装目录看下有没有安装成功
cd /usr/local/httpd/ #进入安装目录
bin #存放各种执行文件,包括主程序
conf #存放各种配置文件
htdocs #存放网页文件
logs #存放httpd服务的日志文件
modules #存放各种模块文件
cgi-bin #存放各种CGI程序文件
然后优化执行路径,因为编译安装的httpd服务,程序不在默认的搜索路径,为相关程序添加软连接,可以使用方便。
ln -s /usr/local/httpd/bin/* /usr/local/bin/ #创建软连接
ls -l /usr/local/bin/httpd /usr/local/bin/apachectl #查看软连接是否创建成功
创建httpd服务文件
cd /lib/systemd/system/ #进入目录
vi httpd.service #创建服务文件
#[Unit]是定义启动顺序
#[service]是定义启动
#TYpe=forking 是启动方式为后台启动
#PIDFILE是定义进程文件,后面是存放路径
#ExecStart是用什么命令启动起来的后面是命令
#ExecReload是加载方式 这里是先kill掉进程在启动
#【install】是指定安装的配置文件以及设置,完成开机自启动
然后让上面的配置文件生效
systemctl daemon-reload #让配置文件生效
systemctl enable httpd #设置开机自启
然后修改HOSTS文件 进行主机映射,可以通过使用域名访问网站主机
vi /etc/hosts #修改hosts文件
到此,httpd服务安装完成。
httpd服务器基本配置流程
1确定网站名字和IP地址
2配置并启动httpd服务
3部署网页文档
4在客户机中访问Web站点
5查看Web站点访问情况
第四步,来配置httpd配置文件
cd /usr/local/httpd/conf/ #进去配置目录
动配置文件前一定要备份下,避免出问题了解决不了被kill了
cp /usr/local/httpd/conf/httpd.conf{,.bak} #备份配置文件到当前目录,命名为.bak
然后修改配置文件
vi httpd.conf #用vi编辑器打开httpd配置文件
:set nu #出现行号
这里暂时只修改一个域名 配置文件的202行 ServerName这里设置成你需要的域名
:wq #修改后保存退出配置文件
然后对比下和备份文件的不同处
diff httpd.conf httpd.conf.bak #diff可以对比两个文件
然后检查下配置文件有没有问题
apachectl -t #检查配置文件有没有问题
这里出Syntax OK不保证一定没问题,但是不出OK是一定有问题的
然后启动httpd服务
systemctl start httpd #启动httpd服务
如果起不来检查httpd.conf配置文件
systemctl status httpd #检查下是否启动
如果这个进程是死的或者启动失败,还是检查配置文件吧
netstat -anpt |grep httpd #检查端口号 有没有启用
到此httpd配置文件完,可以看到已经可以通过火狐浏览器访问刚刚设置的域名了
第五步,构建虚拟主机
虚拟web主机,在一台服务器中运行多个Web站点,其中每一个站点并不独立占用一台计算机
httpd支持的虚拟主机有三种类型,基于ip的虚拟主机,基于域名的虚拟主机,基于端口的虚拟主机。这次用搭建域名的虚拟主机。
1.准备站点文件。
设置两个不同的测试目录,
mkdir -p /var/www/html/aptech #创建测试目录
mkdir -p /var/www/html/aptech2 #创建第二个测试目录
然后创建两个测试文件分别放到两个目录。
echo "<h1>www.aptech.com<h1>" > /var/www/html/aptech/index.html
#创建第一个测试文件
echo "<h1>www.aptech2.com<h1>" > /var/www/html/aptech2/index.html
#创建第二个测试文件,也可以分别进入各自目录用vi编辑器创建,注意下命名要用index.html
然后用查看两个文件是否正常创建
cat aptech/index.html #查看第一个文件
cat aptech2/index.html #查看第二个文件
不要按照图片打命令,注意下路径
2.修改虚拟主机配置文件
cd /usr/local/httpd/conf/extra/ #进去配置文件目录
vi httpd-vhosts.conf #修改配置文件
这里暂时只修改一个域名 配置文件的25行 ServerName这里设置成你需要的域名