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