凡东 さんのプロフィール凡东的共享空间フォトブログつながり ツール ヘルプ

ブログ


    10月20日

    使用Ubuntu搭建Web服务器(PHP)

     

    http://www.linuxidc.com/Linux/2008-07/14178p2.htm(zhuanzai)

    Apache 是一种功能强大的Web服务器。如今,Internet上无数运行在Linux上的Apache服务器正为Web世界的日益繁荣提供着有力的支撑。本文将向读者介绍如何在Ubuntu Linux系统迅速搭建Apache Web服务器。

      尽管Ubuntu 是一种新兴的Linux分支,但Ubuntu 组织却为Apache提供了丰富的支持软件,这些软件都可以从发行版的光盘获取,也可以从官方站点轻松下载。所以,Ubuntu非常适合作为Web服务器的平台。

    一、 安装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

      好了,现在我们可以建立基于名称的虚拟主机了。方法是将基干拷贝到要响应的主机名。举例来说,要想为www.Linuxidc.com新建一个虚拟服务器的话,只要运行下面的命令就行了:

      $ sudo cp -a /var/www/vhosts/skeleton /var/www/vhosts/

      www. Linuxidc.com

      现在,所有到达你的Apache服务器的HTTP连接中,只要其“Host:”头部被设成 www. Linuxidc.com,那么将由对应的虚拟服务器来响应。

      为了早些看到我们的劳动成果,可以在本地进行测试。为此编辑/etc/hosts,加入下面一项:

      127.0.0.1 www. Linuxidc.com

      这样,在本机上就能访问该站点了。但是,为了让所有用户都能访问虚拟主机,还需申请域名,并且我们还需要在公共DNS服务器上进行设置。

    コメント (1 件)

    しばらくお待ちください。
    入力されたコメントは長すぎます。短くしてください。
    何も入力されていません。もう一度やり直してください。
    現在、コメントを追加できません。後でもう一度やり直してください。
    コメントと書くには、保護者 (ほごしゃ) の方の許可 (きょか) をもらってください。許可をリクエストする
    保護者 (ほごしゃ) の方が、あなたがコメントを書けないようにしています。
    現在、コメントを削除できません。後でもう一度やり直してください。
    1 日に投稿できるコメントの最大数を超えました。24 時間経過してから、もう一度やり直してください。
    あなたが他のユーザーに対して迷惑行為を行っている可能性があると確認されたため、お使いのアカウントによるコメントの投稿を無効にしています。誤って無効にされたと思われる場合は、Windows Live のサポートにお問い合わせください。
    コメントを投稿する前に、以下のセキュリティ チェックを完了してください。
    セキュリティ チェックに入力する文字は、画像に表示されている文字または音声で流れた文字と一致していなければいけません。

    コメントを投稿するには、お使いの Windows Live ID でサインインしてください (Hotmail、Messenger、または Xbox LIVE を既に使用している場合は、そのアカウントが Windows Live ID です)。サインイン


    Windows Live ID をお持ちでない場合は、アカウントを新規登録してください。

    maxさんの投稿:
    搭建apache+php+mysql是一种快速建立web网站的方法。如今加上perl和zend就无敌了
    10 月 22 日

    トラックバック

    この記事のトラックバックの URL は次のとおりです。
    http://mfdshare.spaces.live.com/blog/cns!9CFD52C9EF02AFB!177.trak
    この記事を参照しているブログ
    • なし