•apache服务器概述-安装
•配置web服务器-搭建LAMP环境
•修改web网站根目录-配置别名-虚拟目录
•实现apache打开软链接功能-禁止显示目录列表-用户认证
•apache虚拟主机基于-IP-域名-端口三种搭建方式

安装

yum -y install httpd   

主配置文件介绍:

vim /etc/httpd/conf/httpd.confServerName 192.168.1.235:80     #服务器主机名
PidFile run/httpd.pid      #apache      #运行进程 ID 存放
Timeout 60                        #超时时间,多少 s 没有反应就超时
KeepAlive Off                     #是否允许一个永久的链接,设置为 OFF 的时候,不 能保持连接功能,传输效率比较低,设置为 ON 时,可以提高服务器传输文件的效率,建议开启
MaxKeepAliveRequests 100       #设置 KeepAlive 为 ON 时,设置客户端每次连接允许 请求相应最大文件数,默认 100 个
KeepAliveTimeout 15              #超时时间,同一个客户端下一个请求 15s 没收到就 超时
Listen 80#监听端口,默认本地 IP,如果指定 ip 写上 IP:80
<IfModule prefork.c>
StartServers8                       #服务开始起启动 8 个进程
MinSpareServers5                  #最小空闲 5 个进程
MaxSpareServers20                 #最多空闲 20 个进程
ServerLimit256                      #服务器允许配置进程数上线
MaxClients256                       #最大连接数 256,超过要进入等候队列
MaxRequestsPerChild4000         #每个进程生存期内服务最大的请求数量,0 表示用不 结束
</IfModule>
<Directory />
Options FollowSymLinks            #Options Indexes 目录浏览FollowSymLinks 用连接
浏览
AllowOverride None                #设置为 none,忽略.htaccess
</Directory>
LoadModule auth_basic_module modules/mod_auth_basic.so      #载入的库,模块Include conf.d/*.conf               #conf.d 里面的 conf 文件也属有效配置文件
User apache            #运行以哪个身份运行
Group apache          #运行以哪个组的身份运行
ServerAdmin root@localhost       #管理员邮箱
DocumentRoot "/var/www/html"   #默认的主目录,如果改动要改动两处,Directory
<Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None
Order allow,deny                   #这里默认后者生效,也就是 deny 生效
Allow from all                       #这里说允许所有
</Directory>
LogLevel warn                         #日志等级
DirectoryIndex index.html index.html.var  #首页
AccessFileName .htaccess              #access 文件名,也可以在这里定义伪静态、防盗链等,不建议在这个文件定义
AddDefaultCharset UTF-8              #支持的语言,默认编码
#配置文件的最后是虚拟主机的字段

yum 的方式搭建 LAMP 环境
LAMP=Linux(存在)+Apache(HTTPD 已安装)+Mysql+PHP

yum install httpd  mysql mysql-server php php-mysql –y

测试数据库:

 service mysqld start
chkconfig mysqld onmysql
mysql> show databases;
mysql>exit;

测试apache是否支持php

cd /var/www/html/vim index.php
<?php
phpinfo();
?>

LAMP环境,几种不同的安全访问机制的实现:
一、修改网站目录对应参数及权限:
修改网站默认根目录,并且设置访问权限,只有在我允许的范围之内可以访问
修改网站默认根目录
设置文档目录为/var/www/html/bbs

vim /etc/httpd/conf/httpd.confDocumentRoot "/var/www/html/bbs"

允许所有人访问/var/www/html/bbs 目录

#目录与访问控制:
<Directory "/var/www/html/bbs">      #子目录会继承这个目录的属性Options  FollowSymLinks            #Options:Indexes:目录浏览  AllowOverride None                 #Followsymlinks:可以用连接Order allow,denyAllow from 192.168.18.0/24                     #从哪里来的允许
Deny from 192.168.16.0/24                      #从哪里来的拒绝
Allow from  .baidu.com
#Allow,Deny都会读取,如果有冲突和未说明的时候按照Order选项逗号后面的那个为准。
谁写到后面,谁的优先级高。
</Directory>

二、使用别名,引用网站根目录以外的路径。
将/usr/local/phpdata 目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.1.63/ phpdata/ 时,就可以访问目录/usr/local/phpdata中的内容。
注:apache的别名也叫虚拟目录
语法:
Alias URL路径 PATH物理路径

创建测试数据:

mkdir /usr/local/phpdataecho "This Alias PHPdata" > /usr/local/phpdata/index.html
#修改配置文件:
vim /etc/httpd/conf/httpd.conf  # 在Alias下添加以下内容Alias /phpdata/ "/usr/local/phpdata/"
<Directory "/usr/local/phpdata/">Options Indexes FollowSymLinks  AllowOverride None Order deny,allowAllow from all
</Directory>
注:Alias /phpdata/ "/usr/local/phpdata/"     #/phpdata/ 可以随意起。比如改/phpdata/ 为/php/  则访问链接: http://192.168.1.63/php/

测试:

service httpd restart
http://192.168.1.63/phpdata/

三、当一个目录下没有默认首页时,访问http://192.168.1.63/phpdata/禁止显示目录列表

