2-19-使用apache搭建web网站
1 搭建一台测试web服务器
案例:
部门内部搭建一台WEB服务器,采用的IP地址和端口为192.168.10.34:80,首页采用index.html
文件。管理员E-mail地址为 xuegod@xuegod.cn,网页的编码类型采用UTF-8,所有网站资源都存放在/var/www/html目录下,并将Apache的配置文件根目录设置为/etc/httpd目录。
[root@xuegod4 ~]#yum -yinstall httpd
[root@xuegod4 ~]#vim/etc/httpd/conf/httpd.conf
修改配置文件相关参数:
[root@xuegod4 ~]# vim /etc/httpd/conf/httpd.conf #以下参数需要我们掌握
57 ServerRoot "/etc/httpd"#apache配置文件的根目录
70 Timeout 60 #超时时间,接收和发送前超时秒数
136 Listen 80 #监听的端口
262 ServerAdmin root@localhost #设置管理员,e-mail 地址
277 ServerName 192.168.1.163:80 #服务器主机名.
293 DocumentRoot "/var/www/html" #网站页面根目录
Options Indexes FollowSymLinks #当一个目录没有默认首页时,允许显示此目录列表
禁止 Apache 显示目录结构列表,只需将 Option 中的 Indexes 去掉即可
403 DirectoryIndex index.html index.html.var#指定默认首页
编码:
AddDefaultCharset UTF-8 # 设置服务器的默认编码为:UTF-8
2 取消apache默认欢迎页:
[root@xuegod4 ~]# vim/etc/httpd/conf.d/welcome.conf
#
# This configuration fileenables the default "Welcome"
# page if there is nodefault index page present for
# the root URL. To disable the Welcome page, comment
# out all the linesbelow.
#
#<LocationMatch"^/+$"> #把红色内容进行注释
# Options -Indexes
# ErrorDocument 403 /error/noindex.html
#</LocationMatch>
重启:
[root@xuegod4~]# service httpd restart
创建首页文件:
[root@xuegod4 ~]# echo 'welcome to www.xuegod.cn' >/var/www/html/index.html

3 使用rpm搭建lamp 环境
LAMP = linux+apache+mysql数据库+php
[root@xuegod4 ~]# yum install httpd mysql-server php php-mysql
测试数据库:
[root@xuegod4 ~]# service mysqld start
Starting mysqld: [ OK ]
[root@xuegod4 ~]# chkconfig mysqld on
[root@xuegod4 ~]# mysql
mysql> show databases;
mysql> exit;
Bye
[root@xuegod4 ~]# cd /var/www/html/
[root@xuegod4 html]# vim index.php
<?php
phpinfo();
?>
重启apache服务:
[root@xuegod4 html]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
MaxClients 256 #设置客户端最大连接数为 256

4 修改网站根目录及对应参数,设置访问权限
设置文档目录为/var/www/html/bbs

目录与访问控制:
<Directory "/var/www/html/bbs"> #子目录会继承这个目录的属性
Options FollowSymLinks #Options:Indexes:目录浏览 #Followsymlinks:可以用连接
AllowOverrideNone #不允许任何Override
Orderallow,deny
Allow from192.168.1.0/24 #从哪里来的允许
Deny from 192.168.1.0/24 #从哪里来的拒绝
Allow from .baidu.com
#Allow,Deny都会读取,如果有冲突和未说明的时候按照Order选项逗号后面的那个为准。
谁写到后面,谁的优先级高。
</Directory>
配置完重启apache服务
如果报错检查目录是否已创建?
测试:
service httpd restart #拒绝

