apache虚拟主机配置

合集下载

Apache 虚拟主机的配置方法总结

Apache 虚拟主机的配置方法总结

Apache 虚拟主机的配置方法总结:虚拟主机1. 在httpd.conf中找到Include conf/extra/httpd-vhosts.conf 把前面的#去除2. 添加监听如:Listen 8080Listen 192.168.0.100:803. 删除或注掉DocumentRoot "D:/Apache2.2/htdocs"# DocumentRoot: The directory out of which you will serve your# documents. By default, all requests are taken from this directory, but# symbolic links and aliases may be used to point to other locations.##DocumentRoot "D:/Apache2.2/htdocs"4. 在配置extra/httpd-vhosts.conf时,如果要保留原来httpd.conf中默认的访问目录和域名,必须为默认域名也创建一个virtualHost,样例如下(监听端口是8080):5. httpd-vhosts.conf配置如下:NameVirtualHost *:8080NameVirtualHost 192.168.0.100:80在文档底部接着添加:<VirtualHost 192.168.0.100:80>ServerName njumasoftDocumentRoot F:/php/UmasoftFrw<Directory />Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from allSatisfy all</Directory>DirectoryIndex index.html index.phpCustomLog "logs\njumasoft-access.log" commonErrorLog "logs\njumasoft-error.log"</VirtualHost><VirtualHost 192.168.0.100:8080>ServerName mysqldDocumentRoot D:/Apache2.2/htdocs<Directory />Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from allSatisfy all</Directory>DirectoryIndex index.html index.phpCustomLog "logs\mysqld-access.log" commonErrorLog "logs\mysqld-error.log"</VirtualHost>其它设置参见:/Apache/ApacheMenu/vhosts/index.html虚拟目录1.找到"conf/httpd.conf" 文件,按如下示例设置:<IfModule dir_module>DirectoryIndex index.html index.html.var index.phpAlias /mysql D:/Apache2.2/htdocs/phpMyAdmin<Directory D:/Apache2.2/htdocs/phpMyAdmin>Options MultiViewsAllowOverride NoneOrder allow,denyAllow from all</Directory></IfModule>注:以上配置均需重启Apache。

如何在Linux上安装和配置Apache服务器

如何在Linux上安装和配置Apache服务器

如何在Linux上安装和配置Apache服务器Apache是一个流行的开源Web服务器软件,被广泛用于搭建和管理网站。

在Linux系统上安装和配置Apache服务器是一项基本的技能。

本文将介绍如何在Linux操作系统下安装和配置Apache服务器。

一、安装Apache服务器首先,打开终端窗口,并使用以下命令来更新软件包列表:sudo apt update接下来,使用以下命令来安装Apache服务器:sudo apt install apache2安装过程中,您需要输入管理员密码进行确认。

安装完成后,Apache服务器将自动启动。

二、配置Apache服务器1. 配置文件路径Apache的配置文件位于/etc/apache2目录下。

在终端中使用cd命令进入该目录:cd /etc/apache22. 主配置文件编辑主配置文件apache2.conf,使用以下命令打开该文件:sudo nano apache2.conf在打开的文件中,可以找到一些常用的配置选项,您可以根据需要进行修改。

例如,您可以更改服务器名称、监听端口等。

3. 虚拟主机配置虚拟主机配置允许您在同一台服务器上运行多个网站。

默认情况下,Apache服务器已经为您配置了一个默认的虚拟主机。

如果您想添加更多的虚拟主机,您可以在/etc/apache2/sites-available目录下创建配置文件。

使用以下命令进入该目录:cd /etc/apache2/sites-available使用以下命令创建一个新的虚拟主机配置文件,例如mywebsite.conf:sudo nano mywebsite.conf在此配置文件中,您可以设置您的网站的域名、目录路径和其他相关设置。

保存并关闭文件。

接下来,使用以下命令启用新的虚拟主机配置文件:sudo a2ensite mywebsite.conf最后,重新加载Apache服务器以应用配置更改:sudo service apache2 reload您的新虚拟主机现在应该已经生效了。

虚拟机中如何在Linux上安装和配置Apache服务器

虚拟机中如何在Linux上安装和配置Apache服务器

每日一句:I am a slow walker, but I never walk backwards.(我走得很慢,但从来不后退。

)一、本次配置a)操作系统:Linuxb)服务器:httpd-2.4.3.tar.gzc)APR:apr-1.4.6.tar.gzd)APR-Util:apr-util-1.5.1.tar.gze)PCRE:pcre-8.31.tar.gz二、Linux安装程序的基本步骤1、./configure --prefix=安装目录2、make3、make install三、Linux安装apache服务器步骤:1、gzip -d httpd- NN.tar.gz (阿帕奇服务器安装包)2、tar xvf httpd- NN.tar(执行第一步后出现这个文件)3、cd httpd- NN(执行完第二步后会产生一个服务器的目录,使用cd命令进入)4、安装程序的基本步骤5、安装目录/bin/apachectl -k start (启动服务器)6、测试。

打开浏览器输入http://服务器IP,如果出现It Works,则服务器安装成功7、安装过程中遇到的问题a)安装服务器时提示缺少apr文件(到官网下载后进行安装(还是按照安装步骤))b)安装apr时提示确实apr-util(到官网下载后进行安装(还是按照安装步骤))c)安装服务器时提示确实pcre(到官网下载后进行安装(还是按照安装步骤))四、配置apache的虚拟主机a)将“安装目录\conf\httpd.conf ”中“#Include etc/extra/httpd-vhosts.conf ”的#去掉。

这样才能使httpd-vhosts.conf文件起作用,或者直接在httpd.conf中写配置也可以(不建议这么做)b)在httpd-vhosts.conf中配置VirtualHost(注:Apache在接受到请求时,首先会默认第一个VirtualHost,然后再找匹配的,如果没有匹配的,默认就是第一个VirtualHost起作用)<VirtualHost *:80> #主机名ServerAdmin admin@ #如果服务器有任何问题将发信到这个地址DocumentRoot /www/ #虚拟主机的指向目录ServerName #访问主机的域名[:端口号]ServerAlias * #- -这个不知道是啥。

CentOS7Apache服务的安装与配置

CentOS7Apache服务的安装与配置

CentOS7Apache服务的安装与配置⼀、Apache简介Apache 是⼀个知名的开源Web服务器。

早期的Apache服务器由Apache Group来维护,直到1999年6⽉Apache Group在美国德拉⽡市成⽴了⾮盈利性组织的公司,即Apache软件基⾦会(Apache Software Foundation,ASF)。

⽹站需要web服务器来架构,⽹页设计美⼯⼈员(flash,dreamweaver,firework,photoshop等),⽹页开发⼈员(php,.net,jsp等),⽹站建⽴好后,需要我们维护,优化,排错,架构延伸扩容等。

简单点说就是我们如果要浏览⼀个⽹页的话,基本上所有的⽹站都使⽤的是http协议来进⾏数据传输的!⾄于怎么样传输,我们做为运维来说就没有必要去深究了,那是做html前端开发⼈员要去考虑的事情!Apache由内核、标准模块和第三⽅提供的模块三个层次组成。

通常Apache在默认安装时,只安装图中的1、2两部分。

根据⽤户需要,⽤户可以通过修改配置去掉⼀些默认安装的标准模块;也可以通过修改配置安装⼀些默认不安装的模块。

同时,如果⽤户需要,也可以安装⼀些第三⽅提供的模块。

