Apache
yum install httpd
虚拟主机
<VirtualHost 10.1.2.3:80>
ServerAdmin webmaster@host.example.com
DocumentRoot "/www/docs/host.example.com"
ServerName host.example.com
ErrorLog "logs/host.example.com-error_log"
TransferLog "logs/host.example.com-access_log"
</VirtualHost>
仅仅添加下列代码虚拟主机基于ip和端口
<VirtualHost 192.168.130.201:80>
ServerAdmin root@localhost
DocumentRoot "/var/www/www1"
DirectoryIndex index.html
</VirtualHost>
访问控制
Require all granted //允许所有主机
Require all denied //禁止所有主机
Require not ip 10.252.46.165 //禁止一台电脑
<RequireAll>
Require all granted
Require not ip 192.168.120.1
</RequireAll>
用户访问控制
如何要开启访问控制应该修改以下设置选项
AllowOverride AuthConfig
或者
AllowOverride All
首先,需要创建一个密码文件
此文件应该放在某处不可以从 web 访问。防止别人下载密码文件,比如这里
/var/www/passwd/
键入以下命令创建密码文件︰
htpasswd -c /var/www/passwd/password user1
htpasswd需要你输入user1的密码,然后确认输入
接下来,您将需要配置服务器请求一个密码并告诉服务器允许用户的访问。您可以通过编辑 httpd.conf 文件或使用.htaccess文件。
如果你想要对目录/var/www/html/添加用户认证,您可以使用下面的指令,放在文件/var/www/html/.htaccess中,或者放在httpd.conf里面<Directory "/var/www/html">
以下内容也可以放在 .htaccess
AuthType Basic
AuthName "acl"
AuthBasicProvider file
AuthUserFile "/var/www/passwd/password"
Require valid-user
SSl
yum install mod_ssl openssl
# 产生私钥
openssl genrsa -out ca.key 2048
# 产生 CSR请求证书文件
openssl req -new -key ca.key -out ca.csr
# 产生自我签署的的证书文件
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
# 复制文件至正确位置
cp ca.crt /etc/pki/tls/certs/ca.crt
cp ca.key /etc/pki/tls/private/ca.key
cp ca.csr /etc/pki/tls/private/ca.csr
vi /etc/httpd/conf.d/ssl.conf
#编辑ssl配置文件,修改下面两个属性的路径值如下
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
vim /etc/httpd/conf/httpd.conf
#编辑服务器配置文件
网站模板如下
NameVirtualHost *:443
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
<Directory "/var/www">
# Allow open access:
Require all granted
</Directory>
DocumentRoot /var/www/html
ServerName www.draw.com
</VirtualHost>
强制访问https
RewriteEngine on
RewriteCond "%{HTTPS}" "!=on"
RewriteRule "^(.*)" "https://%{SERVER_NAME}$1" [L,R]
同之前开启防火墙
firewall-cmd --permanent --add-service=https
#添加防火墙规则
firewall-cmd --reload
#重新加载防火墙
Centos6.5虚拟主机默认模板
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com //管理员邮箱
DocumentRoot /www/docs/dummy-host.example.com //文档目录
ServerName dummy-host.example.com //服务器域名
ErrorLog logs/dummy-host.example.com-error_log //错误日志
CustomLog logs/dummy-host.example.com-access_log common //访问日志
</VirtualHost>