5 使用别名功能,引用网站根目录以外的路径
将/usr/local/phpmyadmin 目录通过虚拟目录功能添加到网站根目录。当访问http://192.168.1.63/phpmyadmin/ 时,就可以访问目录/usr/local/phpmyadmin中的内容。
注:apache的别名也叫虚拟目录
语法:
Alias URL路径 PATH物理路径
创建测试目录和数据
[root@xuegod4 ~]# mkdir/usr/local/phpmyadmin
[root@xuegod4 ~]# cp -r/boot/grub/ /usr/local/phpmyadmin/
[root@xuegod4 ~]# echo"test1" >/usr/local/phpmyadmin/a.html
修改配置文件
[root@xuegod4 ~]# vim/etc/httpd/conf/httpd.conf

Alias /phpmyadmin"/usr/local/phpmyadmin/"
<Directory"/usr/local/phpmyadmin/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
注:Alias/phpmyadmin/ "/usr/local/phpmyadmin/" #/phpmyadmin/ 可以随意起。比如改/phpmyadmin/ 为/php/ 则访问链接: http://192.168.1.63/php/

当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表
修改配置文件:
[root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf # 修改红色标记内容
Alias /phpmyadmin/ "/usr/local/phpmyadmin/"
<Directory "/usr/local/phpmyadmin/">
Options -Indexes FollowSymLinks #在Indexes 前加-减号,此目录下没有默认首页时,禁止显示目录
AllowOverrideNone
Orderdeny,allow
Allow from all
</Directory>

6 打开软链接功能
通过软链接直接引用网站根目录以外的内容
[root@xuegod4 ~]# mkdir /web2
[root@xuegod4 ~]# echo test1 > /web2/a.html
[root@xuegod4 ~]# ln -s /web2/ /var/www/html/web2
[root@xuegod4 ~]# rm -rf /var/www/html/index.html
[root@xuegod4 ~]# rm -rf /var/www/html/index.php
[root@xuegod4 ~]# vim /etc/httpd/conf/httpd.conf

[root@xuegod4 ~]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

7 通过用户认证的方式,对网站下/usr/local/phpmyadmin/目录进行保护。 设置/usr/local/phpmyadmin/目录,只能通过用户名密码方式访问。
方法一:
Alias /phpmyadmin/ "/usr/local/phpmyadmin/"
<Directory "/usr/local/phpmyadmin/">
Options IndexesFollowSymLinks
AllowOverrideNone
Orderdeny,allow
Allow from all
authtype basic #基本认证
authname "MySQL admin software"
authuserfile /etc/httpd/conf/passwd.secret #密文配置文件路径
#require usertom
#require usertom bob
require valid-user #有效用户
</Directory>
重启apache 访问http://192.168.1.63/phpmyadmin验证

生成认证账号和密码
[root@xuegod63 ~]#htpasswd -cm /etc/httpd/conf/passwd.secret man
New password:
Re-type new password:
Adding password for user man
验证:

方法二:
[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf
<Directory"/usr/local/phpmyadmin/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
AllowOverride AuthConfig
</Directory>
# AllowOverride AuthConfig一行表示允许对/usr/local/phpmyadmin/目录下的文件进行用户认证。
[root@xuegod63 ~]# vim/usr/local/phpmyadmin/.htaccess
authtype basic
authname "MySQL admin software by .htaccess"
authuserfile /etc/httpd/conf/passwd.secret
#require user tom
require valid-user
8 配置apache虚拟主机,实现在一台服务器上运行多个网站
apache虚拟主机实现有三种方法:
1、通过不同的IP地址
2、通过不同的域名
3、通过不同的端口号
[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf
改:
#NameVirtualHost*:80
为:
NameVirtualHost*:80
8.1 通过不同的IP地址,解析不同的域名
给服务器增加IP(另一个域名解析)
[root@xuegod63 ~]# ifconfigeth0:1 192.168.1.65
[root@xuegod63 ~]# mkdir/var/www/html/bbs
[root@xuegod63 ~]# echo"bbs.xuegod.cn" >/var/www/html/bbs/index.html
[root@xuegod63 ~]# echo"www.xuegod.cn" > /var/www/html/index.html
修改httpd.conf
[root@xuegod63 ~]# vim/etc/httpd/conf/httpd.conf
<VirtualHost192.168.10.63:80>
ServerAdmin root@xuegod.cn
DocumentRoot /var/www/html/
ServerName www.xuegod.cn
ErrorLog logs/www.xuegod.cn-error_log
CustomLog logs/www.xuegod.cn-access_logcommon
</VirtualHost>
<VirtualHost 192.168.10.65:80>
ServerAdmin root@xuegod.cn
DocumentRoot /var/www/html/bbs/
ServerName bbs.xuegod.cn
ErrorLog logs/bbs.xuegod.cn-error_log
CustomLog logs/bbs.xuegod.cn-access_logcommon
</VirtualHost>
重启服务
service httpd restart
测试:


8.2 通过不同的域名配置虚拟主机
#vim httpd.conf
NameVirtualHost *:80
<VirtualHostwww.xuegod63.cn>
ServerAdmin root@xuegod.cn
DocumentRoot /var/www/html/
ServerName www.xuegod.cn
ErrorLog logs/www.xuegod.cn-error_log
CustomLog logs/www.xuegod.cn-access_logcommon
</VirtualHost>
<VirtualHostbbs.xuegod63.cn>
ServerAdmin root@xuegod.cn
DocumentRoot /var/www/html/bbs/
ServerName bbs.xuegod.cn
ErrorLog logs/bbs.xuegod.cn-error_log
CustomLog logs/bbs.xuegod.cn-access_logcommon
</VirtualHost>
重启服务
service httpd restart
修改电脑hosts文件C:\Windows\System32\drivers\etc\hosts作解析:
192.168.10.34 www.xuegod63.cn
192.168.10.34 bbs.xuegod63.cn
测试:

8.3 通过不同的端口配置虚拟主机
[root@xuegod63 conf]# vim /etc/httpd/conf/httpd.conf
改:
Listen 80
为:
Listen 80
Listen 81
#更改为你要添加的端口
再创建2个虚拟主机
<VirtualHost *:80>
ServerAdmin root@xuegod.cn
DocumentRoot /var/www/html/
ServerName www.xuegod.cn
ErrorLog logs/www.xuegod.cn-error_log
CustomLog logs/www.xuegod.cn-access_logcommon
</VirtualHost>
<VirtualHost *:81>
ServerAdmin root@xuegod.cn
DocumentRoot /var/www/html/bbs/
ServerName bbs.xuegod.cn
ErrorLog logs/bbs.xuegod.cn-error_log
CustomLog logs/bbs.xuegod.cn-access_logcommon
</VirtualHost>
重启服务
service httpd restart
验证:
http://192.168.10.34:80
http://192.168.10.34:81


2-19-使用apache搭建web网站的更多相关文章
- Apache搭建http网站服务器入门教程
Apache搭建http网站服务器入门教程 准备工具 一台带有Linux系统的主机,这里使用CentOS 7.1 64位系统 一个备案过的域名,这里使用www.hellopage.cn 一台可以访问网 ...
- 从零搭建Web网站
前言 工作也有几多年了,无论是身边遇到的还是耳间闻到的,多多少少也积攒了自己的一些经验和思考,当然,博主并没有太多接触高大上的分布式架构实践,相对比较零碎,随时补充.俗话说得好,冰冻三尺非一日之寒,滴 ...
- 使用LXD搭建Web网站
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由独木桥先生 发表于云+社区专栏 介绍 Linux的容器是Linux的一组进程,通过使用Linux内核功能与系统隔离.它是一个类似于虚拟 ...
- Virtual Box + CentOS Minimal + Apache搭建Web服务器
本文并不介绍关于Virtual Box, CentOS, Apache的安装, 主要针对安装后相关的配置, 使宿主机(Host)可以访问客户机(Guest: CentOS in Virtual Box ...
- 搭建 Web 网站常用技能
为软件创建专用数据库及其账号 create database if not exists gitea default charset = utf8mb4; grant ALL PRIVILEGES o ...
- 【LAMP】搭建Web网站过程中的记录【Ubuntu18.04+Apache2.4+PHP7.2+MySQL5.7】
全文使用的环境如题,主机使用的是腾讯云主机. 内容应该会是linux和apache这些所有部分都有一点,因为是遇见一个问题就记录一个. 配置LAMP环境 这部分可以参考这篇文章:https://www ...
- Apache搭建多个站点
如何用Apache搭建的网站系统上运行多个站点呢?最平常的大概有3种方法. 第一种:单IP不同端口 第二种:多IP同端口(独立IP的虚拟空间) 第三种:域名绑定根目录的方式(共享IP的虚拟空间) 下面 ...
- 使用CGIHTTPServer搭建简单网站
目录 一.前提准备 二.搭建web网站 如何快速搭建web网站?这个问题对于我这样的小白来说简直就是一脸懵逼毫无头绪.在学习python的过程接触到了 CGI 编程,至于CGI是什么?怎么运行的?这我 ...
- 搭建开发框架Express,实现Web网站登录验证
NodeJS学习笔记(一)——搭建开发框架Express,实现Web网站登录验证 JS是脚本语言,脚本语言都需要一个解析器才能运行.对于写在HTML页面里的JS,浏览器充当了解析器的角色.而对于需 ...
随机推荐
- SpringMVC+Spring+Mybatis+Mysql项目搭建
眼下俺在搭建一个自己的个人站点玩玩.一边练习.一边把用到的技术总结一下,日后好复习. 站点框架大致例如以下图所看到的: 眼下仅仅用到了SpringMVC+Spring+Mybatis+Mysql.把它 ...
- HttpClient基础教程 分类: C_OHTERS 2014-05-18 23:23 2600人阅读 评论(0) 收藏
1.HttpClient相关的重要资料 官方网站:http://hc.apache.org/ API:http://hc.apache.org/httpcomponents-client-4.3.x/ ...
- [内核编程] 4.5 HOOK分发函数
4.5 HOOK分发函数 本节开始深入的探讨键盘的过滤与反过滤.有趣的是,无论是过滤还是反过 滤,其原理都是进行过滤.取胜的关键在于:谁将第一个得到信息. 黑客可能会通过修改一个已经存在的驱动对象(比 ...
- 三天打渔,俩天晒网(C++实现)
#include <iostream> using namespace std; int leap (int a) { if (a%4==0%a%100!=0||a%400==0) ...
- [Postgre] Insert Data into Postgre Tables
// Insert one row INSERT INTO movies (title, release_date, count_stars, director_id) VALUES ( 'Kill ...
- 5.Maven和Eclipse整合(两种方式进行插件的安装),Maven相关设置,Eclipse下创建Maven项目
1 第一种方式是:在连网的情况下.通过在helpàInstall下安装. 新的地址是:http://download.eclipse.org/technology/m2e/releases 2 ...
- 今天犯了个小错误:_dataArray.count>1 和_dataArray.count>0搞混淆了
_dataArray.count>1 和_dataArray.count>0搞混淆了:当数据为一条时,条件不成立.应该_dataArray.count>=1 或者>0 ( ...
- Shell脚本实现超简洁的在Linux服务器上安装nginx、resin、java、tomcat、redis等程序
说明: 用平常的方式在Linux服务器上安装程序,需要下载安装包.进入安装包位置.给安装包文件赋予可执行权限.执行安装.设置环境变量--等等一系列复杂的操作.并且如果有关联也需要一个一个的挨着安装.耗 ...
- 浅谈CAS(Compare and Swap) 原理
浅谈CAS原理java并发编程也研究了一段时间了,对CAS的原理总是不太理解,今天再研究了一下,记录一些自己的理解. 说到CAS,再java中的某些情况下,甚至jdk1.5以后的大多数情况,并发 ...
- android tips—开机引导启动wifi设置
在开机引导(Setupwizard,Guide)中都有关于wifi设置项,我得做法例如以下: Intent intent = new Intent(); intent.setClassName(&qu ...