zoukankan      html  css  js  c++  java
  • 入门篇:Ubuntu用apache做web服务器

    一、安装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.aliwo.net
    /var/www/bbs.aliwo.net
    ……
    也就是说每个网站有自己单独的文件夹,这样管理起来比较清晰。另外/var分区需要大一些,因为mysql数据库文件和日志文件,以及网站日志文件都保存在这里。

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

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

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

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

    *然后编辑www.aliwo.net
    sudo nano www.aliwo.net

    www.aliwo.net内容如下:

    <VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www
    <Directory />
    FCGIWrapper /usr/bin/php5-cgi .php
    Options ExecCGI SymLinksIfOwnerMatch
    AllowOverride None
    </Directory>
    <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    </Directory>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory “/usr/lib/cgi-bin”>
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
    </Directory>
    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/”
    <Directory “/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
    </Directory>
    </VirtualHost>

    修改后:

    <VirtualHost *:80>
    ServerAdmin aliwo@qq.com
    ServerName www.aliwo.net
    ServerAlias aliwo.net
    DocumentRoot /var/www/www.aliwo.com
    <Directory />
    FCGIWrapper /usr/bin/php5-cgi .php
    Options ExecCGI SymLinksIfOwnerMatch
    AllowOverride None
    </Directory>
    <Directory /var/www/www.aliwo.com>
    Options FollowSymLinks MultiViews
    AllowOverride ALL
    Order allow,deny
    allow from all
    </Directory>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory “/usr/lib/cgi-bin”>
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
    </Directory>
    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/”
    <Directory “/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
    </Directory>
    </VirtualHost>

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

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

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

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

    出处:http://blog.csdn.net/rookieding/article/details/7314054
  • 相关阅读:
    解决:TypeError: object() takes no parameters
    刷题(三)
    刷题(二)
    web自动化流程总结
    不能在Python Console中运行pytest
    关于pytest的一些问题
    UML设计,可以设计程序的用例图、类图、活动图等_SurfaceView
    android系统下消息推送机制
    Android中的动画,选择器,样式和主题的使用
    内存监测工具 DDMS --> Heap
  • 原文地址:https://www.cnblogs.com/wkun/p/3799134.html
Copyright © 2011-2022 走看看