Linux系统服务搭建之Apache

发布时间:2025-05-03 点击:14
建站服务器
1、 www: world wide web 万维网
http 协议: 超文本传输协议
html语言: 超文本标识语言 index.html
2、 url:统一资源定位: 协议 域名:端口 网页文件名
http://www.baidu.com:80/phpmyadmin/index.php
3 搭建www的服务器的方法
windows iis asp sqlserver
iis: internet informationserver
linux apache mysql php
nginx
一、相关文件
apache配置文件
源码包安装:/usr/lcoal/apache2/etc/httpd.conf(主配置文件)
/usr/local/apache/etc/extra/*.conf(子配置文件)
rpm包安装:/etc/httpd/conf/httpd.conf
网页保存位置:
源码包: /usr/local/apache2/htdocs/
rpm包安装: /var/www/html/
日志保存位置
源码包:/usr/local/apache2/logs/
rpm包: /var/log/httpd/
二、配置文件
注意:apache配置文件严格区分大小写
1、 针对主机环境的基本配置
serverroot apache主目录
/usr/local/apache2
listen 监听端口 :80
loadmodule 加载的相关模块 php5
user
group 用户和组
serveradmin 管理员邮箱
servername
服务器名(没有域名解析时,使用临时解析。默认不开启)
errorlog logs/error_log 错误日志
customlog logs/access_log common 正确访问日志
directoryindex index.html index.php
默认网页文件名,优先级顺序
include etc/extra/httpd-vhosts.conf
子配置文件中内容也会加载生效
2 主页目录及权限
documentroot /usr/local/apache2//htdocs
#网页文件存放目录(默认)
<directory/usr/local/apache2//htdocs>
#定义指定目录的权限
options indexes followsymlinks
#options
none: 没有任何额外权限
all: 所有权限
indexes: 浏览权限(当此目录下没有默认网页文件时,显示目录内容)
followsymlinks:准许软连接到其他目录
allowoverridenone
#定义是否允许目录下
.htaccess文件中的权限生效
none:.htaccess中权限不生效
all:文件中所有权限都生效
authconfig:文件中,只有网页认证的权限生效。
require all granted 访问控制列表
#定义此目录的允许访问权限
以下5个例子都是在require allgranted紧下面插入(很重要)
例1: 仅允许ip为192.168.1.1的主机访问
<requireall>
require all granted
require ip 192.168.1.1
</requireall>
例2: 仅允许192.168.0.0/24网络的主机访问
<requireall>
require all granted
require ip 192.168.1.0/24
</requireall>
例3: 禁止192.168.1.2的主机访问,其他的都允许访问,
<requireall>
require all granted
require not ip 192.168.1.2
</requireall>
例4: 允许所有访问,
require all granted
例5: 拒绝所有访问,
require all denied
三、四个小实验
实验环境:
使用lamp环境安装好的apache进行试验
安装完成后,先启动apache进行服务验证,是否安装成功,并且主页是否可以访问。
注:发现启动服务报错:ah00558: httpd: could not reliably determine the server\\\’s fullyqualified domain name, using localhost.localdomain. set the \\\’servername\\\’directive globally to suppress this message
解决办法:打开主配置文件httpd.conf
搜索servername (约在200行左右)
修改为 servername localhost:80(并且去掉前面的#注释)
实验一:目录别名
可以使特定的网站程序不出现在网站根目录下面,而这样的话,就可以避免和原来的程序本身发生混淆和冲突;缩短网页目录的纵深,减少url的长度。
1.打开apache主配置文件
#includeetc//extra/httpd-autoindex.conf (将#号去掉)
2.进到子配置文件目录extra下,打开httpd-autoindex.conf
仿照例子写一个别名:
alias /a//www/a/ #实际目录结束要有/
<directory/www/a/>
options indexes multiviews
allowoverride none
require all granted
</directory>
在/www/a/目录下手动创建index.html文件
3.将apache服务重启:
/usr/local/apache2/bin/apachectlstop
/usr/local/apache2/bin/apachectlstart
注:重启源码包安装的apache需要先关闭,再启动。
4.验证试验结果:
打开浏览器输入 服务器ip/a/ (最后的“/”必须有)
实验二:用户认证
提高网站安全性,保护个别页面的信息,限制特定目录,只有指定用户可以访问。
1.打开主配置文件在最下面添加:
<directory/usr/local/apache2/htdocs/baohu> #被保护目录
options indexes
allowoverride all #(开启权限认证文件.htaccess)
require all granted
</directory>
2.在指定目录下创建权限文件:
cd /usr/local/apache2/htdocs/baohu
vi .htaccess#添加下面的内容
authname50 docs #提示信息
authtypebasic #加密类型
authuserfile/usr/local/apache2/htdocs/baohu/apache.passwd
#密码文件,文件名自定义。(但是路径要对,使用绝对路径)
requirevalid-user #允许密码文件中所有用户访问
3.使用命令生成密码文件apache.passwd,加入允许访问的用户。(此用户和系统用户无关)
htpasswd
–c /usr/local/apache2/htdocs/baohu/apache.passwdtest1
-c建立密码文件,只有添加第一个用户时,才能-c
htpasswd
-m/usr/local/apache2/htdocs/baohu/apache.passwd test2
-m 再添加更多用户时,使用-m参数
4.验证访问:(自己手动去目录下创建index.html文件)
浏览器输入 服务器ip/baohu/index.html
实验三:*虚拟主机*
虚拟主机的分类:
1)基于ip的虚拟主机:一台服务器,多个ip,搭建多个网站
ifconfig eth0:0ip #建立网卡子端口
2)基于端口的虚拟主机:一台服务器,一个ip,搭建多个网站,每个网络使用不同端口访问
3)基于名字的虚拟主机:一台服务器,一个ip,搭建多个网站,每个网站使用不同域名访问
1.实验搭建(准备工作)
a. 域名解

这个网站的空间怎么能再使用
云服务器只允许5个域名备案
云主机海外哪家好
中科大:邮件系统安全事件分析及应对
高防服务器联系云世家网络
中国首个跨境代购商城全民外贸正式上线,代购模式或将全面洗牌?
19云服务器便宜文档介绍内容
专用云服务器近期价格