http://www.365master.com/manage/server/4/20080328/31346.shtml
教您在Ubuntu Linux上架设Web服务器
来源: 作者: 发布时间:2008-03-28

  Ubuntu Linux是在Debian的基础上开发出来的,Ubuntu系统能够良好地运行在Intel x86、PowerPC和AMD64位处理器等多种硬件平台上,并且可以从全球范围内的开放源代码社团中获得良好的支持。尽管Ubuntu是一种新兴的Linux分支,但Ubuntu却为Apache提供了丰富的软件支持,所以,Ubuntu非常适合作为Web服务器的平台。今天,我就给大家介绍如何在Ubuntu Linux系统上迅速搭建Apache Web服务器,希望本文对读者学习Ubuntu Linux系统有所帮助。

  一、安装Apache

  下面,我们首先介绍如何安装Apache。具体安装命令如下所示:

  $ sudo apt-get install apache2

  然后运行Apache,命令如下所示:

  $ sudo /etc/init.d/apache2 restart

  Apache在安装期间将会新建一个目录:/var/www,该目录是该服务器中存放文档的根目录。只要在浏览器的地址栏输入http://localhost/或机器的IP地址就能访问放置在此目录中的所有文档。

  二、安装PHP

  PHP是一种流行的服务器端脚本语言,一般与MySQL或 Postgres结合起来用于管理Web内容、blog和论坛。下面介绍其安装方法,其实它的安装也很简单,命令如下所示:

  $ sudo apt-get install libapache2-mod-php5

  重新启动Apache以加载上面安装的模块:

  $ sudo /etc/init.d/apache2 restart

  为了验证PHP模块是否正确加载,我们可以建立一个PHP文件,然后尝试通过Web服务器访问该文件。此外,我们知道PHP内建了一个phpinfo函数,该函数能够给出它的环境的详细信息。所以我们还可以利用下面的命令来检查PHP的工作情况:

  sudo sh -c “echo ‘' > /var/www/info.php”

  之后,在浏览器地址栏键入http://localhost/info.php,然后回车,这时应该能看到一个界面,给出刚才安装的PHP的详细信息。需要注意的是,如果在此过程中浏览器不显示页面,而是提示你下载文件,这就说明Apache没有正确加载PHP模块。解决问题的办法是,在/etc/apache2/apache2.conf 或/etc/apache2/mods-enabled/php5.conf文件中加入下面一行命令:

  AddType application/x-httpd-php .php .phtml .php3

  加入上面的命令行后,为了保证Apache重新读取配置文件关闭,我们可以通过下面的命令将其关闭,然后再加以启动:

  $ sudo /etc/init.d/apache2 stop

  $ sudo /etc/init.d/apache2 start

  三、配置动态虚拟主机

  一般情况下,我们会在Web服务器上寄放多个Web站点,并且每个站点都有它自己的虚拟服务器。对于Apache来说,它同时支持基于名称的虚拟服务器和基于IP的服务器。

  对于基于IP的虚拟服务器,每个站点都具有一个单独的IP地址,这样的缺点是使用太多的IP地址,但如今IPv4的地址已有枯竭的迹象,所以不提倡使用,通常在要求使用SSL 时才使用。

  对于基于名称的虚拟服务器,多个Web站点共享一个IP地址。在这种情况下,通常根据HTTP请求头部来决定将其发给哪一个站点。为此,我们需要为每个虚拟服务器分别建立一个配置,给作为Web站点的根的目录以及主机命名。但是,如果这样的话我们每当添加一个新的虚拟服务器时,就要修改Apache的配置并重新启动,这的确很烦人呢!

  值得高兴的是,如果使用动态虚拟主机技术的话,可以随时加入虚拟主机时而不必重新配置或启动Apache。该技术要用到一个模块,称为vhost_alias。我们可以通过在Apache2已启用的模块目录中建立一个符号链接来启用该模块,命令如下所示:

  $ sudo ln -s /etc/apache2/mods-available/vhost_alias.load /

  /etc/apache2/mods-enabled/vhost_alias.load

  要想使vhost_alias正常工作,我们还需要修改/etc/apache2/apache2.conf 来关闭常规名称(canonical names),修改日志文件的配置,并为我们的虚拟主机规定存放位置。下面是一个实例:

  #从“Host:”头中取得主机名

  UseCanonicalName Off

  # 这种日志格式可以从第一个字段中提取出主机名

  LogFormat “%V %h %l %u %t “%r” %s %b” vcommon

  CustomLog /var/log/apache2/access_log vcommon

  # 在返回请求的文件名路径中包含主机名

  VirtualDocumentRoot /var/www/vhosts/%0/web

  VirtualScriptAlias /var/www/vhosts/%0/cgi-bin

  接下来,创建存放虚拟主机的目录,命令如下:

  $ sudo mkdir /var/www/vhosts

  新建一个基干虚拟服务器,命令如下所示:

  $ sudo mkdir -p /var/www/vhosts/skeleton/cgi-bin

  $ sudo cp -a /var/www/apache2-default /var/www/vhosts/skeleton/web

  重新启动apache2,使得上面的配置生效,方法如下所示:

  $ sudo /etc/init.d/apache2 restart

