Ubuntu/Web Servers/HTTPD - Apache2 Web Server

来自Ubuntu中文
Jinzd留言 | 贡献2016年6月7日 (二) 10:23的版本 →‎Configuration
跳到导航跳到搜索

Quote from https://help.ubuntu.com/12.04/serverguide/httpd.html

Apache是Linux系统中最广泛使用的Web Server。众多的Web Server被客户端计算机使用以提供相关的Web页面请求服务。客户端通常使用Web Browser发出请求并浏览Web页面,诸如FirefoxOperaChromium或者Mozilla

用户输入的统一资源定位符(URL)指向一个Web server,并依赖其其全称域名(FQDN)及路径指向需要的资源。例如,用户可以输入下面的FQDN以浏览Ubuntu Web site的主页:

www.ubuntu.com

要浏览community子页面则可以输入下面的FQDN:

www.ubuntu.com/community

最常见的用于传输Web Page的协议是超文本传输协议(HTTP)。其他协议还包括超文本传输协议加安全套接字层的(HTTPS),以及文件传输协议(FTP)用于上传和下载文件,它们均是被支持的协议。

Apache Web Server常常与MySQL数据库引擎组合使用,超文本预处理器的脚步语言(PHP),以及其他流行的脚本语言如Python和Perl。这个配置被术语化为LAMP(Linux, Apache, MySQL and Perl/Python/PHP)它们针对开发和部署基于Web的应用形成了一个强大健壮的平台。

安装

配置

HTTPS 配置

共享写权限

引用

Installation

Apache2 web server在Ubuntu Linux中是可用的。在terminal提示符下输入下面指令以安装Apache2:

sudo apt-get install apache2

Configuration

Apache2的配置指令存放于多个纯文本的配置文件中。这些配置指令被分割为多个文件并放置于多个目录中:

  1. apache2.conf: Apache2的主配置文件。它包含Apache2的一些全局设置。
  2. conf.d: 目录,包含一些Apache2的全局配置文件。Apache2的其他内容服务包可以添加文件,符号链接到这个目录。
  3. envvars: 用于设置Apache2环境变量的文件。
  4. httpd.conf: 历史上是Apache2的主配置文件,命名的httpd守护进程。现在,这个文件通常是空的,大多配置选项被移动到下面的引用目录。这个文件可用于用户指定特定的配置选项并作用于全局Apache2。
  5. mods-available: 这个目录包含多个配置文件以装载和配置他们。当然不是所有模块都将拥有特定的配置文件。
  6. mods-enabled: 持有符号链接的文件存放于/etc/apache2/mods-available。当一个模块配置文件持有符号链接时,它们将在apache2下次启动后生效。
  7. ports.conf: 放置的指令用于描述Apache2正在监听的TCP端口。
  8. sites-available: 该目录用于存放Apache2虚拟主机的配置文件。虚拟主机允许Apache2使用分开的配置去配置多个站点。
  9. sites-enabled: 如同mods-enabled、sites-enabled包含符号链接并存放于/etc/apache2/sites-available目录。同样地,当在sites-available中的一个配置文件是符号链接时,在Apache2重新启动时该配置站点将被激活一次。

此外,其他的配置文件可以通过Include指令添加,并且通配符可以被使用以包含多个配置文件。任何指令都可以被放置在这些配置文件中。主配置文件的更新仅在Apache2启动或重启动时才能被识别并应用。

服务器也将读取一个包含mime文档类型的文件;改文件名通过TypesConfig指令设置,通常经由/etc/apache2/mods-available/mime.conf,它可以包含附加和重写,缺省是/etc/mime.types。

基本设置

这一节解释Apache2服务器基本配置参数。更多细节请参阅Apache2 Documentation。
  1. Apache2附带一个虚拟主机友好的缺省配置。也就是说,它被配置为有一个缺省的虚拟主机(使用VirtualHost指令)并且这个虚拟主机可以被修改或直接使用如同你有了一个站点;或者如果你有多个站点,它也可作为其他虚拟主机模板使用。假如只有一个站点,该缺省虚拟主机将作为你的缺省站点;或者,当用户输入的URL与ServerName指令不匹配时用户也将看到此站点。要修改缺省虚拟主机设置,可以编辑文件/etc/apache2/sites-available/default。
    该虚拟主机设置指令只适用于待定的虚拟主机。如果一个指令定义的服务器范围没有在虚拟主机设置中被定义,则使用这个缺省设置。例如,你能定义一个Webmaster邮件地址但是没有为每个虚拟主机定义单独的邮件地址。
    如果你希望配置一个新的虚拟主机或站点,则以另一文件名拷贝该文件到同一目录下。例如:
    sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite
    按下列指令及描述编辑该新文件以配置这个新站点。
  2. The ServerAdmin directive specifies the email address to be advertised for the server's administrator. The default value is webmaster@localhost. This should be changed to an email address that is delivered to you (if you are the server's administrator). If your website has a problem, Apache2 will display an error message containing this email address to report the problem to. Find this directive in your site's configuration file in /etc/apache2/sites-available.
  3. The Listen directive specifies the port, and optionally the IP address, Apache2 should listen on. If the IP address is not specified, Apache2 will listen on all IP addresses assigned to the machine it runs on. The default value for the Listen directive is 80. Change this to 127.0.0.1:80 to cause Apache2 to listen only on your loopback interface so that it will not be available to the Internet, to (for example) 81 to change the port that it listens on, or leave it as is for normal operation. This directive can be found and changed in its own file, /etc/apache2/ports.conf
  4. The ServerName directive is optional and specifies what FQDN your site should answer to. The default virtual host has no ServerName directive specified, so it will respond to all requests that do not match a ServerName directive in another virtual host. If you have just acquired the domain name ubunturocks.com and wish to host it on your Ubuntu server, the value of the ServerName directive in your virtual host configuration file should be ubunturocks.com. Add this directive to the new virtual host file you created earlier (/etc/apache2/sites-available/mynewsite).
    You may also want your site to respond to www.ubunturocks.com, since many users will assume the www prefix is appropriate. Use the ServerAlias directive for this. You may also use wildcards in the ServerAlias directive.
    For example, the following configuration will cause your site to respond to any domain request ending in .ubunturocks.com.
    ServerAlias *.ubunturocks.com
  5. The DocumentRoot directive specifies where Apache2 should look for the files that make up the site. The default value is /var/www, as specified in /etc/apache2/sites-available/default. If desired, change this value in your site's virtual host file, and remember to create that directory if necessary!

HTTPS Configuration

Sharing Write Permission

References