菜鸟学Linux 第052篇笔记 httpd-install and section2

简介:

菜鸟学Linux 第052篇笔记  httpd-install and section2




apache 17years

NCSA, httpd

A Patchey Server = Apache

FSF (GNU, GPL Free Software Foundation)

ASF (Apache Software Foundation)

web: httpd

 tomcat

 Hadoop

www.apache.org

httpd:

Web Server, Open Source

httpd feature

事先创建进程

按需维持适当的进程

模块化设计,核心比较小,各种功能都可模块添加(包括php)

支持运行时配置,支持单独编译模块

支持多种方式的虚拟主机配置

Socket IP:Port

虚拟主机:

基于IP的虚拟主机

基于端口的虚拟主机

基于域名的虚拟主机

支持https协议  {mod_ssl}

支持用户认证

支持基于IP或主机的ACL

支持每目录的访问控制

支持URL重写

Redhat install httpd:

rpm包安装

源码编译安装

httpd受SELinux (由于未学,先让其处于permissive)

getenforce

setenforce 0

httpd file:

/usr/sbin/httpd (MPM:prefork)

httpd: root, root (master process)

httpd: apache, apache (worker process)

/etc/rc.d/init.d/httpd

port: (80/tcp) (ssl: 443/tcp)

/etc/httpd 工作的根目录,相当于程序安装目录

/etc/httpd/conf 主配置文件目录

主配置文件: httpd.conf