vim /etc/httpd/conf/httpd.conf  # 修改红色标记内容328 # The Options directive is both complicated and important.  Please see329 # http://httpd.apache.org/docs/2.2/mod/core.html#options330 # for more information.331 #332     Options -Indexes FollowSymLinks        ###去除Indexes或者在前面加一个减号333  

四、通过用户认证的方式,对网站下/usr/local/phpdata/目录进行保护。 设置/usr/local/phpdata/目录,只能通过用户名密码方式访问。

 vim /etc/httpd/conf/httpd.conf   #在需要使用用户验证的目录的相关Directory段落添加以下红色标记内容:Alias /phpdata/ "/usr/local/ phpdata /"
<Directory "/usr/local/ phpdata /">Options Indexes FollowSymLinksAllowOverride NoneOrder deny,allowAllow from allauthtype basic   # authtype命令:指定认证类型为:basic。authname "my web site"  #  AuthName命令:指定认证区域名称。区域名称是在提示要求认证的对话框中显示给用户的。authuserfile /etc/httpd/conf/passwd.secret   AuthUserFile命令:指定一个包含用户名和密码的文本文件,每行一对。#require user tom #require user tom bobrequire valid-user# require命令:指定哪些用户或组才能被授权访问。如:#require user user1 user2(只有用户user1和user2可以访问)# require valid-user (在AuthUserFile指定的文件中任何用户都可以访问)
</Directory>

利用Apache附带的程序htpasswd,生成包含用户名和密码的文本文

 # htpasswd -cm 存放用户名和密码的文件名 用户名htpasswd -cm /etc/httpd/conf/passwd.secret tom
New password: 123456
Re-type new password: 123456
Adding password for user tom
#第一个生成用户名和密码,需要创建文件,因此需要加-c参数htpasswd -h   #查看参数
-c  Create a new file.
-m  Force MD5 encryption of the password.htpasswd -m /etc/httpd/conf/passwd.secret bob
New password: 123456
Re-type new password: 123456
Adding password for user bobcat /etc/httpd/conf/passwd.secret   #查看内容
tom:$apr1$WJicnaIz$ejqYMmcqukEMsAVEjLcKf.
bob:$apr1$S8pXfxJh$tletPNMKd33WZXqdkSLFy0测试:[root@xuegod63 conf]# service httpd restart
http://192.168.1.63/phpdata/

六 、配置apache虚拟主机,实现在一台服务器上运行多个网站
apache虚拟主机实现有三种方法:
1、通过不同的IP地址
2、通过不同的域名
3、通过不同的端口号

三种都需要把虚拟主机功能打开:
vim /etc/httpd/conf/httpd.conf

改:
#NameVirtualHost *:80
为:
NameVirtualHost *:80方法1:
通过不同的IP地址,解析不同域名
给服务器增加IP(另一个域名解析出来的那个IP)。ifconfig eth0:1 192.168.0.56 netmask 255.255.255.0mkdir  /var/www/html/bbs/echo "bbs.xuegod.cn"  > /var/www/html/bbs/index.html修改httpd.conf
#vim httpd.conf   在文件的最后,添加以下内容
<VirtualHost 192.168.0.63:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot /var/www/html/ServerName dummy-host.example.comErrorLog logs/dummy-host.example.com-error_logCustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost 192.168.0.56:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot /var/www/html/bbs/ServerName dummy-host.example.comErrorLog logs/dummy-host.example.com-error_logCustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
测试:
[root@xuegod63 conf]# service httpd restart
http://192.168.1.56/
http://192.168.1.63/

方法二:
通过不同域名:
在域名管理后台,修改DNS配置,www.xuegod.com与bbs.xuegod.com解析成相同的IP。

修改httpd.conf

   vim httpd.conf
<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot /var/www/html/ServerName www.xuegod.comErrorLog logs/www.xuegod.com-error_logCustomLog logs/www.xuegod.com-access_log common
</VirtualHost>
<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot /var/www/html/bbs/
ServerName  bbs.xuegod.com
ErrorLog logs/bbs.xuegod.com-error_logCustomLog logs/bbs.xuegod.com-access_log common
</VirtualHost>vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.63   xuegod63.cn
192.168.1.63   www.xuegod.com
192.168.1.63   bbs.xuegod.com
192.168.1.64   xuegod64.cn

测试:

service httpd restart
elinks www.xuegod.com elinks bbs.xuegod.com

方法3:基于端口配置虚拟主机:

vim /etc/httpd/conf/httpd.conf   改:
Listen   80
为:
Listen   80
Listen   81
#  更改为你要添加的多个端口再建立两个虚拟主机: vim /etc/httpd/conf/httpd.conf   #  在文件的最后添加<VirtualHost *:80>ServerAdmin webmaster@dummy-host.example.comDocumentRoot /var/www/html/ServerName www.example.comErrorLog logs/www.example.com-error_logCustomLog logs/www.example.com-access_log common
</VirtualHost>
<VirtualHost *:81>ServerAdmin webmaster@dummy-host.example.comDocumentRoot /var/www/html/bbs/ServerName bbs.example.comErrorLog logs/bbs.example.com-error_logCustomLog logs/bbs.example.com-access_log common
</VirtualHost>

