LINUX 下的网络服务(Apache web 服务)
apache的相关知识
定义:
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。(网页服务器软件)
apache的安装部署
yum install httpd.x86_64 -y ##apache软件 yum install httpd-manual -y ##apache的手册 systemctl start httpd systemctl enable httpd
2.火墙
firewall-config ##图像化方式添加http和https火墙策略 firewall-cmd --permanent --add-service=http ##永久允许http firewall-cmd --permanent --add-service=https ##永久允许https firewall-cmd --reload ##火墙重新加载策略 firewall-cmd --list-all ##列出火墙信息
cd /var/www/html/ ##apache的/目录,默认发布目录 vim index.html ##默认发布文件 hello tom systemctl restart httpd
测试:172.25.254.119
apache的基础信息
1.apache的默认访问接口是80
netstat -antlupe | grep httpd ##默认访问接口是80
2.默认访问目录 /var/www/html
3.默认共享的文件 index.html
4.apache的配置文件
/etc/httpd/conf ##主配置目录 /etc/httpd/conf/httpd.conf ##主配置文件 /etc/httpd/conf.d/ ##子配置目录 /etc/httpd/conf.d/*.conf ##子配置文件 rpm -qc httpd
5.默认安全上下文: http_sys_content_t
6.程序开启默认用户:apache
7.apache日志: /etc/httpd/logs/*
apache基础设置
1.修改默认端口为8080
1)selinux设置成强制模式
2)修改端口为8080:
vim /etc/httpd/conf/httpd.conf 42 Listen 8080 ##修改默认端口为8080 systemctl restart httpd.service netstat -antlupe | grep httpd ##此时访问接口是8080
3)火墙添加httpd访问接口8080
##图像化方式 firewall-config firewall-cmd --permanent --add-port=8080/tcp firewall-cmd --reload
测试http:172.25.254.119:8080
2.修改默认端口为特殊端口6666
1)修改端口为6666:
vim /etc/httpd/conf/httpd.conf 42Listen 1111 ##修改默认端口为6666 systemctl restart httpd.service
当selinux不为enforing时
2)特殊端口把selinux设置成强制模式
3)火墙添加httpd访问接口1111
firewall-cmd --permanent --add-port=6666/tcp firewall-cmd --reload
semanage port -l | grep http ##查看提供httpd服务的端口 semanage port -a -t http_port_t -p tcp 6666 ##添加端口6666为提供httpd服务的端口,-a 添加 -t往那个协议里添加
测试http:172.25.254.117:1111
3.修改默认发布文件:
cd /var/www/html/ vim westos.html <h1>westos linux</h1> vim /etc/httpd/conf/httpd.conf 43 Listen 80 ##还原默认端口为80 164 DirectoryIndex westos.html index.html ##设置访问默认发布文件的先后顺序,当westos.html访问不到时访问index.html systemctl restart httpd.service
测试http:172.25.254.119 访问的是发布文件westos.html
4.修改默认发布目录
mkdir -p /westos/html ##建立新的发布目录 vim /westos/html/westos.html ##在发布目录下新建发布文件 hello tonny
vim /etc/httpd/conf/httpd.conf DocumentRoot "/westos/html" ##DocumentRoot属性用于指定根目录路径 <Directory "/westos/html"> ##指定URL路径的后续请求中可以进行操作的权限范围属性 Require all granted ##提供所有权限 </Directory> systemctl restart httpd.service
修改安全上下文
semanage fcontext -a -t httpd_sys_content_t '/westos(/.*)?' restorecon -RvvF /westos
测试:http:172.25.254.119 ##访问的是你的修改的默认发布目录
apache的虚拟主机
1.还原环境
rm -fr /etc/httpd/conf/httpd.conf yum reinstall httpd -y systemctl start httpd systemctl enable httpd
(也可以直接修改文件)
2.建立指定访问news和music的发布目录
mkdir /var/www/virtual/westos.com/news -p ##news.westos.com的默认发布目录 mkdir /var/www/virtual/westos.com/music -p ##music.westos.com的默认发布目录
3.在发布目录下默认发布文件
vim /var/www/virtual/westos.com/news/index.html ##new.westos.com的默认发布文件 news vim /var/www/virtual/westos.com/music/index.html ##music.westos.com的默认发布文件 music
4.apache的子配置目录中建立子配置文件
cd /etc/httpd/conf.d/ ##切换到apache的子配置目录 vim adefautl.conf <VirtualHost _default_:80> DocumentRoot /var/www/html </VirtualHost>
vim news.conf <VirtualHost *:80> ServerName news.westos.com ##访问的域名 DocumentRoot /var/www/virtual/westos.com/news ##访问域名时读取的发布文件 Customlog logs/news.log combined ##指定一个日志CustomLog combined混合型日志 </VirtualHost> <Directory "/var/www/virtual/westos.com/news"> Require all granted </Directory>
vim music.conf <VirtualHost *:80> ServerName music.westos.com ##访问的域名 DocumentRoot /var/www/virtual/westos.com/music ##访问域名时读取的发布文件 Customlog logs/music.log combined ##指定一个日志CustomLog combined混合型日志 </VirtualHost> <Directory "/var/www/virtual/westos.com/music"> Require all granted </Directory>
真机测试:
vim /etc/hosts ##本地解析 172.25.254.119 www.westos.com news.westos.com music.westos.com
内部的访问控制
基于IP的访问控制
1.只允许IP为172.25.254.119的主机访问
cd /etc/httpd/conf.d vim adefautl.conf <VirtualHost _default_:80> DocumentRoot /var/www/html CustomLog logs/default.log combined </VirtualHost> <Directory "/var/www/html"> ##访问的目录 Order Deny,Allow ##按Deny,Allow的顺序访问 Allow from 172.25.254.119 ##只172.25.254.119允许 Deny from all ##不允许任何人访问 </Directory>
测试:
IP为172.25.254.119的主机可以访问
真机无法访问
2.禁止IP为172.25.254.119的主机访问
cd /etc/httpd/conf.d vim adefautl.conf <VirtualHost _default_:80> DocumentRoot /var/www/html CustomLog logs/default.log combined </VirtualHost> <Directory "/var/www/html"> ##访问的目录 Order Allow, Deny ##按 Allow, Deny的顺序访问 Allow fromall ##只允许允许任何人访问 Deny from all ##不允许172.25.254.119 </Directory>
测试:
IP为172.25.254.119的主机不可以访问
真机(其他)可以访问
基于用户的访问控制
cd /etc/httpd/conf.d htpasswd -cm http_userlist admin ##创建用户列表,添加用户admin并设置其密码 cat http_userlist ##查看用户列表 htpasswd -m http_userlist admin1 ##在用户列表中添加用户admin1
vim a_defautl.conf <VirtualHost _default_:80> DocumentRoot /var/www/html CustomLog logs/default.log combined </VirtualHost> <Directory "/var/www/html"> AuthUserFile /etc/httpd/conf.d/http_userlist (上面创建的名称) AuthName "please input username and password !!" ##用户登陆提示信息 AuthType basic ##basic 基本认证,只看用户和密码其他不看 ## #Require user admin ##只允许admin用户可以登陆 Require valid-user ##所有列表用户都可以 </Directory> systemctl restart httpd
检测:
172.25.254.119
输入正确的用户和密码才可以访问成功
apache支持的语言
html语言
php语言
1.访问文件index.php
cd /var/www/html/ vim index.php <?php phpinfo(); ?>
2.安装php
yum install php -y cd /etc/httpd/conf.d
测试:172.25.254.119/index.php
CGI
CGI 通用网关接口是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。CGI 应用程序能与浏览器进行交互,还可通过数据库API 与数据库服务器等外部数据源进行通信,从数据库服务器中获取数据。格式化为HTML文档后,发送给浏览器,也可以将从浏览器获得的数据放到数据库中。
功能:绝大多数的CGI程序被用来解释处理来自表单的输入信息,并在服务器产生相应的处理,或将相应的信息反馈给浏览器。CGI程序使网页具有交互功能。
1.cgi发布文件
mkdir /var/www/html/cgi vim /var/www/html/cgi/index.cgi ##新建cgi默认发布文件 #!/usr/bin/perl print "Content-type: text/html\n\n"; print `date` ;
2.给cgi文件可执行的权限
./index.cgi
3.修改安全上下文
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?' ##修改安全上下文,这是个执行的文件 restorecon -RvvF /var/www/html/cgi ##重新读取文件/var/www/html/cgi
4.修改子配置目录下的主配置文件
cd /etc/httpd/conf.d/ vim adefautl.conf <VirtualHost _default_:80> DocumentRoot /var/www/html CustomLog logs/default.log combined </VirtualHost> <Directory “/var/www/html“> Options +ExecCGI AddHandler cgi-script .cgi </Directory>
测试
172.25.254.119/cgi/index.cgi
WSGI
1.安装mod_wsgi.x86_64
yum install mod_wsgi -y vim /var/www/html/cgi/westos.wsgi chmod +x westos.wsgi
编辑配置文件
vim /etc/httpd/conf.d/adefult.conf
测试172.25.254.119/WSGI
HTTPS
apache的加密访问
1.安装软件
yum install mod_ssl -y yum install crypto-utils.x86_64 -y
2.生成加密文件
cd /etc/httpd/conf.d genkey www.westos.com
vim /etc/httpd/conf.d/ssl.conf 100 SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt 107 SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key systemctl restart httpd
点击锁的标志—>More information
设定https虚拟主机并设定网页重写
cd /var/www/westos.com/ mkdir login mkdir login/html vim login/html/index.html
编辑配置文件
^(/.*)$ ##客户端在浏览器地址栏中输入的所有字符 https:// ##强制客户端加密访问 %{HTTP_HOST} ##客户端请求主机 $1 ##表示 ^(/.*)$的值 [redirect=301] ##更改永久生效 302一次性生效
- Linux web服务安装apache 思路 (源码编译,自己定义服务)
- Linux环境下使用Apache部署Web服务
- Linux网络服务-LAMP之Php基于Apache的模块实现 推荐
- 关于Linux+JDK+Tomcat+Apache+MySQL+PHP的Web服务环境搭建
- Linux 四 apacheWeb服务
- Linux网络服务--LAMP+Nginx+Squid搭建web服务器
- 在Red Hat Linux5下构建LAMP网站服务平台之编译安装Apache与配置基于域名的虚拟Web主机
- Linux网络服务-Web Service之【Apache-Prefork、Worker和Event三种工作模式分析】(二)
- linux服务安装 -- web服务(Apache)
- Linux--RH254---unit 9 apache web服务
- Linux下使用Apache的Httpd+Mod_jk+Tomcat搭建Web集群服务
- Linux网络服务-Web Service之【apache的功能、安装、配置文件介绍以及实验实例】(三)
- Linux-Apache web服务
- linux 系统中搭建web、www服务器时出现apache 服务不能启动的问题
- 百晓生带你玩转linux系统服务搭建系列----构建虚拟ApacheWeb主机
- 云主机Linux系统部署Apache Web服务
- Linux web服务怎么安装apache?安装apache教程
- Web地图服务、WMS 请求方式、网络地图服务(WMS)的三大操作
- Linux网络服务——DNS全攻略
- Linux网络服务_cifs文件系统