/etc/httpd/conf.d/*conf

/etc/httpd/modules 模块路径

/etc/httpd/logs --> /var/log/httpd 日志目录

日志文件有两类 访问日志access_log 错误日志 err_log

/var/www/

html 静态内容路径

cgi-bin 动态内容路径

cgi: Common Gateway Interface

Client --> httpd (index.cgi) --> Spawn process --> httpd --> Client

Perl, python, java(servlet, JSP), PHP

fastcgi 使http server和动态解释器分开(可以在物理分成两个服务器)

程序: 指令和数据

数据: 数据库服务 cpu-bound

LAMP

Linux

apache

MySQL

php

httpd 安装

yum install httpd

/etc/httpd/conf

httpd.conf

### Section 1: Global Environment

### Section 2: 'Main' server configuration (默认)

### Section 3: Virtual Hosts

(注意第二段和第三段不可同时生效,同一时间只可有一个生效)

directive value

指令不区分字符大小写

value则根据需要有可能要区分

loadRunner

测试web server (老师说不作讲解,自学,)

MPM: Multi-Path Modules

mpm_winnt

prefork (一个请求用一个进程响应)

worker (一个请求用一个线程响应, (启动多个进程,每个进程生成多个线程))

event (一个进程响应多个请求,生成子进程并且每个子进程生成多个线程)      



修改apache processing model (MPM)

/etc/sysconfig/httpd

#HTTPD=/usr/sbin/httpd.event   删除#号,后边加模块名字即可(需重启服务)

apache 2.2 有event为测试版,不建议使用  



Options

None: 不支持任何选项

Indexes: 允许索引目录

FollowSynLinks: 允许访问符号连接指向的原文件




Section 2: 'Main' server configuration

ServerAdmin root@localhost

ServerName 

DocumentRoot "/var/www/html"  (最后一个切记不要加斜线)


<Directory "/var/www/html">

Options 

Indexes(索引) 

FollowSymLinks(跟随符号链接) 

None

SymLinksifOwnerMatch

ExecCGI 允许执行CGI脚本

MUltiViews 

All

AllowOverride None

Order 用于定义基于主机的访问功能,IP,网络地址或主机定义访问控制机制

Order Allow,deny

allow from

deny from

e.g.

order deny,allow

deny from 192.168.11.5 192.168.11.3


地址的表示方式

IP

network/netmask

hostname: www.a.com

Domainname: a.com

partial IP: 172.16= 172.16.0.0/16

</Directory>

DirectoryIndex index.html index.html.var 



实现网站进行登录访问(不常用,了解即可)

    AllowOverride AuthConfig

    AuthType Basic

    AuthName "Restricted Site..."

    AuthUserFile "/etc/httpd/conf/htuser"

    AuthGroupFile "/etc/httpd/conf/htgroup"

#    Require user red

    Require group myusers


加入以上配置后生成htpasswd文件使用命令,后跟的是用户名

htpasswd -c -m /etc/httpd/conf/htuser hadoop  

-c Creat

-m Use MD5

组文件直接编辑即可

vim /etc/httpd/conf/htgroup

格式 Group: user1 user2 ...

myusers: hadoop



是否启用用户家目录建立个人网站页面(默认关闭)

<IfModule mod_userdir.c>   

UserDir disable

   #UserDir public_html

</IfModule>

访问方式: http://192.168.11.110/~userName

(注意:因为其它用户对用户的家目录没有访问权限,如果想要访问该用户的网页

   需要在其用户目录上o+x权限

   

DirectoryIndex index.html index.html.var 默认打开页面   

   

Alias /icons/ "/var/www/icons/" 别名 

访问方式 http://www.mysky.com/icons/ 注意别名有斜线,访问时也要加

   

   


elinks http://172.168.11.1  以纯文本显示网页

-dump  显示网页内容后退出,不产生交互

-source 显示源码




PV: Page View

UV: user view






总结

MPM (Multi-path Modules)  重点

定义网站文档目录

访问选项 Options

基于主机的访问控制

基于用户或组的访问控制

用户个人站点

错误日志

日志格式

访问日志 PV UV

路径别名

本文转自Winthcloud博客51CTO博客,原文链接http://blog.51cto.com/winthcloud/1883804如需转载请自行联系原作者


Winthcloud
相关实践学习
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
14天前
|
Linux
Linux(5)WIFI/BT调试笔记
Linux(5)WIFI/BT调试笔记
32 0
|
1天前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
|
9天前
|
编解码 Linux
FFmpeg开发笔记(十二)Linux环境给FFmpeg集成libopus和libvpx
在《FFmpeg开发实战》一书中,介绍了如何在Linux环境下为FFmpeg集成libopus和libvpx,以支持WebM格式的Opus和VP8/VP9编码。首先,下载并安装libopus。接着,下载并安装libvpx。最后,在FFmpeg源码目录下,重新配置FFmpeg,启用libopus和libvpx,编译并安装。通过`ffmpeg -version`检查版本信息,确认libopus和libvpx已启用。
FFmpeg开发笔记(十二)Linux环境给FFmpeg集成libopus和libvpx
|
9天前
|
编解码 Linux
FFmpeg开发笔记(十)Linux环境给FFmpeg集成vorbis和amr
在Linux环境下,为FFmpeg添加对AAC、MP3、OGG和AMR音频格式的支持,需安装libogg、libvorbis和opencore-amr库。首先,从官方源下载各库的最新源码,如libogg-1.3.5、libvorbis-1.3.7和opencore-amr-0.1.6,然后解压并依次执行`./configure`、`make`和`make install`进行编译安装。接着,在FFmpeg源码目录中,使用`./configure`命令重新配置,并重新编译安装FFmpeg。最后,验证FFmpeg版本信息确认已启用ogg和amr支持。
FFmpeg开发笔记(十)Linux环境给FFmpeg集成vorbis和amr
|
10天前
|
Linux 开发工具
【Linux笔记】文件查看和编辑
【Linux笔记】文件查看和编辑
|
10天前
|
Linux
【Linux笔记】文件和目录操作
【Linux笔记】文件和目录操作
|
10天前
|
运维 监控 Linux
【Linux笔记】系统信息
【Linux笔记】系统信息
|
10天前
|
安全 Linux 网络安全
【Linux笔记】网络操作命令详细介绍
【Linux笔记】网络操作命令详细介绍
|
10天前
|
Linux 数据安全/隐私保护
【Linux笔记】用户和权限管理基本命令介绍
【Linux笔记】用户和权限管理基本命令介绍
|
14天前
|
Linux Android开发
Linux(6)CH9434 SPI调试笔记
Linux(6)CH9434 SPI调试笔记
15 0