Apache相关配置
配置文件一般情况下位于/etc/httpd/
中
配置文件解析
-
Listen:这个指令指定了Apache服务器监听的IP地址和端口号,例如Listen 80表示监听80端口。
-
ServerRoot:指定Apache服务器根目录的路径,例如ServerRoot "/usr/local/apache2"。
-
DocumentRoot:指定Apache服务器的默认页面路径,例如DocumentRoot "/var/www/html"。
-
Directory:这个指令用于配置目录的属性,例如Directory /var/www/html,可以指定目录/var/www/html下的属性。
-
DirectoryIndex:这个指令用于指定目录索引页面的文件名,例如DirectoryIndex index.html index.htm default.html。
-
ErrorLog:指定Apache服务器错误日志文件的路径,例如ErrorLog "/var/log/httpd/error_log"。
-
CustomLog:指定Apache服务器访问日志文件的路径,例如CustomLog "/var/log/httpd/access_log" combined。
-
User和Group:这两个指令用于指定Apache服务器运行时的用户和组,例如User apache和Group apache。
-
VirtualHost:这个指令用于配置虚拟主机,例如VirtualHost 10.10.10.1:80,可以配置一个监听IP为10.10.10.1,端口号为80的虚拟主机。
实际案例:使用LDAP限制用户访问网站
安装并启用ldap模块
sudo apt-get install libapache2-mod-authnz-ldap ldap-utils
sudo a2enmod authnz_ldap
sudo service apache2 restart
配置文件案例
<VirtualHost *:80>
ServerName www.sdskills.com
DocumentRoot /data/share/htdocs/skills
<Directory /data/share/htdocs/skills>
Options Indexes FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
AuthType Basic
AuthName "LDAP Authentication"
AuthBasicProvider ldap
AuthLDAPURL "ldap://ldap.example.com:389/ou=people,dc=example,dc=com?uid"
AuthLDAPBindDN "cn=admin,dc=example,dc=com"
AuthLDAPBindPassword "admin_password"
Require ldap-group cn=webusers,ou=groups,dc=example,dc=com
</Directory>
# Other directives and configurations
User webuser
Group webuser
</VirtualHost>
实际案例:使用SSL加密
创建一个私钥
生成证书请求
签发证书
openssl x509 -req -in server.csr -CA /path/to/ca.crt -CAkey /path/to/ca.key -CAcreateserial -out server.crt -days 365
命令解析:
- openssl x509
:使用openssl工具操作X.509证书
- -req
:表示输入的证书是证书签署请求(CSR)
- -in server.csr
:输入的CSR证书请求文件路径
- -CA /path/to/ca.crt
:CA证书文件路径
- -CAkey /path/to/ca.key
:CA证书对应的私钥文件路径
- -CAcreateserial
:在签署证书时,生成唯一的证书序列号
- -out server.crt
:签署后生成的SSL证书的输出路径
- -days 365
:生成的SSL证书的有效期限,这里设置为365天。
安装ssl模块
编辑配置文件
配置文件为/etc/apache2/sites-available/default-ssl.conf
填写好证书路径
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key