kali 服务篇-Apache服务 学习笔记
Apache的简介:
Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
同时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>
引申:同一台主机部署多个网站的方式如下: 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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2020-05-07 华为设备常用命令(Updating...)