Ubuntu Server系列各项服务的安装和维护 Apache部分

超级强大好用的Ubuntu服务器,不尝试绝对是损失,当然桌面版的Ubuntu使用起来更赞。继续研究ing...


一、搭建APACHE服务器

1、 软件安装

安装命令:sudo apt-get install apache2





这里因为已经安装过了,所以没有任何变动。

 

2、 软件配置

配置文件说明:

Apache2.conf         全局配置文件,不要轻易改动;

Conf.d                  存放一些一般性的配置;

Envvars                 存放环境变量,一般不需要修改;

Httpd.conf             用户配置文件;

Mods-available       该目录下是已经安装的可以使用的模块;

Mods-enabled        该目录下是已经启用的模块;

Ports.conf              httpd服务的端口;

Sites-available        该目录下是可用的虚拟主机;

Sites-enabled         该目录下是已经启用的虚拟主机。



3、 APACHE模块

使用a2enmod查看可用的模块,输入模块名称即可使用它。

使用a2dismod查看已经启用的模块,输入模块名称可以禁用它。

4、 APACHE网页文件的存放位置

默认存放:/var/www/目录下。可以通过DocumentRoot关键字的设定来指定任意目录为网页文件的根目录。

5APACHE虚拟主机

每个APACHE虚拟主机都有单独的配置文件,这些配置文件放在/etc/apache2/sites-available目录下。

 

51 创建一个新的虚拟主机

1、先将default虚拟主机复制一份,以便在其基础上修改

使用命令:sudo cp /etc/apaches/sites-available/default /etc/apache2/sites-avilable/blog.mytest.com

 

2、编辑配置文件

使用命令:sudo nano /etc/apache2/sites-available/blog.mytest.com

A、删除第一行NameVirtualHost

B、 DocumentRoot的路径修改为/var/www/blog.mytest.com

C、 <Directory /var/www/>修改为<Directory /var/www/blog.mytest.com>

 

# 如果有多个虚拟主机,可以修改ErrorLogCustomLog的路径,这样可以把每个虚拟主机的日志分开。

 

D、创建/var/www/blog.mytest.com目录,并建立文件,以供访问

3、禁用默认虚拟主机,并使用新建的网站为默认主机。

使用命令:

Sudo a2dissite default && sudo a2ensite blog.mytest.com

Sudo /etc/init.d/apache2 restart

 

# a2dissite 禁用某虚拟主机命令

# a2ensite 启用某虚拟主机命令

 

1、 虚拟主机配置详解

<VirtualHost *:80>

       ServerAdmin webmaster@localhost

 

       DocumentRoot /var/www/blog.mytest.com

       <Directory />

                Options FollowSymLinks

                AllowOverride None

       </Directory>

       <Directory /var/www/blog.mytest.com>

                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 ${APACHE_LOG_DIR}/error.log

 

       # Possible values include: debug, info, notice, warn, error, crit,

       # alert, emerg.

       LogLevel warn

 

       CustomLog ${APACHE_LOG_DIR}/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>

 

1<VirtualHost></VirtualHost>指令

里面宝航了一组其他指令,这些指令都只针对于当前的虚拟主机。

2ServerAdmin指令

用于指定站长的E-mail地址

3DocumentRoot指令

用于指定网站的根目录,一般要设置为绝对路径,否则APACHE会认为父目录是ServerRoot指令所指定的路径。

4<Directory></Directory>指令

该指令中间所包含的指令,仅对指定的目录有效。该目录支持通配符和正则表达式,用来匹配大量目录。

5Option指令

用来配置指定目录的特性,比如是否允许符号连接、是否使用CGI等。

6AllowOverride指令

用来针对.htaccess文件的,可以允许该文件的全部指令,也可以只允许某些类型的指令,或者全部禁止。

7Order指令

用来控制默认访问状态,以及AllowDeny指令生效的顺序。

8Allow指令

用来控制那些主机可以访问

9Deny指令

用来限制主机访问

10ErrorLog指令

用于定义错误日志所在的位置

11LogLevel指令

用来控制日志的详细程度的级别

Emerg:紧急(系统无法使用)

Alert:必须立即采取措施

Crit:致命情况

Error:错误情况

Warn:警告情况

Notice:一般重要情况

Info:普通信息

Debug:调试信息

12CustomLog指令

定义了访问日志的路径和格式

13DerverSignature

用来定义服务器所生成的页面的页脚

14Alias指令

有点像LinuxLn命令,它提供路径别名,   让你使用起来更方便。

Eg: Alias /doc/ “/usr/share/doc/” /usr/share/doc/映射成网站/doc/

 

2、 HTTPS的实现

A、启用mod_ssl模块

命令:sudo a2enmod ssl

A、生成证书,安装证书

命令:sudo apt-get install openssl

创建key

命令:openssl genrsa –des3 –out server.key 1024

创建CSR证书签发请求

命令:openssl req –new –key server.key –out server.csr

 

安装证书

命令:sudo cp server.crt /etc/ssl/certs

          Sudo cp server.key /etc/ssl/private

 

A、修改虚拟主机配置文件,重启APACHE服务


转载于:https://my.oschina.net/lamp2me/blog/15288

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值