热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Ubuntu系统使用Apache搭建web服务器

一、安装ApacheUbuntu提供了3个apache2的软件包,它们分别是apache2-mpm-worker、apache2-mpm-prefork、apache2-mpm-event。如果你在安装Ubuntu操作系统《入门篇:ubuntuserver安装教程》的时候你选择安装了LAMP包的话,那么安装的是apac

一、安装Apache

Ubuntu提供了3个apache2的软件包,它们分别是apache2-mpm-worker、apache2-mpm-prefork、apache2-mpm-event。如果你在安装Ubuntu操作系统《入门篇:ubuntu server 安装教程》的时候你选择安装了LAMP包的话,那么安装的是apache2-mpm-prefork。如果你没有选择安装LAMP包,安装完系统之后,执行下面的命令安装apache2这个软件包时,安装的是apache2-mpm-worker:
sudo apt-get install apache2

二、配置Apache
在Ubuntu中,Apache的软件包时由ubuntu官方核心开发组维护的。他们在编译apache时,只编译进了很少的模块。如果需要其它的模块,则需要手工添加。这也大大增强了apache的可定制性和灵活性。可以使用apache2 -l命令查到被编译进apache2的模块。

1、Apache配置文件说明
Ubuntu和Debian对apache2软件包做了很多定制,很多配置文件的布局都和原来的apache2的布局不同。以下是/etc/apache2目录下各个配置文件的说明:

*apache2.conf——全局配置文件
*conf.d/——该目录存放一些一般性的配置
*envvars——存放环境变量,一般不需要修改
*httpd.conf——用户配置文件
*mods-available/——该目录下是已经安装的可用模块
*mods-enabled/——该目录下是已经启用的模块
*ports.conf——httpd服务的端口
*sites-available/——该目录下是可用的虚拟主机
*sites-enabled/——该目录下是已经启用的虚拟主机

其中,apache2.conf是apache2的主配置文件,它会读取上面列出的所有目录和文件(sites-available目录除外,因为apache不需要知道有哪些虚拟主机可用,它只需要加载那些已经启用的虚拟主机就可以了。)

2、Apache模块
新安装的Apache编译加载的模块很少,很多模块要手动安装或者加载。可以使用a2enmod查看可用的模块和用a2dismod查看已经启用的模块。如果你要用的模块还没有安装,但是你又不知道这个模块在Ubuntu中的确切名称,则可以先用apt-get search libapache2-mod命令进行搜索,找到正确的软件包名称后,再用apt-get install来安装。

3、Apache网页文件默认存放的位置
在默认情况下,apache把网站文件放在/etc/www目录下。通过DocumentRoot关键字的设置,你可以把任意目录指定为网页文件的根目录。你也可以在里面建立多个网页文件的目录,如:
/var/www/www.server110.com
/var/www/bbs.server110.com
……
也就是说每个网站有自己单独的文件夹,这样管理起来比较清晰。另外/var分区需要大一些,因为mysql数据库文件和日志文件,以及网站日志文件都保存在这里。

4、Apache虚拟机设置
apache既支持基于域名的虚拟主机,也支持基于IP的虚拟主机。

Ubuntu的Apache2为提供虚拟主机支持做了很好的配置。如果你的服务器只有一个网站,基本上不用修改配置,虚拟机就可以用了;如果有多个网站,则可以复制defualt虚拟主机的配置文件进行修改,这样可以很快的建立多个网站。

每个apache的虚拟主机都有单独的配置文件。这些虚拟主机的配置文件放在/etc/apache2/sites-available目录下。上面提到的default虚拟主机,位于这个目录里。如果你在浏览器中访问服务器的IP地址,出现页面“It Worker!”,表明网站已经在提供服务了。

4.1创建一个新的虚拟主机
要创建一个新网站,你需要创建一个新的虚拟主机。假设我现在要创建一个域名为www.server110.com的虚拟主机:
*先将default虚拟主机复制一份,以便用来修改:
sudo cp default www.server110.com

*然后编辑www.server110.com
sudo nano www.server110.com

www.server110.com内容如下:


ServerAdmin webmaster@localhost
DocumentRoot /var/www

FCGIWrapper /usr/bin/php5-cgi .php
Options ExecCGI SymLinksIfOwnerMatch
AllowOverride None


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error,
crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ “/usr/share/doc/”

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128

修改后:


ServerAdmin aliwo@qq.com
ServerName www.server110.com
ServerAlias server110.com
DocumentRoot /var/www/www.aliwo.com

FCGIWrapper /usr/bin/php5-cgi .php
Options ExecCGI SymLinksIfOwnerMatch
AllowOverride None

/var/www/www.aliwo.com>
Options FollowSymLinks MultiViews
AllowOverride ALL
Order allow,deny
allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all

ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error,
crit,
# alert, emerg.
LogLevel warn
#日志
CustomLog /var/log/apache2/access.log combined
Alias /doc/ “/usr/share/doc/”

Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128

4.2、启动www.server110.com
sudo a2ensite www.server110.com
同时禁止default(即禁止使用IP访问)。
sudo a2dissite default

5、建立网站目录
#cd /var/www
#mkdir /var/www/www.server110.com
然后把网页文件上传到目录里面。

6、重启apache2,生效网站:
sudo /etc/init.d/apache2 restart

这样一个站点就建立了,以后要建立新的网站,就复制www.server110.com这个虚拟机的配置文件,修改servername和网站目录路径就可以了。


推荐阅读
  • 搭建个人博客:WordPress安装详解
    计划建立个人博客来分享生活与工作的见解和经验,选择WordPress是因为它专为博客设计,功能强大且易于使用。 ... [详细]
  • Ubuntu 环境下配置 LAMP 服务器
    本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • 本文详细探讨了在Web开发中常见的UTF-8编码问题及其解决方案,包括HTML页面、PHP脚本、MySQL数据库以及JavaScript和Flash应用中的乱码问题。 ... [详细]
  • MySQL Administrator: 监控与管理工具
    本文介绍了 MySQL Administrator 的主要功能,包括图形化监控 MySQL 服务器的实时状态、连接健康度、内存健康度以及如何创建自定义的健康图表。此外,还详细解释了状态变量和系统变量的管理。 ... [详细]
  • 本文介绍了 PHP 的基本概念、服务器与客户端的工作原理,以及 PHP 如何与数据库交互。同时,还涵盖了常见的数据库操作和安全性问题。 ... [详细]
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • H5技术实现经典游戏《贪吃蛇》
    本文将分享一个使用HTML5技术实现的经典小游戏——《贪吃蛇》。通过H5技术,我们将探讨如何构建这款游戏的两种主要玩法:积分闯关和无尽模式。 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 提升工作效率:掌握15个键盘快捷键
    在日常工作中,熟练掌握计算机操作技巧能够显著提升工作效率。本文将介绍15个常用的键盘快捷键,帮助用户更加高效地完成工作任务。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上安装和配置 MySQL、Tomcat 和 JDK 的步骤。通过本文,您将了解如何顺利安装这些组件,并确保它们能够正常协同工作。 ... [详细]
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
author-avatar
艺卓显示、巴可投影
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有