[此⽹站会有每⽉份的世界上⽹站使⽤的WEB服务器的使⽤率统计](https:///archives/category/web-server-survey/)Apache是世界上应⽤最⼴泛的web服务器之⼀[ Apache官⽹](/)⼆、CentOS下的Apache1. ⽹站分为两种静态⽹站:Apache,Nginx,html动态⽹站:php/perl/python,jsp(java), .net2. Apache服务概览软件包: httpd, httpd-devel, httpd-manual服务类型:由systemd启动的守护进程配置单元: /usr/lib/systemd/system/httpd.service守护进程: /usr/sbin/httpd端⼝: 80(http), 443(https)配置: /etc/httpd/Web⽂档: /var/www/html/Apache⽇志记录⽬录:/var/log/httpd/该⽬录下有两种⽂件:access_log # 记录客户端访问Apache的信息,⽐如客户端的iperror_log # 记录访问页⾯错误信息Apache服务启动的记录⽇志:/var/log/messages # 这个⽇志是系统的⼤集合3. 配置Apache服务器的准备⼯作系统平台: CentOS 7.3DHCP Server: 192.168.1.20第1步:服务器设置静态IP第2步:更改主机名,写/etc/hosts记录[root@Apache ~]# echo "192.168.1.20 Apache" >> /etc/hosts --往/etc/hosts添加ip和主机名[root@Apache ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.1.20 Apache第3步:关闭防⽕墙[root@Apache ~]# systemctl stop firewalld --临时关闭防⽕墙[root@Apache ~]# systemctl disable firewalld --永久关闭防⽕墙第4步:关闭selinux临时关闭:[root@Apache ~]# setenforce 0setenforce: SELinux is disabled永久关闭:[root@Apache ~]# vim /etc/selinux/configSELINUX=disabled # 将enforcing改为disabled[root@Apache ~]# reboot --重启系统永久⽣效三、Apache服务的搭建与配置1. 使⽤yum包安装Apache软件[root@Apache ~]# yum -y install httpd*[root@Apache ~]# rpm -qa | grep httpd --查看安装的http包httpd-manual-2.4.6-67.el7.centos.6.noarchhttpd-tools-2.4.6-67.el7.centos.6.x86_64httpd-2.4.6-67.el7.centos.6.x86_64httpd-devel-2.4.6-67.el7.centos.6.x86_64安装成功后,会产⽣下⾯两个⽂件/etc/httpd/conf/httpd.conf # 主配置⽂件/var/www/html # 默认⽹站家⽬录2. 认识配置⽂件⾥的主要参数[root@Apache ~]# vim /etc/httpd/conf/httpd.conf31 serverRoot "/etc/httpd" # 存放配置⽂件的⽬录42 Listen 80 # Apache服务监听端⼝66 User apache # ⼦进程的⽤户67 Group apache # ⼦进程的组86 ServerAdmin root@localhost # 设置管理员邮件地址119 DocumentRoot "/var/www/html" --⽹站家⽬录# 设置DocumentRoot指定⽬录的属性131 <Directory "/var/www/html"> # ⽹站容器开始标识144 Options Indexes FollowSymLinks # 找不到主页时,以⽬录的⽅式呈现,并允许链接到⽹站根⽬录以外151 AllowOverride None # none不使⽤.htaccess控制,all允许156 Require all granted # granted表⽰运⾏所有访问,denied表⽰拒绝所有访问157 </Directory> # 容器结束164 DirectoryIndex index.html # 定义主页⽂件,当访问到⽹站⽬录时如果有定义的主页⽂件,⽹站会⾃动访问316 AddDefaultCharset UTF-8 # 字符编码,如果中⽂的话,有可能需要改为gb2312或者gbk,因你的⽹站⽂件的默认编码⽽异3. 启动Apache⽹站[root@Apache ~]# systemctl start httpd.service[root@Apache ~]# lsof -i:80 --查看httpd服务是否启动COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEhttpd 20585 root 4u IPv6 402909 0t0 TCP *:http (LISTEN)httpd 20586 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)httpd 20587 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)httpd 20588 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)httpd 20589 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)httpd 20590 apache 4u IPv6 402909 0t0 TCP *:http (LISTEN)启动成功后使⽤浏览器:输⼊⾃⼰的IP地址会看到⼀个红帽的欢迎页⾯:[root@Apache ~]# firefox 192.168.1.20每次打开浏览器不是很⽅便,因此我们可以使⽤⽂本浏览器,⽅便测试。

apache下配置详解

apache下配置详解

Apache下关于虚拟主机的配置关于虚拟主机的概述:配置虚拟主机主要应用场景:多站点访问,一个服务器放置了多个站点服务。

主要的三种配置方法:1、基于IP 2、基于端口3、基于主机名步骤详解:1.虚拟主机使用的话,必须将中心服务关闭,在/etc/httpd/conf/httpd.conf文件里,将DocumentRoot一行注释掉来关闭中心服务。

2.可以在httpd.conf文件最后面直接添加虚拟主机的配置内容,也可以在/etc/httpd/conf.d/下面创建一个自己的配置文件,如:my.conf文件。

3.my.conf文件配置详解1)基于IP配置<VirtualHost 192.168.0.112:80>ServerName DocumentRoot "/www/"</VirtualHost><VirtualHost 192.168.0.113:80>ServerName DocumentRoot "/www/"</VirtualHost>以上2个虚拟主机配置的IP分别为192.168.0.113和192.168.0.112,端口同为80端口。

这样在浏览器分别输入不同的ip或域名时就会访问到不同的站点。

Tips:如果只有一块网卡可以同过ipaddr add 192.168.0.112 dev eth0来添加辅助ip。

如果是域名方式访问,还需要在windows和linux下的hosts文件里面自行添加域名解析。

关于辅助ip的设置:ipaddr add 192.168.0.112/24 dev eth0这是为网卡设置一个辅助ip。

假如一个网卡的ip地址为192.168.0.22,执行上面的命令,在用ifconfig 查看,会发现有两个ip地址,而192.168.0.22称为主地址(Primary IP address),而192.168.0.112称为辅助地址(secondary IP address),一块网卡是允许有多个IP地址的,所以就算再多添加几个secondary IP 也是合法行的。

APACHE安装配置说明

APACHE安装配置说明

APACHE安装配置说明⼀、软件下载⼆、环境检查# rpm -qa|grep zlibzlib-devel-1.2.3-3zlib-1.2.3-3# rpm -qa|grep sslopenssl-devel-0.9.8b-10.el5openssl-0.9.8b-10.el5如果需要依赖包,安装其对应的devel包即可,此处仅⽤到zlib和ssl。

另,如果有httpd包,要先卸载掉或停⽌其服务。

三、编译安装1、针对安装⽬的的说明(来⾃INSTALL⽂件)如果是开发者则使⽤此选项,--with-included-apr利于连接apache的代码或者是调试apache,其消除了由于版本或者编译中跟APR或者APR-util代码产⽣的不匹配;如果从⼦版本编译apache,要先运⾏buildconf(需要Python,GNU autoconf和libtool),然后运⾏configure。

发⾏包不⽤。

如果要在FreeBSD5.4之前编译时包含apache的threaded MPM,需要使⽤--enable-threads和--with-mpm 参数在Mac上编译⼦版本,要使⽤GNU Libtool 1.4.2及以上版本2、关于SSL加密和正则表达式(来⾃⽂件README)Apache2.0及以上版本在⽬录modules/ssl/下包含了mod_ssl模块⽤于配置和监听ssl⽹络接⼝的连接。

(另外,⼀些apr-util版本在⽬录srclib/apr-util/ssl/下提供了ssl⽹络接⼝)带有单词crypto的包的名字,可能包含openssl加密库的⽬标代码。

如果apache的加密功能不理想或者要排除再重分配,则可以使⽤包的名字包含nossl的发布包。

Apache使⽤PCRE包包含的正则表达式。

