本文共 2322 字,大约阅读时间需要 7 分钟。
这几天在看LAMP,都编译好了,今天打算做几个虚拟主机,顺便记录下问题,php7是以php-fpm的方式与apache连接的,php7有好多新特性 这里就不一一说了。。。这里只是简单的搭建了个phpMyadmin 本来是在主机上的,后来挪到了虚拟机上首先在apache的配置文件上开启虚拟主机功能,然后如下图即可
这就是一个完整的配置。。。耗费时间最多的是这个选项,来定义目录权限的。。。试了几次都不行网上说的都的是这样的
<Directory /var/www/html>
Options -Indexes FollowSymLinksAllowOverride NoneRequire all granted</Directory>而我的只能使用allow from all定义下面是编译apache时候的选项.... ./configure --prefix=/usr/local/apache2.4 --enable-ssl --enable-modules=most --enable-mods-shared=all --with- zlib --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-cgi --enable-rewrite --enable-mpms- shared=all --with-mpm=event --enable-so --with-included-apr
make出错的话 直接make clean以后直接删掉解压包 彻底些
编译安装的时候如果不加上 --with-incuded-apr的话会一直报错 很奇怪的错误 加上后面一句的时候就会报如下的错误configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr andapr-util packages to ./srclib/.按照网上的方法解决cp -rf apr-1.5.2 /usr/local/src/httpd-2.4.18/srclib/apr //将版本号去掉,下同cp -rf apr-util-1.5.4 /usr/local/src/httpd-2.4.18/srclib/apr-util
apache的日志功能LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined%h:客户端的ip地址%l %u 这两个不太重要%t: 时间 是按照英文外国显示的时间%r:First line of request 请求报文的信息%>:响应状态码%b:响应报文的大小,单位是字节,不包括响应报文首部$(Referer);请求报文中referer首部的值,也就是访问当前资源的入口,是从哪个页面跳转过来的 - 表示自己的网站首部过来的..$(User-Agent)发出请求用到的应用程序 请求报文当中User-Agent的值
(2)、网站别名:把一个URL映射到别的路径之下
在配置文件中有一个DocumenRoot 这个是指定网站根目录的还可以自己指定一个Alias /URL/ "/PATH/TO/SOMEDIR"例如:Alias /bbs/ "forum/htdocs"定义以后就和上面的DocumentRoot 没啥关系了在Alias配置段中随便定义就行,定义以后就会指定到新的路径中了(3)、设置默认字符集AddDefaultCharser UTF-8 国际的(4)、基于用户的访问控制用户认证(1)、定义安全域optiones noneallowoverride noneauthtpe basicauthname "sui bian ding yi"authuserfile "存放用户密码的路径"require valid-user 那些用户可以访问 可以是user1 user2 或认证用户 valid-user
</Directiory>
基于ip地址的认证
最好是先删除默认welcome的欢迎页面 要不测试可能会用问题然后使用htpasswd来创建用户和密码虚拟主机
可以实时查看apache的状态页面
只需要把其中下面的需要主机设定访问 http://localhost/server-statushttp://localhost/server-status?refresh=N 代表N秒钟刷新一次 在此一定要设置用户权限,不能让所有人访问,但是也不能基于IP的访问权限,可以设置用户名和密码的权限,这样在外网也可以查看SetHandler server-status# Order deny,allow# Deny from all# Allow from allOptions NoneAllowoverride Noneauthtype basicauthuserfile "/etc/httpd/conf/.thpasswd"authname "suibiandingyi"require valid-user
转载于:https://blog.51cto.com/12529218/2314652