安装
关闭火墙
/var/www/html 默认分布目录
/var/www/html/index.html 默认发布文件 ##文件中写的可以被读取
主配置文件 /etc/httpd/conf/httpd.conf
子配置文件 /etc/httpd/conf.d/*.conf


更改发布目录
打开主配置文件
更改120行内容,或者注释掉,从写
DocumentRoot "/xxxx/xxxx"
这时更改之后刷新网页没有反应,因为没有授权,在下面添加




<Directory "/xxxx/xxxx">
Require all granted ##给出授权
</Directory>


重启服务
更改发布文件
将上一步的东西还原,
第一步在 /var/www/html文件中新建一个以.html结尾的文件。

更改主配置文件中的内容,修改166行左右的文件,
<IfModule dir_module>
DirectoryIndex .html (在.html前加自己新建的文件)
</IfModule>


重启服务,刷新后,读取的是新建的目录文件中的内容
更改端口

更改43行左右 Listen 后为端口
登陆的时候需要在网址后面加上:端口号


阿帕奇虚拟主机
进入/etc/httpd/conf.d/目录中
建立一个名为vhost.conf的文件。在文件中写入配置。


<VirtualHost _default_:80> ##在寻址80端口的时候自动访问/var/www/html目录下的文件
DocumentRoot /var/www/html ##发布目录
CustomLog logs/default.cog combined
</VirtualHost>
<VirtualHost *:80>
ServerName 指定站点名1
DocumentRoot 自己创建目录1 ##站点名1主发布目录
CustomLog logs/域名1.cog combined ##日志地址
</VirtualHost>
<VirtualHost *:80>
ServerName 指定站点名2
DocumentRoot 自己创建目录2
CustomLog logs/域名2.cog combined
</VirtualHost>
创建出上面刚输入的目录,在目录中建立index.html文件,文件中写入在网页中展示的东西。
重启httpd服务,输入域名查看,显示错误信息,因为没有授权,和解析。

在刚才的文件中直接加入授权。
<Directory "自己上面创建的目录">
Require all granted ##给出授权
</Directory>
在使用浏览器的主机上进行解析,
vim /etc/hosts
ip 主域名(www开头的) 域名1 域名2
重启服务,输入域名进行查看。


用户限制
基于ip的访问控制
在/etc/httpd/conf.d/vhost.conf文件中

<Directory "/var/www/html">
Order allow,deny ##allow和deny两个位置控制的是读取的先后顺序,如上代表的是先读取allow再读取deny
Allow from ip地址 ##允许哪个ip的主机进行登陆
Deny form ip地址 ##不允许哪个ip的主机进行登陆
</Directory>
重启服务

基于用户的限制访问
在/etc/httpd/conf.d/vhost.conf文件中将上面的命令注释掉。
首先建立用户
第一次建立用户使用 htpasswd -cm /etc/httpd/.自己建立一个文件 用户名 ##建立的文件是一个隐藏文件,更安全
如果有用户后使用
htpasswd -m /etc/httpd/.自己建立一个文件 用户名 
<Directory "/var/www/html">
AuthUserFile /etc/httpd/.刚自己建立的隐藏文件
AuthType basic ##类型
AuthName "xxxx" ##提示信息
Require user 用户名称 ##可以让哪个用户登陆
</Directory>



重启服务 使用浏览器登陆之前需要清除缓存
登陆进行尝试。
全部用户可以登陆设置
Require valid-user
语言支持
php
下载php:yum install php
进入/var/www/html/目录建立 .php文件。
<?php
phpinfo()
?> ##php测试页面

重启服务,输入域名/ .php文件,进入查看
cgi
下载
yum install httpd-manual
在/var/www/html目录下可以从新建立一个cgi的目录
在目录中建立 .cgi文件
里面可以写测试命令,
#!/usr/bin/perl
print"Content-type: text/html\n\n"; ##以正确方式输出
print `date`; ##测试date命令
chmod +x .cgi ##加入可执行权限
重启服务
浏览器输入http://ip地址/cgi/文件名.cgi
在网页上输出date命令
wsgi
下载wsgi
yum install mod_wsgi.x86_64 -y
下载一个测试脚本
编辑 /etc/httpd/conf.d/vhost.conf
WSGIScriptAlias /xxx .wsgi文件的绝对路径
重启服务
网址输入http://ip地址或者本机域名/xxx/.wsgi文件名
https
输入网址可以寻址,但不安全,需要作加密
下载
yum install mod_ssl.x86_64 crypto-utils.x86_64 -y
输入网址变为https://域名
首先访问需要认证,可以下载认证,如何自己加载密钥,
安装软件后,在/etc/httpd/conf.d目录中生成一个ssl文件文件为阿帕奇的启动时读取的文件,
须生成密钥加入该文件
生成密钥方式
genkey 域名或者工作站的名字
按照提示一步步走,最后输出/etc/pki/tls/certs/xxx.crt ##公钥
/etc/pki/tls/private/xxx.key ##私钥
在100行和107行左右加入公钥私钥。

登陆网址,下载认证。


网页重写
目的,将一个不加密的网页转到https加密格式

转到的接口为443 接口
/etc/httpd/conf.d/vhost.conf
<VirtualHost *:443> ##设置接口
ServerName login.passy.com ##设置域名
DocumentRoot /var/passy/passy.com/login/html ##发布目录
CustomLog logs/login.logs combined ##日志地址
SSLCertificateFile /etc/pki/tls/certs/www.passy.com.crt ##公钥
SSLCertificateKeyFile /etc/pki/tls/private/www.passy.com.key ##私钥
SSLEngine on ##开关开启
</VirtualHost>
设置完成后建立发布目录,在发布目录下建立一个文件,文件为主发布文件
但是这时候直接输入域名并不加密,所以需要重写网页。
还是在vhost.conf文件中写入
<VirtualHost *:80>
ServerName login.passy.com
RewriteEngine On ##重写开关
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 ##重写规则 ^(/.*)$在地址栏中输入的所有字符
</VirtualHost>

重启http服务。
本文详细介绍了Apache Web服务器的配置过程,包括安装、关闭防火墙、默认发布目录及文件的设置,主配置文件与子配置文件的使用,发布目录与文件的更改,端口更改,虚拟主机的设置,用户限制,语言支持,以及HTTPS的安全配置。
2万+

被折叠的 条评论
为什么被折叠?