3、对configure参数的说明配置帮助表:-h, --help显⽰帮助信息display this help and exit--help=short ⽤short参数将只显⽰正在运⾏的当前脚本的选项,⽽不能列出适⽤于Apache配置脚本所运⾏的外部配置脚本的选项display optionsspecific to thispackage--help=recursive 使⽤recursive参数将显⽰所有程序包的简短描述display the shorthelp of all theincluded packages-V, --version显⽰版本display version information and exit-q, --quiet, --silent不显⽰checking……信息do notprint`checking...' messages--cache-file=FILE在指定⽂件中存储测试结果cache test results in FILE [disabled]-C, --config-cache 在⽂件config.cache中存储测试结果alias for `--cachefile=config.cache'-n, --no-create configure脚本运⾏结束后不输出结果⽂件,常⽤于正式编译前的测试。

apache_配置多个ip网站站点

apache_配置多个ip网站站点
避免这些问题的小技巧
附录:进一步的提示
一个简单示例
<VirtualHost www.abc.dom>
ServerAdmin webgirl@abc.dom
DocumentRoot /www/abc
</VirtualHost> webgirl@abc.dom
DocumentRoot /www/abc
本文档的涵义一言以蔽之就是:不要让Apache在解析配置文件的时候用到DNS。 如果Apache在解析配置文件时用到了DNS,您的服务器就会发生可靠性的问题(也可能根本无法启动), 或者遭致拒绝(偷窃)服务攻击(包括用户可以从其他用户那里偷窃点击)。
一个简单示例
拒绝服务
"main server"地址
基于域名的虚拟主机相对比较简单,因为我们只需要配置DNS服务器将每个主机名映射(CNAMES)到正确的IP地址,然后配置Apache HTTP服务器,令其辨识不同的主机名就可以了。基于域名的服务器也可以缓解IP地址(IPV4)不足的问题。这种方式下,各个虚拟主机共享同一份Apache,因此有CGI程序运行时,安全性也不高。
</VirtualHost> webmaster@
DocumentRoot /www/docs/
ServerName
ErrorLog logs/-error_log
TransferLog logs/-access_log
用Apache设置虚拟主机服务通常可以采用两种方案:基于IP地址的虚拟主机和基于主机名字的虚拟主机,下面我们分别介绍一下它们的实现方法以及优缺点。以便大家在具体的应用中能够选择最合适的实现方法。

Ubuntu Linux Apache虚拟主机的安装配置档

Ubuntu Linux Apache虚拟主机的安装配置档

