Linux命令学习—Apache 服务器(上)

1.1、http 服务原理

http 超文本传送协议 80 端口
https 安全的超文本传输协议 443 端口
基于 C/S(客户端/服务端)模型

协议流程:

连接:客户端与服务端建立连接
请求:客户端向服务端发送请求
应答:服务端响应,将结果传给客户端
关闭:执行结束后关闭

1.2、Apache 服务器介绍

        Apache 是常见的支持 HTTP 协议的 Web 服务器之一,也是使用最广泛的 Web 服务器。截止到今年 1 月, 世界上大约有超过 500 万台 Internet 服务器使用的是 Apache Server。

        Apache Server 的主要特点是稳定性高、速度快、功能多。通过第三方的评测,Apache Server 比大多数 的 Web 服务器都快。

        Apache 服务器既是一种软件,又是一个工程。它是由千千万万的服务器代码和文档开发者共同努力的 结果。在 1995 年 4 月,公开发行了第一套 Apache Server,版本号是 0.6.2。Apache Server 的名字来源于 “A PatCHy Server”。

1.2.1、Apache——A Patchy Server

特点:

支持最新的 HTTP1.1 协议。

支持 PHP、CGI、Java Servlets 和 FastCGI。

支持安全 Socket 层。 集成了 Perl 脚本编程语言。

支持 SSI 和虚拟主机。

实现了动态共享对象,允许在运行时动态装载功能模块。

具有安全、有效和易于扩展等特征。

Apache 的主要特点:

支持进程控制:在需要前自动复制进程,进程数量自动使用需求

支持动态加载模块:不需重编译就可扩展其用途

支持虚拟主机:允许使用一台 web 服务器提供多个 web 站点的共享

1.2.2、APACHE 相关文件

配置文件:/etc/httpd/conf/httpd.conf
服务器的根目录:/etc/httpd
根文档目录:/var/www/html
访问日至文件:/var/log/httpd/access_log
错误日至文件:/var/log/httpd/error_log
运行 Apache 的用户:apache
运行 Apache 的组:apache
端口:80
模块存放路径:/usr/lib/httpd/modules

1.2.3、文件系统容器和网络空间容器

文件系统容器

       和是针对文件系统的指令。段中的指令作用于指定的文件系统目录及其所 有子目录,.htaccess 文件可以达到同样的效果。

网络空间容器

<Loaction>是针对网络空间的指令。

<Loaction>指令无须文件系统的支持 。

注释:对比动态站点和静态站点页面来讲解

1.2.4、Apache 的进程和服务

apache 的进程---httpd
apache 的启动 service httpd start
apache 的停止 service httpd stop
apache 的重新启动 service httpd restart

1.3、创建个人主页

1.3.1、主配置文件介绍

各字段介绍:

ServerRoot:设定 Apache 安装的绝对路径
TimeOut:设定服务器接收至完成的最长等待时间
KeepAlive:设定服务器是否开启连续请求功能
MaxKeepAliveRequests:设定服务器所能接受的最大连续请求量
KeepAliveTimeout:使用者 ‘连续’ 请求的等待时间上限

一般主要配置字段

1、AccessFileName

默认值:AccessFileName .htaccess

此命令是针对目录的访问控制文件的名称;

2、BindAddress

默认值:BindAddress *

设置服务器监听的 IP 地址;

3、DefaultType

默认值:DefaultType text/html

服务器不知道文件类型时,用缺省值通知客户端;

4、DocumentRoot

默认值:DocumentRoot “/var/www/html/”

设置 Apache 提供文件服务的目录;

5、ErrorDocument

设置当有问题发生时,Apache 所做的反应;

6、<IfModule>

使用不包含在 Apache 安装中的模块的命令

7、Include

包含其它的配置文件

8、Listen

默认值:所有能够连接到服务器的 IP 地址

指定如何响应除去 Port 指定的端口地址外的地址请求;

9、Options

控制某个特定目录所能使用的服务器功能;

其值有:

           None:表示只能浏览,

   FollowSymLinks:允许页面连接到别处, 
  ExecCGI:允许执行 CGI,
    MultiViews:允许看动画或是听音乐之类的操作, 
  Indexes:允许服务器返回目录的格式化列表, 
  Includes:允许使用 SSI。这些设置可以复选。 
  All:则可以做任何事,但不包括 MultiViews。 
  AllowOverride:加 None 参数表示任何人都可以浏览该目录下的文件。 
   另外的参数有:FileInfo、AuthConfig、Limit。 

