文档章节

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

梁小泊
 梁小泊
发布于 2011/04/08 15:13
字数 1184
阅读 491
收藏 8

超级强大好用的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服务


© 著作权归作者所有

共有 人打赏支持
梁小泊
粉丝 12
博文 19
码字总数 10187
作品 0
杨浦
技术主管
私信 提问
Ubuntu Server系列各项服务的安装和维护 Apache安全

网络知识博大精深,必须好好继续深入学习。 1、必须随时注意APACHE的安全补丁 命令: Sudo apt-get update && sudo apt-get upgrade Sudo apt-get dist-upgrade 2、隐藏敏感信息 使用ServerT...

梁小泊
2011/04/10
0
0
ubuntu server 14.04 安装 zabbix with Postgresql

网络上很多zabbix安装教程都是基于mysql的,基于postgresql的比较少,国外的也不多见,为此将自己参考国外的教程以及自己的亲身安装体验总结一下分享! 环境:ubuntu server 14.04.3 修改主机...

W_Lu
2015/12/10
479
0
ubuntu下nagios配置

参考文献: http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html http://my.oschina.net/duangr/blog/183160 声明 本文是我参照上述两篇参考文献做nagios配置的一个记录,当中的...

嗯哼9925
2017/12/20
0
0
Ubuntu Server系列各项服务的安装和维护 Apache压力测试

APACHE自带了压力测试工具,APACHE BENCHMARKING (ab),主要用来测试APACHE每秒钟能够处理的请求的数量。 使用方法: ab –n 20000 –c 200 http://localhost 上述命令向localhost主机发送访...

梁小泊
2011/04/09
0
0
Ubuntu Server系列各项服务的安装和维护 Apache性能优化

主配置文件所在目录:/etc/apache2/apache.conf 1、 关闭DNS查询 将HostnameLookups设置为 off。 2、 优化MaxClients APACHE启动时会创建一些进程,并保持一个最大的连接数,超过该数目的链接...

梁小泊
2011/04/09
0
1

没有更多内容

加载失败,请刷新页面

加载更多

万能的Python,还能用来制作高大上的进度条?

对于开发或者运维来说,使用Python去完成一些跑批任务,或者做一些监控事件是非常正常的情况。那么如何有效的监控任务的进度,除了在任务中加上log外,还能不能有另一种方式来了解任务进展到...

上海小胖
26分钟前
2
0
如何嵌入 HTML 到 iPython notebook的输出

如何嵌入 HTML 到 iPython notebook的输出 iPython notebook中可以嵌入 HTML,也适用于JupyterHub和JupyterLab环境。不仅可以显示常用的HTML标签文本,甚至可以嵌入脚本交互操作和Frame分隔框...

openthings
52分钟前
1
0
四、RabbitMQ3.7在CentOS7下的安装

安装依赖 sudo yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git 创建yum源 vi /etc/yum.repos.d/rabbitmq-erlang.repo [......

XuePeng77
今天
2
0
android 延长Toast的时长

示例:myToast(5000,"hello"); public void myToast(int showTime, String msg) { Toast hello = Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT); new CountDownTimer(......

雨焰
昨天
4
0
浅谈mybatis的日志适配模式

Java开发中经常用到的日志框架有很多,Log4j、Log4j2、slf4j等等,Mybatis定义了一套统一的日志接口供上层使用,并为上述常用的日志框架提供了相应的适配器。有关适配器模式例子可以参考 设计...

算法之名
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部