zl程序教程

您现在的位置是:首页 >  工具

当前栏目

kali 服务篇-Apache服务 学习笔记

2023-09-11 14:15:22 时间

Apache的简介:

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。

同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。

Apache开源项目

 

Apache的配置文件

/etc/httpd/conf/httpd.conf   #apache的主配置文件
/etc/httpd/                  #apache配置文件的目录
/var/www/                    #apache默认存放网页的目录


/etc/httpd/conf/httpd.conf文件详解:

34  ServerRoot "/etc/httpd"                   #定义Apache的配置文件目录
45  Listen 80                                 #定义Apache的端口
69  User apache                               #定义启动用户
70  Group apache                              #定义启动用户组
89  ServerAdmin root@localhost                #定义管理员邮箱
98  #ServerName www.example.com:80            #定义服务器的域名
122 DocumentRoot "/var/www/html"              #定义网页目录
167 DirectoryIndex index.html                 #定义默认首页文件

 

Apache的虚拟主机配置

<VirtualHost *:80>
#绑定的主域
ServerName XXX.com
#绑定的子域名
ServerAlias www.XXX.com
#网站主目录
DocumentRoot /var/www/<自创建目录>
#日志配置
ErrorLog /var/log/httpd/<自创建目录名>_error.log
CustomLog /var/log/httpd/<自创建目录名>_access.log common
#ServerSignature Off
</VirtualHost>
#测试一的配置
<Directory "/var/www/<自创建目录>/">
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

 

[kali_test@c9t1 conf.d]$ cat vhosts.conf
<VirtualHost *:81>
#绑定的主域
ServerName c9t1.com
#绑定的子域名
ServerAlias www.c9t1.com
#网站主目录
DocumentRoot /var/www/loki
#日志配置
ErrorLog /var/log/httpd/loki_error.log
CustomLog /var/log/httpd/loki_access.log common
#ServerSignature Off
</VirtualHost>
#测试一的配置
<Directory "/var/www/loki/">
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

[kali_test@c9t1 conf.d]$ cat vhosts2.conf
<VirtualHost *:81>
#绑定的主域
ServerName c9t1.cn
#绑定的子域名
ServerAlias www.c9t1.cn
#网站主目录
DocumentRoot /var/www/loki2
#日志配置
ErrorLog /var/log/httpd/loki2_error.log
CustomLog /var/log/httpd/loki2_access.log common
#ServerSignature Off
</VirtualHost>
#测试一的配置
<Directory "/var/www/loki2/">
    Options FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
View Code

 

 

引申:同一台主机部署多个网站的方式如下:
1.同IP不同端口
2.同端口不同IP
3.同IP同端口不同主机头

 

Apache的日志

日志默认路径:/var/log/httpd/ 

 

PS:如果使用 SSL 服务的话,还可能存在 ssl_access_log和ssl_error_log 和 ssl_request_log 三种日志文件

 

 # 访问日志(access.log)格式参考

192.168.x.x - - [9/May/2022:08:29:09 +0800] "GET /login.php HTTP/1.1" 200 1415 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36"
1 远程主机IP:表明访问网站的是谁
2 空白(E-mail):为了避免用户的邮箱被垃圾邮件骚扰,第二项就用“-”取代了
3 空白(登录名):用于记录浏览者进行身份验证时提供的名字。
4 请求时间:用方括号包围,而且采用“公用日志格式”或者“标准英文格式”。 时间信息最后的“+0800”表示服务器所处时区位于UTC之后的8小时。
5 方法+资源+协议:服务器收到的是一个什么样的请求。该项信息的典型格式是“METHOD RESOURCE PROTOCOL”,即“方法 资源 协议”。
6 状态码:请求是否成功,或者遇到了什么样的错误。大多数时候,这项值是200,它表示服务器已经成功地响应浏览器的请求,一切正常
7 发送字节数:表示发送给客户端的总字节数。它告诉我们传输是否被打断(该数值是否和文件的大小相同)。把日志记录中的这些值加起来就可以得知服务器在一天、一周或者一月内发送了多少数据。
8 UA信息:访问者的user-agent信息。

 

# 常见套件组合的一些术语

 1     LAPP       (以PostgreSQL替代MySQL)
 2     LAMP       (最后两个字母意味着Middleware和PostgreSQL)
 3     LNMP或LEMP (以Nginx替代Apache)
 4     WAMP       (以MicrosoftWindows替代Linux)
 5     MAMP       (以Macintosh替代Linux)
 6     LAMJ       (以JSP/servlet替代PHP)
 7     BAMP       (以BSD替代Linux)
 8     WIMP       (指MicrosoftWindows, MicrosoftIIS,MySQL,PHP)
 9     AMP        (单指Apache,MySQL和PHP)
10     XAMP       (以XML替代Linux)

 

 LAMP

安装apache及其扩展包

dnf -y install httpd httpd-devel

安装mariadb数据库及其扩展包

dnf -y install mariadb mariadb-server

mariadb-secure-installation  Or  mysql_secure_installation  进行root密码初始化

 

安装php数据库及其扩展包:

dnf -y install php php-mysqlnd php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-mbstring php-bcmath php-mhash

 # 创建探针文件,进行环境测试/var/www/html/info.php

<?php
  phpinfo();
?>

 

学习内容均参考:http://book.fsec.io/101-%E5%9F%BA%E7%A1%80%E7%AF%87/101-B-linux%E6%9C%8D%E5%8A%A1/101-B3-Apache%E6%9C%8D%E5%8A%A1.html