测试:

 service httpd restart
http://192.168.1.63/
http://192.168.1.63:81/

转载于:https://www.cnblogs.com/flyhgx/p/6367963.html

Apache搭建web网站服务器相关推荐

  1. linux下网站服务器,Linux下使用Apache搭建Web网站服务器(示例代码)

    [[email protected] ~]# yum install elinks –y 主配置文件 [[email protected] ~]# ls/etc/httpd/conf/httpd.co ...

  2. html5 php服务器搭建,使用Apache 搭建web 网站服务器

    1  )  安装httpd yum  -y  install   httpd 2 )  查看目录 3 )配置文件 4 )  默认是没有启动的 5 5)  开始启动apache 并设置开机自启动 6 ) ...

  3. mysql webmail ubuntu12.04 imap_Ubuntu 12.04下搭建Web网站服务器 (MySQL+PHP+Apache环境)教程...

    前言 看了网上很多关于用linux操作系统搭建网站服务器的教程,于是我自己也测试了很多,但今天所测试的 Ubuntu 12.04下搭建Web网站服务器 (MySQL+PHP+Apache环境),感觉这 ...

  4. RHEL 5服务篇—使用Apache搭建web服务(四)部署AWStats网站分析系统

    在httpd服务器的访问日志文件access_log中,记录了大量的客户机访问信息,通过分析这些信息,可以及时了解web站点的访问情况.但是由于access_log文件记录的信息太多,查看起来很不方便 ...

  5. 怎么配置搭建Nginx网站服务器

    centos系统中怎么配置搭建Nginx网站服务器针对这个问题,今天小编总结这篇有关Nginx配置的文章,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助.  一 .Nginx服务基础Nginx (e ...

  6. 吃透这套架构演化图,从零搭建Web网站也不难

    转载自 吃透这套架构演化图,从零搭建Web网站也不难 前言 工作也有几多年了,无论是身边遇到的还是耳间闻到的,多多少少也积攒了自己的一些经验和思考,当然,博主并没有太多接触高大上的分布式架构实践,相对 ...

  7. RHCE--给openlab搭建WEB网站

    综合练习:请给openlab搭建web网站 网站需求: 1.基于域名www.openlab.com可以访问网站内容为 welcome to openlab!!! 2.给该公司创建三个子界面分别显示学生 ...

  8. Linux web 网站服务器 虚拟主机

    Linux  web 网站服务器  虚拟主机 转载于:https://blog.51cto.com/daijiehao/1861625

  9. 网站服务器的解决方案有,Web网站服务器DDOS攻击的解决方案

    Web网站服务器DDOS攻击的解决方案,有需要了解的朋友可参考一下,这里我们只介绍免费的防ddos攻击的解决办法. 1.  服务器端分析方法 (1)SYNFlood攻击判定 A:网上邻居->右键 ...

  10. 群晖python套件包_利用群晖Docker安装ubuntu16.04搭建python网站服务器(部署篇)

    在帖子<利用群晖Docker安装ubuntu16.04搭建python网站服务器(安装篇)(地址:http://www.cirdown.com:81/thread-185-1-1.html)&g ...

最新文章

  1. Ubuntu下使用CMake编译OpenSSL源码操作步骤(C语言)
  2. CSS中的BFC机制
  3. html从入门到精通胡菘,网页设计与制作32课时完整教学大纲
  4. Asp.net 自定义config文件读取
  5. 通过skimmer发动供应链攻击,苏富比地产100多个网站受影响
  6. C++day14 学习笔记
  7. 7.12 PIC+PLT+GOT
  8. 软件用户手册(软件使用说明书)模板
  9. 微信公众号在开发者模式下自定义菜单
  10. mpeg1,mpeg2,mpeg4
  11. 【有效】vscode中markdown导出pdf报错解决: ERROR: Navigation Timeout Exceeded: 30000 ms exceeded
  12. Vue组件自调用/无限递归导航/element-ui导航封装
  13. Android 实时滤镜 高斯模糊(带源码)
  14. 双网卡设置一个外网一个内网_双网卡同时上网,内网外网同时启用的解放办法...
  15. Unet卷积神经网络架构
  16. PhotoShop 快速选择工具及选择并遮住使用
  17. 为什么程序员适合做自由职业者
  18. 当还是小孩子的时候….
  19. XGBoost, LightGBM
  20. 如何快速提高英语的词汇量

热门文章

  1. Leader:这样的 Bug 你也写的出来???
  2. node js npm grunt安装,elasticsearch-head 5.X安装
  3. 适配器模式之备忘录模式
  4. Spring Boot 核心配置文件,yml 语法规范、 多环境配置、配置文件加载顺序
  5. 语音识别(Web Speech API)
  6. 彻底关闭Excle进程的几个方法
  7. 透析Java本质-谁创建了对象,this是什么
  8. 企业常用的站内收索、QQ群、在线客服
  9. Tarjan算法——强连通分量
  10. 为什么现在我最终推荐内存OLTP