前言
Linux是一种自由开源的操作系统,广泛应用于服务器和嵌入式系统。Apache是一个开源的Web服务器软件。在Linux上搭建Web服务器的步骤如下:
1. 安装Linux操作系统。
2. 安装Apache软件包。
3. 配置Apache,包括监听端口、默认主页、虚拟主机等。
4. 启动、停止和重启Apache服务。
5. 将网站文件或应用程序放置在适当的目录下,并设置网站的配置文件。
通过以上步骤,您可以在Linux上建立起一个Apache Web服务器,用于托管网站或应用程序。
一、概述
Apache的作用概述: web服务器提供者,web中间件 、能够提供html文本文档的传输 、传输协议是http/https协议 其默认端口:80/443
二、Apache的安装
1.安装方法
1)yum安装
第一步: 关闭网络图形管理工具
systemctl stop NetworkManager && systemctl disable NetworkManager
第二步: 重新读取网络配置文件
ifdown ens33 && ifup ens33
第三步:
yum install httpd -y
2)编译安装
步骤
配置 ./configure
编译 make
安装 make install
编译安装的卸载只需要删除对应的安装目录
2.编译安装
下面我以编译安装为例进行安装
1)收集适合操作系统的Apache软件包 网址Download - The Apache HTTP Server Project
2)查看是否安yum安装了httpd如果安装了就卸载
3)编译安装Apache
把下载好的源码包拖入终端
把源码包移动到当前目录并解压进入到解压后的文件进行安装
安装时会出现错误我们按照提示依次安装依赖,之后继续安装(此过程要重复多次直到不报错)
之后输入make && make install ,他会自动创建目录,安装完成
4)优化命令路径
ln -s /usr/local/apache2/bin /usr/sbin
5)优化启动服务管理
cp /usr/local/apache2/bin/apachectl /etc/init.d/apached
vim /etc/init.d/apached
,可以看到配置文件
我们在第二行写入(运行等级)
,保存退出。输入
chkconfig --add /etc/init.d/apached
查看一下是否支持
可以使用systemd管理
systemctl start apached
开机自启
chkconfig --level 35 apached
三、目录结构
1.yum安装
/etc/httpd 安装主目录
conf.modules.d 模块加载配置文件存储目录 conf.d conf目录的附属目录 conf 主配置文件存储目录(修改配置文件之前一定要备份!!!) httpd.conf ServerRoot "/etc/httpd" 服务安装根目录 Listen 80 监听端口 Include conf.modules.d/*.conf 引用外部配置文件到当前文件中 User apache运行账户 Group apache 运行组 ServerName www.example.com:80 可用域名 DocumentRoot "/var/www/html" 网页文档根目录 DirectoryIndex index.html 默认访问首页
/usr/sbin 命令目录
/var/log/httpd日志目录
日志级别:debug, info, notice, warn, error, crit,alert, emerg
日志类型:访问日志access_log、 错误日志error_log
/var/www/html网页源码存放目录
/run/httpd PID存储目录
/usr/share/doc/httpd-2.4.6模板配置文件
httpd-vhosts.conf 虚拟主机头配置文件
2.编译安装
/usr/local/apache2
配置文件 conf
extra httpd-vhosts.conf 虚拟主机头配置
httpd.conf 主配置其中代表的是:
ServerRoot "/usr/local/apache2 服务安装根目录
Listen 80 监听端口
Include conf.modules.d/*.conf 引用外部配置文件到当前文件中
User daemon 运行账户
Group daemon 运行组
ServerName www.example.com:80 可用域名
DocumentRoot "/usr/local/apache2/htdocs" 网页文档根目录
DirectoryIndex index.html 默认访问首页
四、虚拟主机头配置
1.基本配置
yum安装
(1)
mkdir /etc/httpd/extra
(2)
cp /usr/share/doc/httpd-2.4.6/httpd-vhosts.conf /etc/http/extra
(3)
vim /etc/httpd/conf/httpd.conf在文件末尾追加: IncludeOptional extra/*.conf
(4)将htpd.conf中Listen 80 注释掉
在httpd-vhosts.conf中加入:Listen 80
编译安装
(1)vim /usr/local/apache2/conf/httpd.conf中去掉注释:
Include conf/exta/httpd-vhosts.conf
(2)将htpd.conf中Listen 80 注释掉
在httpd-vhosts.conf中加入:Listen 80
2.实现方式
基于不同的端口号
1)编辑我们的配置文件 之后再输入我们需要监听的端口 例如: Listen 80 Listen 81
vim /usr/local/apache2/conf/extra/httpd.vhosts.conf
2)通过上面的操作我们的文件还是没有被加载,所以我对主配置文件进行操作
vim /usr/local/apache2/conf/httpd.conf
找到我们主机头的配置文件目录将注释删除(如图),这样就可以读取我们之前修改的文件了
3)通过上面的操作后我们就可以在主机头配置文件中根据需要配置我们的虚拟主机了
vim /usr/local/apache2/conf/extra/httped-vhosts.conf
其中他们的含义分别是
(描述的监听端口)
ServerAdmin webmaster@dummy-host.example.com(当前你的管理员)
DocumentRoot "/usr/local/apache2/docs/dummy-host.example.com"(默认访问的位置)
ServerName dummy-host.example.com(名称)
ServerAlias www.dummy-host.example.com(别名可以多个也可以注释)
ErrorLog "logs/dummy-host.example.com-error_log"(错误日志,最好设置名称用来区别)
CustomLog "logs/dummy-host.example.com-access_log" common(访问日志,最好设置名称用来区别)
建立不同的访问位置 如:
ServerAdmin web1admin.ex.com
DocumentRoot "/var/www/web1"
ServerName web1.ex.com
ServerAlias web01.ex.com
ErrorLog "/var/log/httpd/web1.error_log"
CustomLog "/var/log/httpd/web1.access_log" common
ServerAdmin web2admin.ex.com
DocumentRoot "/var/www/web2"
ServerName web2.ex.com
ServerAlias web02.ex.com
ErrorLog "/var/log/httpd/web2.error_log"
CustomLog "/var/log/httpd/web2.access_log" common
基于不同的域名
cd /etc/httpd/extra 在编辑vim httpd-vhosts.conf
Listen 80
如:
ServerAdmin web1admin.ex.com DocumentRoot "/var/www/web1" ServerName web1.ex.com ServerAlias web01.ex.com ErrorLog "/var/log/httpd/web1.error_log" CustomLog "/var/log/httpd/web1.access_log" common ServerAdmin web2admin.ex.com DocumentRoot "/var/www/web2" ServerName web2.ex.com ServerAlias web02.ex.com ErrorLog "/var/log/httpd/web2.error_log" CustomLog "/var/log/httpd/web2.access_log" common
基于不同的IP地址
cd /etc/httpd/extra/
编辑
vim httpd.vhosts.conf
输入
Listen 192.168.115.128:80 Listen 192.168.115.135:80
配置多地址
(1) 修改ens33的配置文件
IPADDR1=192.168.115.128 PREFIX1=24 IPADDR2=192.168.115.135 PREFIX2=24
(2)利用ens33的子接口实现
临时
ifconfig ens33:0 192.168.115.136/24
永久
cd /etc/sysconfig/network-scripts/ cp ifcfg-ens33 ifcfg-ens33:1 vim ifcfg-ens33:1
五、配置文件的检查语法
httpd -t -f /usr/local/apache2/conf/httpd.conf
六、配置https访问
yum安装:
httpd-vhosts.conf内容全部注释
yum install -y mod_ssl cd /etc/httpd/conf.d/
证书存储目录
/etc/pki/tls vim ssl.conf systemctl restart httpd
七、访问测试
curl返回结果为html的源码 curl -I(大写i) 返回响应头
例如:firefox https://192.168.115.128
按住ctrl + F5 深度刷新,忽略本地的浏览器缓存