apache配置笔记
以下的命令全部是在root权限下进行的
Ø apache在启动的时候会自动的启动/etc/apache2/apache2.conf这个文件在这个文件中用命令Include 包含进来其他的一些配置文件,比如:httpd.conf...
1.在ubuntu下安装apache2时候,/etc/apache2/httpd.conf是apache的配置文档,刚装上apache之后该文档中的内容为空,需要手动的加入一些命令,一些命令如下:
a) ServerRoot "/etc/httpd"该命令是apache存放配置文件和日志文件的目录,配置参数为ServerRoot 默认的根目录于 /etc/httpd根目录下一般包括conf 和logs子目录
2.Listen 80 是设置端口号。
3.ServerAdmin admin@yourdomain.com是设置管理员的邮箱地址,如果服务器出现问题之后会发送邮件到该邮箱地址上。
4.ServerName www.example.com:80 设置服务器的名称。
5.DocumentRoot "/var/www/html" 设置主目录的路径。
6.DirectoryIndex index.html.index.php 设置默认的文件,当用户在浏览器中打开该目录时候首先判断是否存在这些已经设置的页面,如果存在则默认这些页面为主页面,在服务器上应该有默认的一些打开的主页面,如果新设置了这些默认文件,好像会自动添加到服务器已经设置好的默认路径中,当你取消这次设置的时候,服务器中的默认主页不会去掉。
虚拟目录
1.创建虚拟目录,就是通过一个类似于连接的东西,把其他地方的文件夹引用过来,命令在apache配置文件/etc/apache2/httpd.conf中加入 Alias /test/ "/home/maturn/" ,在浏览器中(用 a2enmod rewrite 来开启mod_rewrite模块)。
用户认证技术
v 这里暂时没有配置成功,刚成功了
v 首先需要确定你想要设定用户认证的文件夹,假设为/var/www/test/。
v 在/etc/apache2/apache2.conf文件中配置AccessFIleName .htaccess前面的注释符号去掉,
v 然后在配置文件apache2.conf或者是httpd.conf中加入内容 如下<Directory "/var/www/test/">
Options Indexes MultiViews
AllowOverride AuthConfig
Allow from all
</Directory>
v 然后在/var/www/test/文件夹下建立.htaccess文件,文件内容为
AuthName "You need to have the privilege to view this page ,Please log in : "#提示信息
AuthType Basic
AuthUserFile /etc/apache2/authpwd #该选项定义了口令文件的路径,即使用htpasswd建立的口令文件。
Require user maturn test #maturn 和 test是我用htpasswd建立的两个用户
v 建立口令文件 并且为用户设置口令,输入命令
htpasswd -c /etc/apache2/authpwd maturn
Htpasswd -c /etc/apache2/authpwd test
建立两个名为maturn 和test 的用户 并为其设置密码
v 认证工作基本完成,下面在浏览器中输入http://192.168.200.136/test/检测是否生效
配置虚拟主机
虚拟主机分为一,IP地址相同,但是段口号不同。二,IP地址不同,但是所占端口号相同。
Ubuntu中文件/etc/apache2/sites-avilible/default 配置是默认的虚拟主机,default的默认根目录为./var/www
ü 需要开启mod_rewrite模块,用到命令 (sudo a2enmod rewrite)暂时没有找到开启这个模块的配置在那个文件中。
ü 这里配置虚拟IP地址一样,但是所占用端口不一样的两个虚拟主机。
ü 首先我需要在apache2下建立一个vhostconf文件夹用来存放虚拟主机的配置文件,执行命令mkdir /etc/apache2/vhostconf 。
ü 创建两个文件夹用来存放虚拟主机的页面文件,mkdir /var/www/web1 /var/www/web2.
ü 然后在apache2的主配置文件中把vhostconf文件下的配置文件包含进来,vim /etc/apache2/apache2.conf 在文件的最后一行,加入命令,(这里注意大小写,这里的I是大写的)Includes /etc/apache2/vhostcon/*.conf 。
ü 然后创建虚拟主机的配置文件,touch /etc/apache2/vhostconf/vhost.conf 。
ü 编辑/etc/apache2/vhostconf/vhost.conf vim /etc/apache2/vhostconf/vhost.conf ,里面的具体内容
Listen 8000
Listen 8001
#设置第一个虚拟主机
<VirtrualHost 192.168.200.136:8000>
DocumentRoot /var/www/web1 #这里设置web1的根目录,
DirectoryIndex index.html index.php
HostNameLookups off #这里默认的设置为off,如果设置成on我的理解是管理员在日志文件可以找到远程主机的名字,当设置成double的时候,不清楚。。。
<VirtrualHost>
#设置第二个虚拟主机,基本上与虚拟主机1的设置一样。
<VirtualHost 192.168.200.136.8001>
DocumentRoot /var/www/web2
DirectoryIndex index.html index.php
HostNameLookups off
<VirtualHost>
ü 重启apache2服务 /etc/init.d/apache2 restart 重启完成之后分别用两个端口访问,一个是192.168.200.136:8000另一个是192.168.200.136:8001,
ü 这样就算基本上实现了简单的两台IP地址相同的虚拟主机,