acandid.httpd
Ansible角色:httpd
=========
一个简单的Ansible角色,用于在RHEL/CentOS 7上安装和配置Apache网络服务器。
- 安装必要的包;
- 维护主配置文件;
- 安装自定义证书文件;
要求
- 本角色不考虑防火墙设置。
角色变量
以下变量均非必需
变量 | 默认值 | 备注 |
---|---|---|
web_customlog |
logs/access_log | 访问日志文件(http)的位置 |
web_vhosts.documentroot |
'/var/www/html' | 文档根目录(包含html文件的目录)的路径 |
web_errorlog |
logs/error_log | 错误日志文件(http)的位置 |
web_ssl_port |
443 | https连接的端口号 |
web_port |
80 | http连接的端口号 |
web_vhosts.serveradmin |
webmaster@yourdomain.com | 服务器管理员的电子邮件地址 |
web_vhost_servername |
服务器用来识别自己的主机名 | |
certificate_chain_file |
/etc/pki/tls/certs/ | 证书链文件的名称。见下文“安装证书” |
certificate_file |
/etc/pki/tls/certs/ | 证书文件的名称。见下文“安装证书” |
certificate_key_file |
/etc/pki/tls/private/ | 证书密钥文件的名称。见下文“安装证书” |
web_ssl_cipher_suite |
... | 见默认变量 |
web_ssl_protocol |
'all -SSLv3 -SSLv2' | 指定可用的SSL/TLS协议版本 |
web_allow_override |
"All" | 允许覆盖 |
web_options |
"-Indexes +FollowSymLinks" | 选项 |
依赖
无依赖项。
安装证书
默认情况下,此角色使用安装mod_ssl
时生成的自签名证书。如果您想使用自定义证书,请将其放在相对于主剧本位置的名为files/
的子目录中。然后设置适当的角色变量。有关如何设置自己的(自签名)证书的说明,请参见CentOS Wiki。
例如,如果您有一个服务器密钥example.com.key
和证书文件example.com.crt
,则目录结构应如下所示:
.
└── files
├── example.com.crt
└── example.com.key
|__ root-certificate.crt # 示例CA文件
证书链文件和CA证书文件也是如此。确保它们在files/
目录中可用,并定义变量certificate_chain_file
。
示例剧本
hosts: server
become: yes
vars:
- vhost_name: "example" # 输入您的vhost名称,例如:yourdomain.com,此功能将创建yourdomain.com.conf和ssl.yourdomain.com.conf
roles:
- /path/acandid.httpd
...
贡献
非常欢迎提出问题、功能请求和想法,可以在问题部分发布。
作者信息
LinkedIn: https://br.linkedin.com/in/almircandido