如何配置linux服务器相关推荐

  1. 配置linux服务器做简单的路由器

    配置linux服务器做简单的路由器       任务:使用 Linux服务器配置路由器. 目标:实现单位两个网段:192.168.1.0/24和192.168.2.0/24两个网段互相访问. 步骤: ...

  2. Prometheus+Grafana安装配置并配置linux服务器监控dashboard

    一.简介: prometheus是谷歌用golang语言开发的一款开源的监控软件,使用安装在远程机器上的exporter,通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上. Promet ...

  3. 访问linux端口失败_教你如何配置Linux服务器防火墙端口规则

    首先查看云服务器(Linux系统)端口是否能本地远程访问. 这里演示以阿里云服务器CentOS7为例 测试命令: telnet ip地址 端口 在本地window系统 cmd命令窗口输入该命令.ip地 ...

  4. 配置linux服务器XShell命令大全

    shell注册码:101210-450789-147200 CentOS 7 (cd 路径) 1.修改主机名:hostnamectl set-hostname 新名 2.VI文本编辑命令:vi 文本文 ...

  5. 服务器c的环境配置文件,配置linux服务器环境(jdk+tomcat+mysql+nginx+redis+svn+nexus的maven私服)...

    一.安装jdk: 1.远程连接工具我用的是xshell6: 切换到root用户 2.创建安装目录: 创建安装目录 3.将jdk上传到目录下,并解压: 上传文件 解压tar zxvf jdk-8u191 ...

  6. 配置linux服务器pptpd,Linux下配置pptpd

    如果需要访问美国网站,则需要一台有美国ip的服务器,并在服务器上配置pptpd,你在有上海ip一台电脑上***到美国那台服务器上,然后访问美国网站.登陆qq,你会发现你的qq在美国登陆了.你也可以访问 ...

  7. linux 访问外网设置von,如何配置Linux服务器,才能远程访问Xwindow呢?

    终端软件都差不多.你好好看看吧. ****************************************************************** 有很多人问怎么用x终端,大家可以 ...

  8. 阿里云主机购买及配置Linux服务器(centos7.5)详细步骤

    登录阿里云官网注册账号,并充值100元以上,点击控制台开始购买云主机实例. 点击云服务器ECS 3.点击实例 4.点击创建实例 5.由于是技术调研,故选择抢占式服务即可(根据自己需求选择) 6.选择离 ...

  9. centOS7 mini配置linux服务器(一)安装centOs7

    1. 准备centos-7 (minni镜像) 官网地址http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minim ...

最新文章

  1. osi 模型 tcpip网络模型
  2. mac nginx 非brew安装_Mac下使用Home Brew安装Nginx
  3. git 版本操作命令大全
  4. 制定统一业务逻辑基础规则
  5. mysql redis hbase_MySQL之基本介绍
  6. visual studio 按钮判断管理员和用户_用户管理的设计原则
  7. nodejs集成sqlite
  8. 安装linux到服务器配置,CentOS 6.3 服务器安装配置
  9. header manipulation 漏洞_【资讯】HPE 修补了两个关键的远程可利用漏洞
  10. 控件制作之design-time attribute
  11. python将对象放入列表根据某个属性排升序_python实现对象列表根据某个属性排序的方法详解...
  12. python save保存图片到本地_python爬取网站上的图片并保存到本地
  13. System Center App Controller 2012 Service Pack 1系列文章
  14. 用递归法打印九九乘法表c语言,java递归打印九九乘法表
  15. 专业人员选择关键词的标准和原则
  16. mp3中不可缺少的音乐
  17. 操作系统——进程调度
  18. iMeta高被引论文|陈同/刘永鑫等高颜值绘图网站imageGP被引500次(截止22/12/13)
  19. 干货解答:如何设置Facebook Messenger 自动回复?
  20. Android如何快速创建启动动画

热门文章

  1. ERROR 1526 (HY000): Table has no partition for value xxx
  2. ssm毕设项目快递代收系统00pay(java+VUE+Mybatis+Maven+Mysql+sprnig)
  3. 知识图谱--知识抽取--使用D2R将关系型数据库mysql中的数据转换为RDF形式,并使用protege查看
  4. 全国省市数据 sql语句+json格式数据
  5. Toy3D引擎:网页游戏3D化的利器
  6. html预览dwg文件,大佬救命!有关dwg文件预览的问题
  7. 用auto.js写了一个抖音点赞、关注的脚本
  8. 亚马逊服务器配置php,在亚马逊AWS上建立Git服务器
  9. Cris 玩转大数据系列之消息队列神器 Kafka
  10. 全球与中国远程家庭监控系统市场深度研究分析报告