超级强大好用的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关键字的设定来指定任意目录为网页文件的根目录。
5、APACHE虚拟主机
每个APACHE虚拟主机都有单独的配置文件,这些配置文件放在/etc/apache2/sites-available目录下。
5、1 创建一个新的虚拟主机
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>
# 如果有多个虚拟主机,可以修改ErrorLog和CustomLog的路径,这样可以把每个虚拟主机的日志分开。
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>指令
里面宝航了一组其他指令,这些指令都只针对于当前的虚拟主机。
(2)ServerAdmin指令
用于指定站长的E-mail地址
(3)DocumentRoot指令
用于指定网站的根目录,一般要设置为绝对路径,否则APACHE会认为父目录是ServerRoot指令所指定的路径。
(4)<Directory></Directory>指令
该指令中间所包含的指令,仅对指定的目录有效。该目录支持通配符和正则表达式,用来匹配大量目录。
(5)Option指令
用来配置指定目录的特性,比如是否允许符号连接、是否使用CGI等。
(6)AllowOverride指令
用来针对.htaccess文件的,可以允许该文件的全部指令,也可以只允许某些类型的指令,或者全部禁止。
(7)Order指令
用来控制默认访问状态,以及Allow和Deny指令生效的顺序。
(8)Allow指令
用来控制那些主机可以访问
(9)Deny指令
用来限制主机访问
(10)ErrorLog指令
用于定义错误日志所在的位置
(11)LogLevel指令
用来控制日志的详细程度的级别
Emerg:紧急(系统无法使用)
Alert:必须立即采取措施
Crit:致命情况
Error:错误情况
Warn:警告情况
Notice:一般重要情况
Info:普通信息
Debug:调试信息
(12)CustomLog指令
定义了访问日志的路径和格式
(13)DerverSignature
用来定义服务器所生成的页面的页脚
(14)Alias指令
有点像Linux的Ln命令,它提供路径别名, 让你使用起来更方便。
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服务