Ubuntu Linux Apach虚拟主机的安装配置目标1.创建基于IP 的虚拟主机用于一个项目的整体测试2.创建基于用户的虚拟主机用于用户测试自己的代码开始创建虚拟主机的目录结构sudo /home/wwwcd /home/wwwsudo mkdir 192.168.0.251 192.168.0.252cd 192.168.0.251sudo mkdir cgi-bin htdocs logs dbcd ../192.168.0.252sudo mkdir cgi-bin htdocs logs dbtree /home/www/home/www|-- 192.168.0.251| |-- cgi-bin| |-- db| |-- htdocs| `-- logs`-- 192.168.0.252|-- cgi-bin|-- db|-- htdocs`-- logs1.要在192.168.0.251 和192.168.0.252 上创建两个基于IP 的虚拟主机,为了直观起见,在/home/www 下分别创建了目录192.168.0.251 和192.168.0.2522.cgi-bin 子目录用于存放CGI 脚本3.db 子目录用于存放SQLite 数据库4.htdocs 子目录用于存放站点文档5.logs 子目录用于存放站点日志创建虚拟主机的管理帐号并设置目录权限sudo useradd -g www-data -d /home/www/192.168.0.251 wuser1sudo useradd -g www-data -d /home/www/192.168.0.252 wuser2sudo passwd wuser1sudo passwd wuser2sudo chown -R wuser1.www-data /home/www/192.168.0.251sudo chown -R wuser2.www-data /home/www/192.168.0.2521.将192.168.0.251 虚拟主机的管理者赋予wuser1;将192.168.0.252 虚拟主机的管理者赋予wuser2;允许他们使用ssh 登录2.wuser1 和wuser2 的主组均设置为www-data,这样设置的方便之处在于:若站内有Apache 进程可写的内容,只需添加组可写权限即可配置虚拟网络接口和主机名解析使用如下命令:sudo vim /etc/network/interfaces添加如下的配置auto eth0:1iface eth0:1 inet staticaddress 192.168.0.251netmask 255.255.255.0network 192.168.0.0broadcast 192.168.0.255gateway 192.168.0.1auto eth0:2iface eth0:2 inet staticaddress 192.168.0.252netmask 255.255.255.0network 192.168.0.0broadcast 192.168.0.255gateway 192.168.0.1然后使用如下命令重新启动网络服务sudo /etc/init.d/networking restart然后在/etc/hosts 文件中添加如下的行192.168.0.251 web1192.168.0.252 web2配置ApacheS1. 在/etc/apache2/sites-available/ 目录下创建新的文件192.168.0.251,添加如下的配置/etc/apache2/sites-available/192.168.0.251DocumentRoot "/home/www/192.168.0.251/htdocs/"Options Indexes FollowSymLinks MultiViewsAllowOverride AllOrder allow,denyallow from allScriptAlias /cgi-bin/ /home/www/192.168.0.251/cgi-bin/AllowOverride NoneOptions +ExecCGI -MultiViews +SymLinksIfOwnerMatchOrder allow,denyAllow from allErrorLog /home/www/192.168.0.251/logs/error.logCustomLog /home/www/192.168.0.251/access.log combinedS2. 在/etc/apache2/sites-available/ 目录下创建新的文件192.168.0.252,添加如下的配置/etc/apache2/sites-available/192.168.0.252DocumentRoot "/home/www/192.168.0.252/htdocs/"Options Indexes FollowSymLinks MultiViewsAllowOverride AllOrder allow,denyallow from allScriptAlias /cgi-bin/ /home/www/192.168.0.252/cgi-bin/AllowOverride NoneOptions +ExecCGI -MultiViews +SymLinksIfOwnerMatchOrder allow,denyAllow from allErrorLog /home/www/192.168.0.252/logs/error.log CustomLog /home/www/192.168.0.252/access.log combinedS3. 重新启动Apachesudo a2enmod rewritesudo a2enmod php5sudo a2enmod perlsudo a2enmod mod_pythonsudo a2ensite 192.168.0.251sudo a2ensite 192.168.0.252sudo /etc/init.d/apache2 restart配置站点内容的上传FTP 服务器S1: 使用如下命令安装proftpdsudo apt-get install proftpd proftpd-docS2. 使用默认配置即可实现本地用户的上传和下载Samba 服务器S1. 使用如下命令sudo vi /etc/samba/smb.conf添加如下的配置行:/etc/samba/smb.conf[homes]comment = Home Directoriesbrowseable = nowritable = yescreate mask = 0644directory mask = 0755S2. 配置Samba 用户通过如下命令添加Samba 用户sudo smbpasswd -a wuser1sudo smbpasswd -a wuser2S3. 启动Samba 服务器sudo /etc/init.d/samba restart创建基于用户的虚拟主机*可能开发者在Windows 客户机没有创建开发环境*为了使每个开发者可以测试自己的代码,可以创建基于用户的虚拟主机创建用户帐号sudo useradd -g www-data -m user1sudo useradd -g www-data -m user2sudo passwd user1sudo passwd user21.用户需要在宿主目录下创建public_html 子目录,将Web 文档放入其中,可以通过URL http://IPorHostname/~username 访问自己的站点2.若进行CGI 开发,还需要在宿主目录下创建cgi-bin 子目录配置Apache使用如下命令启用userdir 模块即可sudo a2enmod userdir若进行CGI 开发,需要修改/etc/apache2/mods-available/userdir.confUserDir public_htmlUserDir disabled rootAllowOverride FileInfo AuthConfig LimitOptions MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec ScriptAliasMatch ~([a-z]+)/cgi-bin/(.*) /home/$1/cgi-bin/$2 # 添加此行,意思是匹配~user_name/cgi-bin/cgi_name自动映射到/home/user_name/cgi-bin/cgi-name脚本关于默认的虚拟主机Ubuntu 中文件/etc/apache2/sites-available/default 配置的是默认的虚拟主机。

Apache虚拟主机VirtualHost配置

Apache虚拟主机VirtualHost配置

Apache 虚拟主机 VirtualHost 配置虚拟主机 (Virtual Host)是在同一台机器搭建属于不同域名或者基于不同 IP 的多个网站服务的技术. 可以为运行在同一物理机器上的各个网站指配不同的IP 和端口, 也可让多个网站拥有不同的域名.Apache 是世界上使用最广的 Web 服务器, 从版开始支持虚拟主机. 本文将讲解在不同服务器 (Redhat Enterprise Linux, Ubuntu Linux, Windows) 上使用 Apache 搭建虚拟主机来搭建多个网站.主旨本文旨在让读者知道如何在同一台机器上搭建多个网站, 并附带一些使用技巧. 以操作为主, 不会过多谈及原理.目标本文是写给拥有一定的服务器配置和管理技能, 工作中需要同时维护多个网站的网站主, 网站开发者和网络管理员. 如果你是互联网公司的配管工程师, 对计算机服务器原理和操作十分熟悉, 请忽视本文, 你不会在上面找到太多有价值的东西.Redhat Enterprise LinuxRedhat Enterprise Linux (包括 CentOS Linux), 是使用最广的 Linux 服务器, 大量的网站应用都部署在其上.1. 打开文件 /etc/httpd/conf/, 搜索 VirtualHost example, 找到代码如下:## VirtualHost example:# Almost any Apache directive may go into a VirtualHost container.# The first VirtualHost section is used for requests without a known# server name.##<VirtualHost *:80># ServerAdmin# DocumentRoot /www/docs/ ServerName ErrorLog logs/ CustomLog logs/ common#</VirtualHost>2. 仿照例子, 添加一段代码来指定某一域名的网站.## DocumentRoot 是网站文件存放的根目录# ServerName 是网站域名, 需要跟 DNS 指向的域名一致#<VirtualHost *:80>ServerAdminDocumentRoot /var/www/httpdocs/demo_aliluna_comServerName ErrorLog logs/ CustomLog logs/ common</VirtualHost>3. 重启 httpd 服务, 执行以下语句.service httpd restartUbuntu LinuxUbuntu 在 Linux 各发行版中, 个人用户数量最多的. 很多人在本机和虚拟机中使用. 但 Ubuntu 和 Redhat 的 VirtualHost 设置方法不相同.1. 打开目录 /etc/apache2/sites-available/, 发现 default 和default-ssl 两个文件, 其中 default 是 http 虚拟主机服务的配置文件, default-ssl 是配置 https 服务使用的. 可以复制一份 default 文件. 并修改配置文件名, 文件名必须与域名一致 (如:2. 打开新建的配置文件, 修改 DocumentRoot, ServerName 和对应的配置目录. 例子如下:## DocumentRoot 是网站文件存放的根目录# ServerName 是网站域名, 需要跟 DNS 指向的域名一致#<VirtualHost *:80>ServerAdminDocumentRoot /var/www/httpdocs/demo_aliluna_comServerName ErrorLog ${APACHE_LOG_DIR}/ CustomLog ${APACHE_LOG_DIR}/ combined</VirtualHost>3. 通过 a2ensite 激活虚拟主机配置sudo a2ensite 打开目录 /etc/apache2/sites-enabled/, 你会发现所有激活的虚拟主机, 可以通过 a2dissite 进行注销sudo a2dissite 重启 Apache 服务, 激活虚拟主机sudo/etc/apache2 restartWindowsWindows 是市场占有率最高的 PC 操作系统, 也是很多人的开发环境. 其VirtualHost 配置方法与 Linux 上有些差异, 以下方式适合原生 Apache, XAMPP 和 WAMP 套件.1. 打开目录 {Apache2 安装目录}\conf\extra\, 找到文件.2. 仿照例子, 添加一段代码来指定某一域名的网站.## DocumentRoot 是网站文件存放的根目录# ServerName 是网站域名, 需要跟 DNS 指向的域名一致#<VirtualHost *:80>ServerAdminDocumentRoot "D:/workspace/php/demo_aliluna_com"ServerName ErrorLog "logs/"CustomLog "logs/" common</VirtualHost>3. 打开文件, 添加如下语句.# Virtual hostsInclude conf/extra/4. 重启 Apache 服务.总结最近我在不同的几台服务器上搭建了一些网站服务, 这篇文章也算是我的个人笔记, 望日后可自用, 也希望对读者有用. 文中介绍了几个主流开发和部署环境上配置虚拟主机的方法, 其他 OS 大同小异.。

Apache服务器配置

Apache服务器配置

IN CNAME
IN CNAME
在上面的配置中,在提交的DNS正向配置文件以及反向配置文件中, 已经具有如下的A记录和PTR记录,分别为
www
利用httpd.conf我们可以对Apache服务器进行全局 配置、管理或预设服务器的参数定义、虚拟主机的设 置等。httpd.conf是一个文本文件,我们可以用vi编辑 工具进行修改。 httpd.conf文件主要分为三个部分: Section 1: Global Environment (全局变量) Section 2: 'Main' server configuration(主服务器配置) Section 3: Virtual Hosts(虚拟主机配置)
2.配置基于IP的虚拟主机 (1)基于IP虚拟主机的DNS配置 如果用户想要创建两个基于IP的虚拟主机和
这两个虚拟主机站点的共同域名是 。用户可以按照如下所示在DNS正向配置文 件中进行配置:
lth IN
A 192.168.15.212
3.Port 该参数用来指定Apache服务器的监听端口。一般来说,标准的HTTP
服务默认端口号是80,一ቤተ መጻሕፍቲ ባይዱ不要更改这个数值。本例为80端口:
Port 80 4.ServerAdmin
设置Apache服务器管理员的邮件地址。
5.ServerName 该参数使得用户可以自行设置主机名,以取代安装Apache服务器主机
7.MaxKeepAliveRequests 当使用保持连接(persistent connection)功能时,可以使用本参数决定
每次连接所能发出的要求数目的上限。如果此数值为0,则表示没有限制。 建议尽可能使用较高的数值,以充分发挥Apache的高性能,本例设置每次 连接所能发出的要求数目上限为100:

linux-Apache 配置

linux-Apache 配置

Apache 配置一、安装Apache下载地址:/1. 安装Apache# tar zxvf httpd-2.2.11.tar.gz# cd httpd-2.2.11# ./configure --prefix=/usr/local/apache --enable-so//编译时加上加载模块参数--enable-so# make# make install2. 配置系统启动时自动启动Apache服务。

# vi /etc/rc.d/rc.local//在rc.local上加入一行/usr/local/apache/bin/apachectl –k start。

二、配置Apache1. 修改httpd.conf文件# vi /usr/local/apache/conf/httpd.conf1)设置根目录的路径根目录是指Apache存放配置文件和日志文件的目录,配置参数为ServerRoot,默认位于“/u sr/local/apache”。

命令如下:2)设置监听IP地址及端口号默认侦听本机所有IP地址的TCP80端口,命令如下:Listen 80用户也可以按自己的需求,使用多个Listen语句在多个地址和端口上侦听客户端请求。

比如:Listen 192.168.99.9:80Linsten 172.16.0.20:80803)设置系统管理员E-m ail使用ServerAdmin参数设置管理员E-m ail,比如管理员的Email地址为root@guoxuemin. cn:4)设置服务器主机的名称参数ServerName用来设置服务器的主机名称,如果没有域名则填入服务器的IP地址,比如服务器的IP地址为192.168.99.9:5)设置主目录的路径用户可以使用参数Document Root配置服务器主目录默认路径,比如,主目录路径为:6)设置默认文件Apache的默认文件名为index.ht ml,可以使用Directory Index参数来配置,比如,将ind ex.php设置为默认文件名:7)测试:打开浏览器,输入地址:http://192.168.99.9,可以打开站点了:2. 配置目录权限使用<Directory 目录路径>和</Directory>设置目录的权限。

Apache配置详解

Apache配置详解

Apache配置详解Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.conf文件中修改。

主站点的配置(基本配置)(1) 基本配置:ServerRoot "/mnt/software/apache2" #你的apache软件安装的位置。

其它指定的目录如果没有指定绝对路径,则目录是相对于该目录。

PidFile logs/httpd.pid #第一个httpd进程(所有其他进程的父进程)的进程号文件位置。

Listen 80 #服务器监听的端口号。

ServerName :80 #主站点名称(网站的主机名)。

ServerAdmin admin@ #管理员的邮件地址。

DocumentRoot "/mnt/web/clusting" #主站点的网页存储位置。

以下是对主站点的目录进行访问控制:<Directory "/mnt/web/clusting">Options FollowSymLinksAllowOverride NoneOrder allow,denyAllow from all</Directory>在上面这段目录属性配置中,主要有下面的选项:Options:配置在特定目录使用哪些特性,常用的值和基本含义如下:ExecCGI: 在该目录下允许执行CGI脚本。

FollowSymLinks: 在该目录下允许文件系统使用符号连接。

Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。

SymLinksIfOwnerMatch: 当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问。

其它可用值和含义请参阅:/Apache/ApacheManual/mod/core.html#options AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定):None: 当AllowOverride被设置为None时。

配置虚拟主机的步骤

配置虚拟主机的步骤

配置虚拟主机的步骤第一步:配置本地的DNS——hosts第二步:配置Apache主配置文件——httpd.conf文件路径:C:\Program Files (x86)\phpStudy\Apache2\conf\httpd.conf第三步:虚拟主机配置——vhosts.conf文件路径:C:\Program Files (x86)\phpStudy\Apache2\conf\vhosts.confPHP简介PHP超文本预处理器。

是嵌入HTML文件中的服务器端脚本程序。

换句话:PHP只能运行在服务器上。

一个HTML文件中,可以包含的代码:HTML代码、CSS代码、JS代码、PHP代码等。

PHP的主要功能:web应用开发(线上产品)。

PHP入门比较简单,语法与C、Java、C#、JS等相似。

PHP主要用函数做各种操作,而JS主要用内置对象作操作。

PHP语言基础●PHP代码,跟ASP一样,都是嵌入到HTML文件中去的。

●PHP代码标记:<?php ……?>●PHP文件的扩展名:.php●PHP文件的执行,必须从域名开始访问(必须要经过虚拟主机)。

●访问PHP文件的路径上,不能包含空格和中文。

●PHP也是区分大小写,但关键字和函数名不区分大小写。

●PHP中每条语句,必须以英文下的分号结束(;)。

PHP注释●HTML注释:<!—注释内容-->●CSS注释:/* */●JS注释://或/* */注意的功能:是为以后修改项目时,找问题非常方便。

●PHP的单行注释://或#●PHP的多行注释:/* */●提示:多行注释不能相互嵌套。

●注意:PHP的注释,与代码一样,最终在客户端都是不可见。

PHP变量1、变量的概念变量是临时存储数据的容器。

变量可以看成是宾馆的房间号。

变量可以看成是一个瓶子,瓶子中可以装水、汽水、沙子、酱油等。

我们可以把内存条看成是,由若干个“小格子”构成。

每一个“小格子”可以存储一个变量。

Linux——搭建Apache(httpd)服务器

Linux——搭建Apache(httpd)服务器

Linux——搭建Apache(httpd)服务器⼀、基本概念Apache(或httpd)是Internet上使⽤最多的Web服务器技术之⼀,使⽤的传输协议是http超⽂本传输协议(⼀个基于超⽂本的协议),⽤于通过⽹络连接来发送和接受对象。

有两个版本:http:超⽂本传输协议,通过线路以明⽂形式发送,默认情况下使⽤80/TCP(也可以使⽤其他端⼝)https:经TLS/SSL安全加密的超⽂本传输协议,默认情况下使⽤端⼝443/TCP⼆、了解Apache的配置⽂件1、配置⽂件的分类在Linux系统中配置服务,其实就是修改服务的配置⽂件,httpd服务程序的主要配置⽂件及存放位置如下:配置⽂件的名称存放位置服务⽬录/etc/httpd主配置⽂件/etc/httpd/conf/httpd.conf虚拟主机配置⽂件/etc/httpd/conf.d⽇志⽂件/etc/httpd/logs⽹站数据⽬录/var/www/html2、主配置⽂件的重要参数主配置⽂件/etc/httpd/conf/httpd.conf参数⽤途ServerRoot服务⽬录ServerAdmin管理员邮箱User运⾏服务的⽤户Group运⾏服务的⽤户组ServerName⽹站服务器的域名DocumentRoot⽂档根⽬录(⽹站数据⽬录)Directory⽹站数据⽬录的权限Listen监听的IP地址与端⼝号DirectoryIndex默认的索引页页⾯ErrorLog错误⽇志⽂件CustomLog访问⽇志⽂件Timeout⽹页超时时间,默认为300秒3、Directory标签<Directory "/var/www/html">AllowOverride None #设置.htaccess⽂件中的指令类型,None表⽰禁⽌使⽤.htaccess,该参数⼀般不改Require all granted #设置权限,默认开启所有客户机访问权限</Directory>三、如何配置Apache服务器⾸先准备:主机名、⽹络、yum源1、更改主机名:[root@localhost ~]# hostnamectl set-hostname $主机名[root@localhost ~]# bash #环境变量重载2、配置⽹络(1)虚拟交换机、⽹络适配器选择仅主机模式,并且配置为192.168.100.0⽹段;(2)编辑⽹络配置⽂件:[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33修改: BOOTPROTO=static #改为静态IP地址ONBOOT=yes #改为开机⾃启IPADDR=192.168.100.10PREFIX=24 或者 NETMASK=255.255.255.0(3)重启⽹络服务:[root@localhost ~]# systemctl restart network3、配置yum源(1)先在VMware⾥⾯把系统镜像⽂件连接到虚拟机的光驱上;(2)挂载光驱⾥的镜像:[root@localhost ~]# mount /dev/cdrom /media(3)修改yum源配置⽂件:[root@localhost ~]# vim /etc/yum.repos.d/local.repo[rhel]name=rhelbaseurl=file:///mediaenabled=1gpgcheck=0(4)清空yum源缓存信息:[root@localhost ~]# yum clean all(5)检索当前yum源信息:[root@localhost ~]# yum repolist任务⼀:配置简单的httpd服务1、安装httpd服务[root@server ~]# yum -y install httpd2、启动httpd服务[root@server ~]# systemctl restart httpd[root@server ~]# systemctl enable httpd3、配置防⽕墙[root@server ~]# firewall-cmd --permanent --add-service=http[root@server ~]# firewall-cmd --reload4、关闭SELinux[root@server ~]# setenforce 05、客户端测试[root@client ~]# firefox http://IP地址或者 curl http://IP地址任务⼆:配置基于⽤户的个⼈⽹站注意:该⽤户必须在Linux系统中存在1、新建⼀个⽤户(⽹站基于该⽤户)[root@server ~]# useradd user0[root@server ~]# passwd user02、修改⽤户的家⽬录权限,使其他⽤户具有读取和执⾏的权限[root@server ~]# chmod -R 705 /home/user03、创建存放⽤户个⼈主页空间的⽬录,写user0的⽹页⽂件[root@server ~]# mkdir /home/user0/public_html[root@server ~]# cd /home/user0/public_html[root@server ~]# echo "this is user0's web">>index.html4、修改基于⽤户的httpd配置⽂件[root@server ~]# vim /etc/httpd/conf.d/userdir.conf修改: UserDir enabled #开启,表⽰让httpd服务程序开启个⼈⽤户主页功能UserDir public_html #去注释,UserDir参数表⽰⽹站数据在⽤户家⽬录中的保存⽬录名称5、配置防⽕墙(同上)[root@server ~]# firewall-cmd --permanent --add-service=http[root@server ~]# firewall-cmd --reload6、修改selinux权限[root@server ~]# getsebool -a|grep home[root@server ~]# setsebool httpd_enable_homedirs on7、重启服务[root@server ~]# systemctl restart httpd8、客户端测试[root@client ~]# firefox http://IP地址/~username 或者curl http://IP地址/~username任务三:配置基于域名访问的虚拟主机1、新建虚拟主机的⽹页⽂件[root@server ~]# mkdir /www/one /www/two[root@server ~]# cd /www/one[root@server ~]# echo "this is a web for virtual host one">>index.html[root@server ~]# cd /www/two[root@server ~]# echo "this is a web for virtual host two">>index.html[root@server ~]# chmod o+x /www2、配置虚拟主机的⽂件[root@server ~]# cd /etc/httpd/conf.d[root@server ~]# vim vhost.conf<Directory /www/one> #设置⽹站⽬录权限Require all granted #开启所有客户机访问权限</Directory><VirtualHost 192.168.100.10> #虚拟主机ServerName #定义服务器名称DocumentRoot /www/one/ #⽹站数据⽬录</VirtualHost><Directory /www/two>Require all granted</Directory><VirtualHost 192.168.100.11>ServerName DocumentRoot /www/two/</VirtualHost>3、做域名解析⽂件server/client[root@server ~]# vim /etc/hosts192.168.100.10 192.168.100.11 4、配置防⽕墙(同上)[root@server ~]# firewall-cmd --permanent --add-service=http[root@server ~]# firewall-cmd --reload5、修改虚拟主机⽹页⽂件的selinux上下⽂类型[root@server ~]# semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'[root@server ~]# restorecon -RFv /www6、重启服务[root@server ~]# systemctl restart httpd任务四:配置基于端⼝访问的虚拟主机1——新建虚拟主机的⽹页⽂件[root@server ~]# mkdir /www/8088[root@server ~]# echo "this is a web for port 8088 ">>index.html[root@server ~]# mkdir /www/8089[root@server ~]# echo "this is a web for port 8089 ">>index.html2——配置虚拟主机的⽂件[root@server ~]# cd /etc/httpd/conf.d[root@server ~]# vim vhost.conf<Directory /www/8088/>Require all granted</Directory><virtualHost 192.168.100.10:8088>DocumentRoot /www/8088/</virtualHost><Directory /www/8089/>Require all granted</Directory><virtualHost 192.168.100.10:8089>DocumentRoot /www/8089/</virtualHost>3、配置防⽕墙[root@server ~]# firewall-cmd --permanent --zone=public --add-port=8089/tcp[root@server ~]# firewall-cmd --permanent --zone=public --add-port=8088/tcp[root@server ~]# firewall-cmd --reload4、关闭SELinux[root@server ~]# setenforce 05、重启服务[root@server ~]# systemctl restart httpd6、使⽤浏览器访问任务五:配置基于TLS加密的虚拟主机注意:经TLS/SSL安全加密的超⽂本传输协议,默认情况下使⽤端⼝443/TCP 1、安装TLS加密软件,⽹站内容不⽤明⽂传输[root@server ~]# yum -y install mod_ssl2、⽣成密钥[root@server ~]# openssl genrsa >tlsweb.key3、⽣成证书请求⽂件[root@server ~]# openssl req -new -key tlsweb.key > tlsweb.csr4、⽣成证书⽂件[root@server ~]# openssl req -x509 -days 365 -key tlsweb.key -in tlsweb.csr >tlsweb.crt5、修改ssl.conf配置⽂件[root@server ~]# vim /etc/httpd/conf.d/ssl.confSSLCertificateFile /etc/pki/tls/certs/tlsweb.crtSSLCertificateKeyFile /etc/pki/tls/private/tlsweb.key6、把证书⽂件拷贝到ssl.conf配置⽂件⾥的对应路径下⾯[root@server ~]# cp tlsweb.crt /etc/pki/tls/certs/7、把秘钥⽂件拷贝到ssl.conf配置⽂件⾥的对应路径下⾯[root@server ~]# cp tlsweb.key /etc/pki/tls/private/。

apache的配置及小经验总结

apache的配置及小经验总结
$sql="insert into table values ";
///insert into table values(1)
if($i=0;$i<$nums;$i++){
也可以通过ini_set()函数去设置配置文件的值:@ini_set('display_errors',1);
E:extension=php_zip.dll 调用压缩包
F:查找error_reporting = E_ALL & ~E_NOTICE,将其前边的分号去掉(显示所用的错误和警告,除了notice)
$sql="insert into table values('$array[$i]')";
$rec=mysql_query($sql);
}
///批量插入第二种方法
$array=$_POST['checkbox'];
$nums=count($_POST['checkbox']);
21.javascript中在处理<select multiple="multiple">标签时,join()函数和implode()函数是一样的, arr.join(",") 将数组元素以逗号连接在一起
22.1.alert(document.form1.elements.length);
D:查找DirectoryIndex 看到后面只有index.html 在它后面加上index.php (index.sht,大概在241行ml)。
F:查找 Include conf/extra/http-mpm.conf ,将此行前边的#去掉。

11.23 Apache服务器的配置与管理

11.23 Apache服务器的配置与管理

3、Apache虚拟主机的配置
LOGO
配置apache
本章目标
1. 熟悉Apache的特性 2. 掌握Apache的安装
3.
掌握Apache的简单配置
Web服务器简介
Internet上最热门的服务之一就是环球信息网WWW (World Wide Web)服务, Web已经成为很多人在网 上查找、浏览信息的主要手段。 Web服务具有如下特点
CERN httpd NCSA httpd AOL server
HTTP通信
WWW服务器
Apache的起源
Aapche版本和主要特点
资源: 开发团队:Apache Group 版本:httpd-2.0.48 Apache的市场 Apache的特点
2. Apache凭借其开放源代码的优势发展迅速, Apache具有无限扩展功能的优点。
3. Apache的工作性能和稳定性远远领先于其 他同类产品。
可以支持很多功能模块。借助这些功能模块,
Apache的起源
HTTP 超文本传输协议
建立连接 发出请求信息
Web浏览 器
返回响应信息 关闭连接
基于Linux的WWW服务器
以下介绍httpd.conf文件中几个基本配置:
(1)ServerRoot:设置根目录的路径
Apache服务器根目录是指Apache存放配置文件和日志文件 的目录,默认情况下根目录位于“/etc/httpd”。根目录下 一般包含conf和logs子目录。命令如下: ServerRoot “/etc/httpd”
网站服务是基于TCP/IP之上的应用层协议HTTP进 行的,是一种C/S模式的网络服务,由客户端浏览 器提出请求,远程服务器端服务进程响应客户端 的请求并返回相关信息

实验四 Apache、PHP和MySQL的基本配置

实验四 Apache、PHP和MySQL的基本配置

实验四Apache、PHP和MySQL的基本配置【实验目的】:1、掌握Apache的基本配置2、熟悉PHP和MySQL的安装和基本配置【实验要求】:在Windows XP或Windows Server 2003上安装Apache、PHP、MySQL软件,进行简单的配置。

【实验步骤】:一、Apache的安装。

(软件版本的差异不会影响到安装过程)1.Apache服务器开始安装时的界面。

点Next。

2.接受协议。

点Next。

3.点击Next。

4.Network Domain域用户添相应的域名,不使用域的任意添,这里我添localhostServer Name添服务器名,由于我装在本机,就添localhostAdministrator’s Email Address任意添一个符合格式的Email选择端口,默认是80,这和IIS冲突,如果使用80的话,请把IIS端口改掉,或停止IIS。

注意:电脑上运行的其他程序,是否有使用80端口的。

用netstat –anb看一下。

如果有,停止掉。

否则程序不能正常安装。

选择for All Users,on Port 80,as a Service—Recommended.点击Next.5.选择Typical(典型),点击Next.6.点击Change,可以改变安装目录。

改完后点击Next。

7.点击Install(安装)8.安装进行中,请等待…9.安装过程中会弹出一个黑屏窗口,不用理会。

10.安装完成。

11.安装成功,在屏幕右下角出现启动的红羽毛。

停止装态可以在这里启动或停止服务器。

也可以在开始菜单→所有程序→Apache HTTP Server 2.2→Control Apache Server→(restart,start,stop)这里控制服务器。

出现12的界面,说明域名没起作用。

不用管它。

当配置完Apache的配置文件后,最好在这里控制,因为,如果,配置不正确,会在这里显示错误详细信息。

win10apache配置虚拟主机后localhost无法使用的解决方法

win10apache配置虚拟主机后localhost无法使用的解决方法

win10apache配置虚拟主机后localhost⽆法使⽤的解决⽅法win10系统配置虚拟主机1.⽤记事本或Sublime Text打开httpd.confctrl + f 搜索httpd-vhosts.conf将#Include conf/extra/httpd-vhosts.conf的#号去掉保存2.打开extra/httpd-vhosts.conf添加如下内容:<VirtualHost *:80>**********************************DocumentRoot "E:/your_web_root"ServerName ErrorLog "logs/your_web_error.log"CustomLog "logs/your_web_access.log" common</VirtualHost>3.本地测试的话,还需要在hosts⽂件中配置⼀个域名解析条⽬,在C:/windows/system32/drivers/etc/⽬录下找到hosts⽂件4.完成以上步骤后,重启Apahce就可以了重点来了这时虚拟主机的域名可以正常访问,但是localhost就不能访问了。

报错如下:解决:在httpd.conf⽂件中有⼀⾏代码是需要注释掉的ServerName localhost:80把ServerName这⼀⾏代码注释掉就可以了也许你的httpd.conf⽂件中并不是localhost:80 这个值,可能是ServerName :80 ; 都⼀样,直接注释掉就可以使⽤。

之后⽆论开启或者关闭虚拟主机,localhost都可以正常访问。

以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

杨海艳-主讲-linux之web(apache)配置步骤截图

杨海艳-主讲-linux之web(apache)配置步骤截图

apache的配置步骤讲解说明主讲人:杨海艳示例:设置apache服务器。

设置虚拟主机。

要求配置第二个IP为192.168.10.101/24ifconfig eth0:0 192.168.10.101 netmask 255.255.255.0ifconfig查看创建基于端口的虚拟主机。

响应IP为192.168.10.101。

其中一个监听80端口,一个监听8080端口,vim /etc/httpd/conf/httpd.conflisten 80 后面再加一行listen 8080把上面的改成如下然后复制示例7行7yy 在粘贴p 修改相应配置。

mkdir /yhycd /yhymkdir web1 web2echo “welcome to web1 homepage” > web1/index.htmlecho “welcome to web2 homepage” > web2/index.htmlservice httpd restart创建基于域名的虚拟主机。

域名分别为和 创建以上4个虚拟主机的默认文档文件。

写入恰当内容。

以验证配置。

四个网站:基于ip基于端口,基于多域名的:实例参考文件用户认证①单个用户的认证首先需要建立一个密码文件。

这个文件应该放在不能被网络访问的位置,以避免被下载,同时也要给上相应的权限,让没有权限的用户不用读取。

建立密码文件htpasswd -c /usr/local/apache/passwd/passwords authtest按提示输入密码#第一次创建用户要用到-c 参数第2次添加用户,就不用-c参数#如果你们想修改密码,可以如下htpasswd -m /usr/local/apache/passwd/passwords authtest修改httpd.conf或.htaccess文件AuthType Basic #对用户实施认证的方法AuthName "just test,please Login:"#对这个访问的描述AuthUserFile /usr/local/apache/passwd/passwords#指定密码文件的位置,也就是刚才我们用htpasswd建立的文件Require user authtest #允许访问的用户②多个用户的认证首先建立一个组文件以确定组中的用户。

Apache服务器配置与管理

Apache服务器配置与管理

Apache服务器配置与管理一、Apache服务器的安装与启动1、查询系统是否安装了Apacherpm -qa | grep httpd2、运行如下命令进行安装rpm -ivh /media/RH*/Server/httpd-2.2.3-11.e15_1.3.i386.rpm3、启动Apache服务器service httpd restart 或者etc/init.d/httpd restart4、检测配置文件的语法service httpd configtest5、测试Apache服务器注意:防火墙的配置二、Apache服务器默认的配置文件信息1、主配置文件:/etc/httpd/conf/httpd.conf2、服务器的根目录(ServerRoot):/etc/httpd3、根文档目录(DocumentRoot):/var/www/html4、访问日志文件:/etc/httpd/logs/access_log5、错误日志文件:/etc/httpd/logs/error_log6、模块存放路径:/etc/httpd/modules(一)httpd.conf文件的格式1、httpd.conf配置文件主要由全局环境、主服务器配置和虚拟主机3个部分组成2、配置语句的语法格式:配置参数名称参数值3、检查httpd.conf的语法是否正确apachectl configtest 或者service httpd configtest(二)Web服务的基本配置1、主目录的路径(DocumentRoot)默认位置:/var/www/html可以将需要发布的网页放在这个目录下2、默认文档在浏览器中,输入Web站点的IP地址或域名即显示出来的Web页面DirectoryIndex index.html index.htm index.php index.html.var3、配置Apache监听的IP地址和端口号Listen 80(在本机所有可用IP地址上监听TCP 80端口)只监听IP地址为192.168.16.177的80端口和192.168.18.178的8080端口Listen 192.168.16.177 80Listen 192.168.18.178 80804、设置相对根目录路径相对根目录通常是Apache存放配置文件、日志文件、模块文件等的地方。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

内容:这里讲述一些Apache虚拟主机中比较容易发生的问题和解决的一些基本思路,给出一些比较典型的错误的示例理解。

一.设置虚拟主机会发生些什么问题?基本上会最容易遇到两个问题:1.虚拟主机发生冲突。

2.宿主机的丢失。

(当然还会遇到其他很多的问题,但是这里我们先讨论这2个问题)1.虚拟主机发生冲突:无论是采用哪种形式的虚拟主机,都会发生虚拟主机冲突的问题,尤其是在Apache的虚拟主机系统变得庞大而复杂的时候尤其容易发生。

但是请记住,无论什么采用什么形式的虚拟主机,甚至多种混用,如果造成虚拟主机冲突的话,根本原因就只有一个:“至少有一个原因,使得Apache不能区别一些虚拟主机”。

之前一个一直强调的一个部分就是“Apache需要能够做到区分每个虚拟主机”。

如果能够通过IP区分的话,那就通过IP区分;如果需要多个主机共享一个IP 的话,那么可以设定不同的端口让Apache去区分;如果需要多个虚拟主机使用一个IP并且端口也用同一个的话,那么也要通过不同的域名来让Apache做到对不同虚拟主机的区分。

一个最经常发生的错误,就是在多个IP地址上进行基于域名方式虚拟主机的配置当中,没有指定和规划好哪几个虚拟主机是归属于哪个IP地址下,造成Apache对一些虚拟主机不能区别。

沿用第二章中的示例,以下给出一个典型错例。

[root@kcentos5 ~]# vi /etc/httpd/myconf/virthosts.conf------------(注意:此为典型错误配置的示例)----------NameVirtualHost 192.168.1.111:80(VirtualHost后面没有指定自己归属的IP地址)DocumentRoot /var/www/vhost1/ServerName (VirtualHost后面没有指定自己归属的IP地址)DocumentRoot /var/www/vhost2/ServerName NameVirtualHost 192.168.1.222:80(VirtualHost后面没有指定自己归属的IP地址)DocumentRoot /var/www/vhost3/ServerName (VirtualHost后面没有指定自己归属的IP地址)DocumentRoot /var/www/vhost4/ServerName -------------------------------------------------------在这个虚拟主机的配置当中,通过2个NameVirtualHost配置项指出Apache将在192.168.1.111和192.168.1.222 这两个IP地址上分别做基于域名的虚拟主机。

但是,在每个虚拟主机的配置当中,又没有在这个虚拟主机头配置当中指定自己所归属的IP地址,虽然在每个虚拟主机里是同过ServerName写明了自己应该受理的域名,但是对于Apache来说,即使得到了客户端对哪个域名的请求,但是它也不知道如何进一步给自己的哪个网络接口的IP地址上的虚拟主机去受理。

那么这个时候Apache遇到这样的问题会怎么做呢?我们就先按以上的错误配置来启动httpd服务看看响应。

[root@kcentos5 ~]# service httpd restart-------------------------------------------------------Stopping httpd: [ OK ] Starting httpd: [Sun Sep 23 19:53:38 2007] [warn] _default_ VirtualHost overlap on port 80, the first has precedence告警:默认的虚拟主机在监听的80端口上有重叠,因此第一个虚拟主机将获得优先。

[Sun Sep 23 19:53:38 2007] [warn] _default_ VirtualHost overlap on port 80, the first has precedence[Sun Sep 23 19:53:38 2007] [warn] _default_ VirtualHost overlap on port 80, the first has precedence[Sun Sep 23 19:53:38 2007] [warn] NameVirtualHost 192.168.1.111:80 has noVirtualHosts告警:网络接口192.168.1.111上不认为有虚拟主机的存在。

[Sun Sep 23 19:53:38 2007] [warn] NameVirtualHost 192.168.1.222:80 has no VirtualHosts告警:网络接口192.168.1.222上不认为有虚拟主机的存在。

[ OK ]-------------------------------------------------------再通过httpd -S命令来更加明确发生的问题,以及发生该问题后Apache所将采取的措施。

[root@kcentos5 ~]# httpd -S-------------------------------------------------------[Sun Sep 23 20:22:43 2007] [warn] _default_ VirtualHost overlap on port 80, the first has precedence[Sun Sep 23 20:22:43 2007] [warn] _default_ VirtualHost overlap on port 80, the first has precedence[Sun Sep 23 20:22:43 2007] [warn] _default_ VirtualHost overlap on port 80, the first has precedence告警:默认的虚拟主机在监听的80端口上有重叠,因此第一个虚拟主机将获得优先。

[Sun Sep 23 20:22:43 2007] [warn] NameVirtualHost 192.168.1.111:80 has no VirtualHosts告警:网络接口192.168.1.111上不认为有虚拟主机的存在。

[Sun Sep 23 20:22:43 2007] [warn] NameVirtualHost 192.168.1.222:80 has no VirtualHosts告警:网络接口192.168.1.222上不认为有虚拟主机的存在。

VirtualHost configuration:wildcard NameVirtualHosts and _default_ servers:*:80 (/etc/httpd/myconf/virthosts.conf:16)*:80 (/etc/httpd/myconf/virthosts.conf:21)*:80 (/etc/httpd/myconf/virthosts.conf:28)*:80 (/etc/httpd/myconf/virthosts.conf:33)以上是通配*:80的主机Syntax OK配置语法正确--------------------------------------------------------所以我们可以根据上面的现象了解到一些事实:(1)在多个IP上面采用基于域名方式虚拟主机的时候,除非你只使用一个NameVirtualHost配置项来让Apache将所有自己监听的网络接口地址放在一起共同随机监听。

如果像这样你指定了多条NameVirtualHost来规划好哪些虚拟主机是归属于哪个IP地址的话,那么你也必须在每个虚拟主机的头配置项目里指定归属的NameVirtualHost的IP地址。

否则Apache将无法对其辨认。

(2)当发生了以上这样的失误,那么Apache首先将会把一些不能区分的虚拟主机作为“通配虚拟主机”,因为在Apache看来,这些通配的虚拟主机是不能区分的,认为这已经造成了冲突。

接下去Apache会做的就是将“通配虚拟主机”当中第一出现的虚拟主机作为“缺省主机”(在配置文件中位置上最先出现的出现的),然后将所有接受到的发往这些通配虚拟主机的请求都递交给这个缺省主机造成其他缺省主机的无效。

因此Apache也就认为了在自己的几个监听网络接口上,用户并没有设定虚拟主机,因为Apache就只认可每个地址上配置文件中首先出现的虚拟主机,而强行使其他的通配主机无效。

(3)最后的Syntax OK,表示配置文件的语法没有错误。

的确没有语法错误,本例中的错误是“逻辑错误”而不是语法上错误,Apache会检测语法通过,因此在这样的状况下,Apache也仍然启动OK。

正确的修改应该如下:-------------------------------------------------------NameVirtualHost 192.168.1.111:80DocumentRoot /var/www/vhost1/ServerName DocumentRoot /var/www/vhost2/ServerName NameVirtualHost 192.168.1.222:80DocumentRoot /var/www/vhost3/ServerName DocumentRoot /var/www/vhost4/ServerName -------------------------------------------------------[root@kcentos5 ~]# service httpd restartStopping httpd: [ OK ] Starting httpd: [ OK ] 2.虚拟主机的设定可能会造成宿主机的丢失:当Apache启用虚拟主机的功能时候,另外一个可能发生的问题就是原本宿主机的站点丢失了。

这通常发生在虚拟主机和宿主机站点共享一个IP所造成的。

举一个例子,这里我使用3个域名对应同一个IP-------------------------------------------------------192.168.1.21 (Apache宿主机主站点用的域名)192.168.1.21 (Apache虚拟主机站点用的域名)192.168.1.21 (Apache虚拟主机站点用的域名)-------------------------------------------------------然后Apache的全局主配置文件相关设定如下(只取相关部分):[root@kcentos5 ~]# cat /etc/httpd/conf/httpd.conf &#124;grep -v "#"-------------------------------------------------------ServerName :80宿主站点监听的域名和端口DocumentRoot "/var/www/html" (主页显示为"MainHost")宿主站点主路径Include conf.d/*.confInclude myconf/*.conf扩展配置文件路径-------------------------------------------------------接着察看虚拟主机配置文件设定:[root@kcentos5 ~]# cat /etc/httpd/myconf/virthosts.conf-------------------------------------------------------NameVirtualHost 192.168.1.21:80DocumentRoot /var/www/vhost5/ (主页显示为"Vhost5")ServerName DocumentRoot /var/www/vhost6/ (主页显示为"Vhost6")ServerName -------------------------------------------------------启动服务:[root@kcentos5 ~]# service httpd restartStopping httpd: [ OK ] Starting httpd: [ OK ] 测试:使用Windows的客户端分别去访问三个域名,反馈结果如下:-------------------------------------------------------&n ... nbsp;"Vhost5"&n ... sp;-> "Vhost5"... ;-> "Vhost6"-------------------------------------------------------测试结果下访问宿主站点而反馈的内容和访问虚拟主机站点相同。

相关文档
最新文档