Linux系统下的apache服务(apache的安装部署、基础信息的修改、虚拟主机的搭建)
apache的相关概念
企业中常用的web服务,用来提供http://(超文本传输协议)
与apache对应的还有nginx服务
apache:适合动态页面,且比较稳定,同步阻塞
nginx:并发量比apache大,反向代理,静态资源服务器
http服务端口为80端口,https服务端口为443端口
lamp=linux apache mysql php
lnmp=linux nginx mysql php
apache的安装部署
在部署apache之前,记得关闭selinux
部署apache步骤:
yum install httpd -y ##apache的软件 yum install -y httpd-manual ##apache的手册
systemctl start httpd ##开启apche服务 systemctl enable httpd ##使apache开机自启动
firewall-cmd --permanent --add-service=http ##火墙允许httpd firewall-cmd --reload firewall-cmd --list-all
cd /var/www/html ##apache的根目录,默认发布目录 vim /var/www/html/index.html ##apache的默认发布文件 <h1>www.westos.com</h1> ##发布内容为www.westos.com <h1>只是起加粗发布内容字体的作用
测试
在浏览器中输入
http://172.25.254.104(部署apache的主机ip) ##出现默认发布文件中的内容 http://172.25.254.104/manual (出现手册的页面)
安装apache后会在/etc/httpd/目录下生成logs目录,apache的日志,其中有access_log和error_log,企业中一般会对每天的日志进行截断,一方面是为了方便查看,另一方面是因为对于企业来说,每天登录网站的次数庞大,对于日志而言,如果不及时截断,会导致日志文件过大甚至超过内存的大小,这时日志就无法打开,会出现日志一打开电脑就死机的情况
apache的基础信息
/etc/httpd/conf ##主配置目录 /etc/httpd/cond/httpd.conf ##主配置文件 /etc/httpd/conf.d/ ##子配置目录 /etc/httpd/conf.d/*.conf ##子配置文件 /var/www/html ##默认发布目录 index.html ##默认发布文件 80 ##默认端口 httpd_sys_content_t ##默认安全上下文 /etc/httpd/logs/* ##apache日志
修改默认端口
vim /etchttpd/conf/httpd.conf Listen 8080 ##在第43行的位置修改默认端口为8080 systemctl restart httpd
此时浏览器中输入
http://172.25.254.104:8080
会显示unable connect to server ,可能原因有两个:1.apache服务没有开 2.防火墙不允许apache服务 ,查看这两项发现都已经开启,还是无法连接到服务器,是因为此时http的访问端口已经变为了8080,而火墙不允许8080端口的访问
解决方法:
firewall-cmd --permanent --add-port=8080/tcp ##火墙允许8080端口 firewall-cmd --reload
重新测试
http://172.25.254.104:8080
修改默认发布文件
默认发布文件就是访问apache时没有指定文件名时默认访问的文件,这个文件可以指定多个,有访问顺序
vim /etc/httpd/conf/httpd.conf DirectoryIndex westos index.html ##在文件的第164行,当westos不存在时才访问index.html
修改默认发布目录
vim /etc/httpd/conf/httpd,conf DocumentRoot "/westos/html" ##在文件的第i120行,修改默认发布目录为/westos/html <Directory "/westos"> Require all granted </Directory> mkdir /westos/html -p vim /westos/html/index.html ##注意这里建立的文件一定是index.html,这和主配置文件中的默认发布文件有关 ##在文件中写入:tage page systemctl restart 3ff7 httpd
访问控制
vim /var/www/html/index.html <h1>172.25.254.104<h1>
mkdir /var/www/html/westos vim /var/www/html/westos/index.html <h1>test page</h1>
vim /etc/httpd/conf/httpd.conf DocumentRoot "/var/www/html" <Directory "/var/www/html/westos"> ##第120行 Order Allow,Deny ##顺序,先读allow,再deny Allow from All Deny from 172.25.254.104 ##读到deny会覆盖allow </Directory> systemctl restart httpd
测试
在不同的主机的浏览器输入以下网址
http://172.25.254.251/westos
指定用户访问
htpasswd -cm westosuser admin ##建立用户文件westosuser,用户名为admin,第一次生成-c参数 cat westosuser htpasswd -m westosuser admin1 ##不用再加-c,再加-c的话会覆盖前面建立的用户
vim /etc/httpd/conf/httpd.conf <DIrectory "/var/www/html/westos"> AuthUserFile /etc/httpd/conf/westosuser AuthType basic AuthName "Please input your name and password !" Required user admin #Require valid-user </Directory>
测试
http://172.25.254.251/westos
会出现登录界面
Require user admin
Require valid-admin
apache虚拟主机的搭建
访问百度网页时,一个apache对应一个服务资源,但是在目前我们自己搭建的apache服务器中,不同的域名解析出来的是同样的资源。要实现一个apache实现多个域名的资源访问,需要搭建虚拟主机。
操作步骤
1.
vim /etc/hosts ##本地解析 172.25.254.251 www.westos.com www.music.com www.news.com
2.
cd /var/www/html/ vim index.html ##书写默认发布文件 在文件中写入; <h1>www.westos.com</h1> ##这个内容就是访问域名时会出现的内容
在浏览器中输入www.westos.cm www.music.com www.news.com出现的都是相同的内容,没有达到1个apache实现多个资源访问的目的
所以我们进行下面的操作:
3.
mkdir /var/www/virtual/music/html/ -p 在目录下编辑文件 vim index.html ##写入访问时要读取的资源 mkdir /var/www/virtual/news/html/ -p 在目录下编辑文件 vim index.html ##写入访问时要读取的资源
4.如果在上一步做过实验的基础上,要还原主配置文件的设置,并且找到其中的子文件,子文件其实可以和主文件写在一块,只是为了查看和阅读的方便,将子文件单独又列了出去。
IncludeOptions /conf.d/*.conf
5.
cd /etc/httpd/conf.d/
vim default.conf ##自定义文件 在文件中写入 <VirtualHost _default_:80> DocumentRoot /var/www/html CustomLog logs/default.log combined </VirtualHost>
vim news.conf </VirtualHost *.80> ServerName news.westos.com DocumentRoot /var/www/virtual/news/html CustomLog logs/new.log combined </VirtualHost> <Directory "/var/www/virtual/news/html"> Require all granted </Directory>
cp news.conf music.conf ##复制文件内容到music.conf vim music.conf :%s/news/music/g
systemctl restart httpd
测试
在浏览器中输入www.westos.com www.news.com www.music.com 访问不同的资源即可
- 百晓生带你玩转linux系统服务搭建系列----构建虚拟ApacheWeb主机
- 在linux平台上搭建目前企业公司中基于域名,ip以及端口的虚拟主机apache服务!还有
- linux(ccentos7.6)apache服务配置详解(httpd的安装,虚拟主机,访问控制详解)
- linux小白搭建apache服务-基于端口的虚拟主机
- linux小白搭建apache服务-基于ip的虚拟主机
- 在Red Hat Linux5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机
- 云主机Linux系统部署Apache Web服务
- 基于Linux搭建apache服务后,怎么构建web虚拟主机?
- Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因
- 第1章 部署虚拟环境安装linux系统和第2章小节
- RHEL 5服务篇—使用Apache搭建web服务(四)部署AWStats网站分析系统 推荐
- Linux就该这样学—— 第1章 部署虚拟环境安装linux系统。
- CentOS 5.2,Linux 2.6+ 内核 ,Apache+MySQL+PHP 安装及基本配置过程记录 && 将apache安装为系统服务
- Web服务基础三之Apache虚拟主机、虚拟目录配置
- Linux(CentOS)系统下安装好apache(httpd)服务后,其他电脑无法访问的原因
- kali linux攻击机及windowsXp/Metasploit_linux靶机安装及在此基础上的蜜罐系统搭建(下)
- Ubuntu Linux Apache虚拟主机的安装配置
- 部署虚拟环境,安装Linux系统(20190706)
- RHEL 5服务篇—使用Apache搭建web服务(三)构建web虚拟主机
- RHEL 5服务篇—使用Apache搭建web服务(四)部署AWStats网站分析系统