apache的安装
yum insatll httpd -y ##安装apache
systemctl start httpd ##开启httpd
systemctl enable httpd
systemctl stop firewalld ##关闭防火墙
systemctl disable firewalld
apache的信息
1.apache的默认发布文件
index.html2.apache的配置文件
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/*.conf
3.apache的默认发布目录
/var/www/html
4.apache的默认端口
80
apache的基本配置
1.修改默认发布文件vim /etc/httpd/conf/httpd.conf
164 DirectoryIndex westos.html
2.修改默认发布目录
##当selinux是disable状态
vim /etc/httpd/conf/httpd.conf
120 DocumentRoot "/westos/www/test"
<Directory "/westos/www/test">
Require all granted
</Directory>
systemctl restart httpd
##当selinux是Enforcing状态
vim /etc/httpd/conf/httpd.conf
120 DocumentRoot "/westos/www/test"
<Directory "/westos/www/test">
Require all granted
</Directory>
systemctl restart httpd
semanage fcontext -a -t httpd_sys_content_t '/westos(/.*)?'
restorecon -RvvF /westos
3.apache的访问控制
##设定ip的访问
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/admin"> ##允许所有人访问admin目录但是拒绝250主机
Order Allow,Deny
Allow from All
Deny from 172.25.254.250
</Directory>
<Directory "/var/www/html/admin"> ##只允许250主机访问admin目录
Order Deny,Allow
Allow from 172.25.254.250
Deny from All
</Directory>
##设定用户的访问
htpasswd -m /etc/httpd/accessuser admin
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/admin">
AuthUserFile /etc/httpd/accessuser ##用户认证文件
AuthName "Please input your name and password!" ##用户认证提示信息
AuthType basic ##认证类型
Require valid-user ##认证用户,认证文件中所有用户都可以访问
[Require user admin] ##只允许认证文件中admin用户访问
</Directory>
apache的虚拟主机
1.定义可以让我们的一台apache服务器在被访问不同域名时显示不同的主页
2.建立测试页
mkdir virtual/money.westos.com/html -p
mkdir virtual/news.westos.com/html -p
echo "money.westos.com's page" >virtual/money.westos.com/html/index.html
echo "news.westos.com's page" >virtual/news.westos.com/html/index.html
3.配置
vim /etc/httpd/conf.d/default.conf
<Virtualhost _default_:80> ##虚拟主机开启的端口
DocumentRoot "/var/www/html" ##虚拟主机的默认发布目录
CustomLog "logs/default.log" combined ##虚拟主机日志
</Virtualhost>
vim /etc/httpd/conf.d/news.conf ##指定域名news.westos.com的访问到默认发布目录中
<Virtualhost *:80>
ServerName "news.westos.com"
DocumentRoot "/var/www/virtual/news.westos.com/html"
CustomLog "logs/news.log" combined
</Virtualhost>
<Directory "/var/www/virtual/news.westos.com/html"> ##默认发布目录的访问权限
Require all granted
</Directory>
4.测试
在浏览器所在主机中
vim /etc/hosts ##做本地解析
172.25.254.100 www.westos.com.news.westos.com
https
1.https的定义Hyper text transfer protocol over Secure socker layer
通过ssl
2.配置
yum install mod_ssl -y ##安装
yum insatll crpto-utils -y
genkey www.westos.com
/etc/pki/tls/certs/www.westos.com.crt
vim /etc/httpd/conf.d/login.conf
ServerName "login.westos.com"
DocumentRoot "/var/www/virtual/login.westos.com/html"
Customlog "logs/login.log" combined
SSLEngine on
SSLCertficateFile /etc/pki/tls/certs/www.westos.com.crt
SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key
</Virtualhost>
<Directory "/var/www/virtual/login.westos.com/html">
Require all granted
</Directory>
<Virtualhost *:80>
ServerName login.westos.com
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</Virtualhost>
^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
^(/.*)$ ##客户主机在地址栏中写入的所有字符
https:// ##定向成为的访问协议
%{HTTP_HOST} ##客户请求主机
$1 ##$1的值就表示^(/.*)的值
[redirect=301] ##临时重定向,302表示永久重定向
mkdir /var/www/virtual/login.westos.com/html -p
vim /var/www/virtual/login.westos.com/html/index.html
systemctl restart httpd
测试:
在本地解析
在客户主机中添加解析
172.25.254.100 login.westos.com
访问http://login.westos.com 会自动跳到
https://login.westos.com 实现网页数据加密传输
html语言默认支持
php语言
yum install php -y ##安装php
systemctl restart httpd ##重启网络
cgi语言
mkdir /vae/www/html/cgi
vim index.cgi
#!/usr/bin/per1
print "Contentp-type: text/html\n\n";
print `date`;
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/cgi">
Options +ExecCGI
AddHandler cgi-script .cgi
</Directory>
systemctl restart httpd