linux搭建web服务器原理,【LINUX】linux搭建web服务器
linux httpd
假设服务器地址为192.168.80.20/241.将准备安装的httpd软件包共享给everyone,
(1)在linux上mount.cifs //真机IP地址/共享文件夹名/media /
ls /meidia/查看
tar xjvf httpd-2.4.10.tar.bz2 -C /usr/src解压至/usr/src下
下面两个插件是httpd2.4以后的版本所需要的
http://ftp.jaist.ac.jp/pub/apache/apr/apr-1.4.6.tar.gz
wgethttp://ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.4.1.tar.gz
下载上面两个软件解压后复制到httpd的srclib解压目录中(不带版本号)
tar xzvf apr-1.4.6.tar.gz -C /opt
tar xzvf apr-util-1.4.1.tar.gz -C /opt
cd /opt
cp -r apr-1.4.6 /usr/src/httpd-2.4.10/srclib/apr
cp -r apr-util-1.4.1 /usr/src/httpd-2.4.10/srclib/apr-util
(2)安装编译语言工具
yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel
(3)cd /usr/src/httpd-2.4.10/
输入以下脚本(配置需求)
./configure \
--prefix=/usr/local/apache\
--enable-so \
--enable-rewrite \
--enable-mods-shared=most\
--with-mpm=worker\
--disable-cgid \
--disable-cgi
(参数解释:
--prefix= //来指定安装路径
--enable-so //该参数表示支持用mod_so模块提供的功能,用LoadModule在httpd.conf文件或包含的conf文件中动态加载某个模块。让Apache可以支持DSO模式
--enable-rewrite //支持URL重写
--enable-mods-shared=most //选项:告诉编译器将所有标准模块都动态编译为DSO模块。
--with-mpm=worker//让apache以worker方式运行
--with-mpm=worker //该参数是配置apache将以何种模式编译的。Apache网站文档指出不同操作系统下的不同的默认模式.
--disable-cgid //禁止用一个外部CGI守护进程执行CGI脚本
--disable-cgi //禁止编译CGI版本的PHP)
安装如无报错,输入make(编译)
安装如无报错,再输入make install(完成安装)
(4) grep -v "#" /usr/local/apache/bin/apachectl > /etc/init.d/httpd
vi/etc/init.d/httpd
在文件最前面插入下面的行,使其支持chkconfig命令:
#!/bin/sh
# chkconfig: 2345 85 15
# description: Apache is a World Wide Web server.
第一行4个数字参数意义分别为:哪些Linux级别需要启动httpd(2,3,4,5);启动序号(85);关闭序号(15)。
chmod +x /etc/init.d/httpd添加执行权限
chkconfig --add httpd
注如果在/etc/init.d/apache不编辑这个# chkconfig: 2345 85 15内容的话,就没法用chkconfig--add来添加apache这个服务的
chkconfig --listhttpd查看启动项
(5) vi /usr/local/apache/conf/httpd.conf
ServerName s01.rhel.com
Listen网卡IP地址:80
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf做软链接
/etc/init.d/httpd start/stop启动/停止
配置文件位置: /usr/local/apache
cat /usr/local/apache/htdocs/index.html查看默认文档
2.匿名访问虚拟目录
(1)vi /usr/local/apache/conf/httpd.conf
在末尾加上
Include /usr/local/apache/conf/conf.d/*.conf
保存。
(2)cd /usr/local/apache/conf/conf.d
vi vdir.conf
输入以下内容
Alias /ic/ "/var/www/icons/"虚拟目录对应物理路径
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny白名单
Allow from all允许所有人访问
Require all granted给目录授权
保存。
/usr/local/apache/bin/httpd -k start启动web服务
可以在浏览器上输入//192.168.80.20/ic/访问虚拟目录
3.需要身份验证的虚拟目录
vi /usr/local/apache/conf/conf.d/vdir.conf
在原有的语句末尾加入以下一段:
Alias /share/ "/usr/share/doc/"
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AuthName "hello"
AuthType Basic设置认证的类型,basic为基本的认证
AuthUserFile /usr/local/apache/user 设置用于保存用户账号、密码的认证文件路径require valid-user 要求只有认证文件中的合法用户才能访问。valid-user表示所有合法用户
#Require all grante
保存
添加有访问权限的用户
./htpasswd -c /usr/local/apache/user test增加test用户,第一次要加-c
./htpasswd /usr/local/apache/user jack增加jack用户,不需要加-c
/usr/local/apache/bin/httpd -k restart重启服务
这是,访问\\192.168.80.20\share\的时候,就需要使用test或者jack用户来验证。
4.虚拟主机
搭建好DNS
1、全局配置文件
vi /etc/named.conf
options {
listen-on port 53 { 192.168.80.11; };
allow-query { any; };
}
2、区域配置文件
vi /etc/named.rfc1912.zones
zone "benet.com" IN {
type master;
file "benet.com.zone";
allow-update { none; };
};
zone "accp.com" IN {
type master;
file "accp.com.zone";
allow-update { none; };
};
3、区域数据配置文件
# vi /var/named/benet.com.zone
$TTL 1D
@ IN SOA @ admin(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H) ; minimum
NS @
A 192.168.80.20
www A 192.168.80.20
# vi/var/named/accp.com.zone
$TTL 1D
@ IN SOA @ accp(
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H) ; minimum
NS @
A 192.168.80.20
www A 192.168.80.20
(1)基于域名,准备搭建www.benet.com和www.accp.com两个网址,IP均为192.168.80.20 .
cd /usr/local/apache/conf/conf.d
vi vhost.conf
输入以下脚本:
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /opt/benet/主页物理路径
ServerName www.benet.com域名
ErrorLog logs/bjxh.com-error_log错误日志地址
CustomLog logs/bjxh.com-access_log common
授权目录
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny白名单
Allow from all
Require all granted
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /opt/accp/
ServerName www.accp.com
ErrorLog logs/xhce.com-error_log
CustomLog logs/xhce.com-access_log common
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
(或者直接为/opt/授权
AllowOverride None
Options None
Require all granted
)
准备两个主页,放在/opt/下
cd /opt/
mkdir benet
mkdir accp
echo “
this is benet
> /opt/benet/index.html
echo “
this is accp
> /opt/accp/index.html
/usr/local/apache/bin/httpd -k restart重启服务
这时候,在浏览器上输入www.benet.com或者www.accp.com的时候就可以分别访问两个主页了.
(2)基于端口(比较少用)
vi /usr/local/apache/conf/conf.d/vhost.conf
将原内容改为:
Listen 192.168.80.11:8080
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
ServerAdminwebmaster@dummy-host.example.com
DocumentRoot /opt/benet/
ServerName www.benet.com
ErrorLog logs/benet.com-error_log
CustomLog logs/benet.com-access_log common
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
ServerAdminwebmaster@dummy-host.example.com
DocumentRoot /opt/accp/
ServerName www.accp.com
ErrorLog logs/accp.com-error_log
CustomLog logs/accp.com-access_log common
红字为跟以上不同的地方
保存,重启服务。
这时候,访问www.benet.com和www.accp.com:8080可以分别访问两个主页
linux搭建web服务器原理,【LINUX】linux搭建web服务器相关推荐
- 【Linux】Shell运行原理及Linux权限的概念
文章目录 一.Shell运行原理 二.Linux权限的概念 1)Linux中的用户 2)Linux权限管理 1.文件访问者的分类(人) 2.文件的权限(事物属性) ① 文件类型 ② 文件基本权限 ④ ...
- 【WebRTC---入门篇】(五)Web服务器原理与Nodejs搭建
Web服务器工作原理 Nodejs工作原理 首先自己开发的APPLICATION(自己开发的JS程序)输出给V8引擎,解析后的二进制文件调用NODE API,然后调用LIBUV事件处理库(插入到事件队 ...
- Samba服务器原理及实验搭建(匿名共享,用户认证,权限设置,IP限制,目录挂载,桌面运维)
本文目录 Samba服务器概念与原理 一.引子 二.samba原理及基本概念 三.samba共享实验搭建(匿名共享,用户认证,权限设置,IP限制,目录挂载,桌面运维) Samba服务器概念与原理 一. ...
- linux跟踪内存检测原理,wooyun/Linux下基于内存分析的Rootkit检测方法.html at master · exitmsconfig/wooyun · GitHub...
Linux下基于内存分析的Rootkit检测方法 - 路人甲 原文地址:http://drops.wooyun.org/tips/4731 0x00 引言 某Linux服务器发现异常现象如下图,确定被 ...
- linux取消线程的原理,浅析 Linux 进程与线程
简介 进程与线程是所有的程序员都熟知的概念,简单来说进程是一个执行中的程序,而线程是进程中的一条执行路径.进程是操作系统中基本的抽象概念,本文介绍 Linux 中进程和线程的用法以及原理,包括创建.消 ...
- <Linux> shell运行原理及Linux权限的理解
文章目录 一.shell 命令及其运行原理 shell外壳 shell运行原理 二.Linux 权限的概念 1.用户分类 2.切换用户 3.用户提权 三.Linux 权限管理 1.文件访问者的分类(人 ...
- linux 液晶屏驱动原理,基于Linux的液晶显示屏驱动设计
描述 1 Linux关于字符设备的管理 驱动程序在Linux内核中往往是以模块形式出现的.与应用程序的执行过程不同,模块通常只是预先向内核注册自己,当内核需要时响应请求.模块中包含2个重要的函数ini ...
- Linux的fork实现原理,【Linux】Fork炸弹详解
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 众所周知,bash是一款极其强大的shell,提供了强大的交互与编程功能.这样的一款shell中自然不会缺少"函数"这个元素来帮助程序 ...
- 【Linux】Shell运行原理及Linux权限
最新文章
- 一图看懂《中关村人工智能产业培育行动计划》
- HTTP_REFERER的获取情况
- Dubbo 2.7三大特性详解
- pycharm使用import numpy报错
- Myeclipse2015把web项目添加至tomcat中,添加列表中却没有想要添加的项目
- 信息学奥赛一本通 1125:矩阵乘法 | OpenJudge NOI 1.8 08
- 富士康欲进军电动汽车市场 目标占据市场10%份额
- Java多线程系列--“JUC锁”10之 CyclicBarrier原理和示例
- vm14安装mac10教程(亲测;转载)
- 三面,字节跳动电商Java面经(已过)
- oracle sql去重
- 计算机双机对连局域网,图解双机/多机无线互联技巧_局域网教程
- python 全栈开发,Day113(方法和函数的区别,yield,反射)
- 计算机的虚拟接口,怎样设置计算机的虚拟目录和虚拟端口
- chromium - DISALLOW_IMPLICIT_CONSTRUCTORS
- ffmpeg介绍与命令行基本用法
- 外贸人如何把握客户跟进频率?
- 最新StarrySky星空简约记录型模板源码+Typecho内核
- 电脑系统数据堆积过多想要重装win10系统,一键装机工具哪个好用?
- 弘辽科技:搞客单价标品怎么拿下转化率?
热门文章
- swift 去json空格_数字货币为什么要去中心化?好处是什么?
- lnmp架构搭建—源码编译(nginx、mysql、php)
- java 循环对比_Java stream 和 for 循环效率对比问题
- 面试官:聊一下二分法
- Spring Boot 最佳实践(一)快速入门
- windows自定义快速启动(运行)命令
- CTF【解密】字符串flag被加密成已知新字符串,请解密出flag,可以使用Python解码出WriteUp
- python 多线程 popen ping指定IP是否在线 判断连通
- Oracle和sql语言,SQL语言的四种类型和ORACLE运算符
- 安卓开发文档_鸿蒙2.0,HarmonyOS开发体验!