HTTP 服务器
| 官网 | Apache HTTP 服务器 2.4 文档 |
安装
参考 Compiling and Installing - Apache HTTP Server Version 2.4
Fedora / CentOS / Red Hat Enterprise Linux
sudo yum install httpd
sudo systemctl enable httpd
sudo systemctl start httpd
Ubuntu / Debian
sudo apt install apache2
sudo service apache2 start
常用指令
参考 Directive Quick Reference - Apache HTTP Server Version 2.4
apache2
别名:apache2ctl
| apachectl
apache2 -h
$ apache2 -h
Usage: apache2 [-D name] [-d directory] [-f file]
[-C "directive"] [-c "directive"]
[-k start|restart|graceful|graceful-stop|stop]
[-v] [-V] [-h] [-l] [-L] [-t] [-T] [-S] [-X]
Options:
-D name : 定义在 <IfDefine name> 指令中使用的名称
-d directory : 指定初始 ServerRoot 备用
-f file : 指定 ServerConfigFile 备用
-C "directive" : 在读取配置文件前的处理指令
-c "directive" : 在读取配置文件后的处理指令
-e level : 显示启动错误级别(参考 LogLevel)
-E file : 将启动错误保存到文件
-v : 显示版本号
-V : 显示编译设置
-h : 列出可用的命令行选项(本页)
-l : 列出已编译的模块
-L : 列出可用的配置指令
-t -D DUMP_VHOSTS : 显示已解析的虚拟主机设置
-t -D DUMP_RUN_CFG : 显示解析的运行设置
-S : -t -D DUMP_VHOSTS -D DUMP_RUN_CFG 简写
-t -D DUMP_MODULES : 显示所有已加载的模块
-M : -t -D DUMP_MODULES 简写
-t -D DUMP_INCLUDES: 显示所有已包含的配置文件
-t : 对配置文件进行语法检查
-T : 在没有 DocumentRoot(s) 检查的情况下启动
-X : 调试模式(单 Worker,不拆分)
a2
dis
- 禁用 |en
- 启用conf
- 配置 |mod
- 模块 |site
- 站点 |query
- 查询
a2disconf a2dismod a2dissite a2enconf a2enmod a2ensite a2query
a2query -h
$ a2query -h
Usage: /usr/sbin/a2query -q -m [MODULE] -s [SITE] -c [CONF] -a -v -M -d -h
-q 抑制任何输出。用于从脚本调用
-m [MODULE] 检查模块 MODULE 是否启用,如果没有参数则列出所有启用的模块
-s [SITE] 检查站点 SITE 是否启用,如果没有参数则列出所有站点
-c [CONF] 检查配置 CONF 是否启用,如果没有参数则列出所有配置
-a 返回当前的 Apache 2 模块魔法版本
-v 返回当前的 Apache 2 版本
-M 返回启用的 Apache 2 MPM
-d 返回 Apache 2 模块目录
-h 显示此帮助
配置:一台主机多个站点
配置:SSL 证书(HTTPS)
参考:
启用 SSL 模块:
sudo a2enmod ssl
编辑 /etc/apache2/sites-available/default-ssl.conf
文件,第 33、34、43 行,修改为证书保存位置:
28 # A self-signed (snakeoil) certificate can be created by installing
29 # the ssl-cert package. See
30 # /usr/share/doc/apache2/README.Debian.gz for more info.
31 # If both key and certificate are stored in the same file, only the
32 # SSLCertificateFile directive is needed.
+ 33 SSLCertificateFile /etc/apache2/ssl/public.crt
+ 34 SSLCertificateKeyFile /etc/apache2/ssl/private.key
35
36 # Server Certificate Chain:
37 # Point SSLCertificateChainFile at a file containing the
38 # concatenation of PEM encoded CA certificates which form the
39 # certificate chain for the server certificate. Alternatively
40 # the referenced file can be the same as SSLCertificateFile
41 # when the CA certificates are directly appended to the server
42 # certificate for convinience.
+ 43 SSLCertificateChainFile /etc/apache2/ssl/ca.crt