10、Port

默认值:Port 80

设置服务器监听的网络端口;

11、ServerAdmin

设定管理员的电子邮件地址;

12、ServerName

设定服务器的主机名称;

13、ServerRoot

默认值:ServerRoot /etc/httpd/

设定服务器的根目录;

14、User && Group

指定服务器用来回答请求的用户 ID 和组 ID;

1.3.2、编辑主配置文件

vi /etc/http/conf/httpd.conf
第(354 行)
UserDir Disable 改成#UserDir Disable
(361 行)启动个人主目录名称,去掉#
UserDir public_html #配置个人主目录
(369-380 行)启动个人用户 Web 站点的访问权限,去掉#
<Directory /home/*/public_html>
 AllowOverride FileInfo AuthConfig Limit
 Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
 <Limit GET POST OPTIONS>
 Order allow,deny
 Allow from all
 </Limit>
 <LimitExcept GET POST OPTIONS>
 Order deny,allow
 Deny from all
 </LimitExcept>
</Directory>

1.3.3、启动或重启 Apache 服务

service httpd start(restart)

1.3.4、创建自己的个人主页

1、添加用户

useradd user

2、切换用户,并进入用户主目录

su - user

3、创建文档目录,建立测试页,添加执行权限

mkdir public_html 创建文档目录,
vi public_html/index.html 建立测试页,
cd /home
chmod 711 user 添加执行权限

1.3.5、使用浏览器测试

在浏览器中 http://域名或者 IP 地址/~用户名

example:
        http://www.baidu.com/~user

1.4、发布默认站点下目录的内容

1.4.1、进入默认根文档目录并新建目录

cd /var/www/html
mkdir 目录

1.4.2、在新建的目录下生成测试文件和测试目录

touch 文件名
mkdir 目录

1.4.3、编辑主配置文件

vi /etc/httpd/conf/httpd.conf
使用文件系统容器生成文件指定目录位置
<Directory /var/www/html/redhat> 
Options Indexes
</Directory>

1.4.4、重新启动服务器并测试

service httpd restart
http://www.baidu.com/redhat 

1.5、配置目录访问控制

1.5.1、访问控制指令

order 顺序,设定拒绝和允许的先后顺序
deny 拒绝
allow 允许
example:
order deny,allow 拒绝所有的访问,除去明确允许的
“拒绝优先,即默认拒绝”
order allow,deny 允许所有的访问,除去明确拒绝的
“允许优先,即默认允许”
deny from 拒绝的范围
可以是 IP 地址,如 192.168.10.x,或者 192.168.10 或者 192.168.1.0/255.255.255.0 或者
192.168.10.0/24
(针对无类的 IP 地址可以加子网掩码)可以是域名,如 aaa.bbb ;All 代表所有的
allow from 允许的范围
可以是 IP 地址,如 192.168.10.x,或者 192.168.10 或者 192.168.1.0/255.255.255.0 或者
192.168.10.0/24
可以是域名,如 aaa.bbb ;All 代表所有的

1.5.2、对站点进行访问控制设置

编辑主配置文件

拒绝优先

<Directory /var/www/html/redhat>
 Options Indexes
Order deny,allow
Deny from all
Allow from 200.200.200.200 只允许 200.200.200.200
</Directory>
允许优先
<Directory /var/www/html/redhat>
 Options Indexes
Order allow,deny
Allow from all
Deny from 200.200.200.200 只拒绝 200.200.200.200
</Directory>

重启服务器测试

1.6、配置认证指令

AuthName 认证名字
AuthType 认证类型,有两种
 Basic,基本认证类型,所有浏览器均支持
 Digest,摘要认证类型,部分浏览器不支持
AuthUserFile 认证用户文件,存放认证用户的列表文件
Require valid-user 授权给通过认证的所有用户
Require user 用户名 授权给通过认证的指定用户

1.6.1、在主配置文件中添加授权认证的指令

<Directory /var/www/html/redhat>
 Options Indexes
AuthName “rz” 认证名称为 rz
AuthType Basic 认证类型为基本认证类型
AuthUserFile file1 指定认证用户文件
Require valid-user 授权给通过认证的所有用户
</Directory>

1.6.2、生成认证授权文件,并添加用户

#htpasswd -c /etc/httpd/认证文件 用户名

1.6.3、更改认证授权文件的属主和属组为 apache

#chown apache.apache /etc/httpd/认证文件

1.6.4、重新启动 apache 服务

#service httpd restart

1.6.5、访问测试

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在Linux下安装Apache服务器,可以按照以下步骤进行: 1. 打开终端,输入以下命令安装Apache: sudo apt-get update sudo apt-get install apache2 2. 安装完成后,输入以下命令启动Apache服务: sudo systemctl start apache2 3. 如果需要开机自启动Apache服务,可以输入以下命令: sudo systemctl enable apache2 4. 在浏览器中输入本机IP地址或者localhost,即可访问Apache服务器的默认页面。 5. 如果需要修改Apache服务器的配置文件,可以在终端中输入以下命令: sudo nano /etc/apache2/apache2.conf 6. 修改完成后,输入以下命令重启Apache服务: sudo systemctl restart apache2 以上就是在Linux下安装Apache服务器的基本步骤。 ### 回答2: Apache是目前最流行的Web服务器软件之一,它在Linux系统上具有广泛的应用。在Linux下安装Apache服务器需要以下步骤: 1. 安装Apache软件包 首先需要安装Apache软件包。在不同的Linux发行版上,安装的命令可能不同,以Debian为例: sudo apt-get update sudo apt-get install apache2 这将安装最新版本的Apache2服务器软件包。 2. 启动Apache服务器 安装完成Apache服务器后,可以使用以下命令启动Apache: sudo systemctl start apache2 3. 配置Apache服务器 Apache服务器的配置文件位于/etc/apache2目录下。在这个目录中,有一个名为apache2.conf的文件,它是主要的配置文件。 可以在这个文件中设置ServerName、Listen等参数,也可以在它所引用的其他文件中设置更详细的参数。默认配置下,Apache服务器会监听80端口,可以通过浏览器访问。 4. 测试Apache服务器 启动Apache服务器后,可以通过在浏览器中输入http://服务器IP地址(或域名)来测试,如果看到Apache欢迎页面,说明Apache服务器已经成功安装并正在运行。 5. 配置虚拟主机 虚拟主机配置是为了配置多个域名在同一台服务器上共享同一个IP地址。在Apache服务器中,可以通过配置虚拟主机来实现。在/etc/apache2/sites-available目录下,新建一个文件conf文件,例如test.conf,并在其中添加虚拟主机配置信息: <VirtualHost *:80> ServerAdmin [email protected] ServerName test.com ServerAlias www.test.com DocumentRoot /var/www/test <Directory /var/www/test> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> 注意,这个配置文件中只是指定了虚拟主机,并没有启用,为了启用需要使用以下命令: sudo a2ensite test 最后,重新启动Apache服务器: sudo systemctl restart apache2 这样,就可以通过test.com或www.test.com访问服务器了。 ### 回答3: 在Linux环境中安装Apache服务器是一项重要的任务,因为它是许多Web应用程序和网站的核心。以下是安装Apache服务器的步骤: 1. 运行以下命令以确保服务器上所有软件包都是最新版本: sudo apt-get update 2. 然后,运行以下命令以安装Apache服务器: sudo apt-get install apache2 3. 安装完成后,您可以通过运行以下命令来检查Apache服务器是否正在运行: sudo systemctl status apache2 4. 现在,您可以通过输入服务器的IP地址或基于域名的URL来访问Apache服务器。打开浏览器并输入以下内容: http://服务器的IP地址/或域名 您应该能够看到Apache服务器的默认欢迎页面。 5. 如果您想自定义Apache服务器的配置,则可以在以下目录中找到主要配置文件: /etc/apache2/ 6. 您还可以在/var/www/html/目录中找到Apache服务器默认的Web根目录。这是您将所有网站和应用程序文件的存储位置。 7. 如果您想添加虚拟主机,则可以在以下位置找到相关配置文件: /etc/apache2/sites-available/ 8. 为了使虚拟主机生效,请运行以下命令: sudo a2ensite 虚拟主机的文件名.conf 9. 最后,如果您需要重新启动Apache服务器,请运行以下命令: sudo systemctl restart apache2 安装和配置Apache服务器可能需要一些时间和努力,但是一旦做好,它将成为一个强大的工具,可以为您的Web应用程序和网站提供可靠的基础架构。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值