首页 文章 精选 留言 我的

精选列表

搜索[lamp],共675篇文章
优秀的个人博客,低调大师

LAMP架构(apache用户认证,域名重定向,apache访问日志)

一、apache用户认证 用户认证就是打开一个网站。会让你输入用户名和密码。对了才会让你访问HTTP, vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 编辑内容如下 <Directory /data/wwwroot/www.123.com> //指定认证的目录 AllowOverrideAuthConfig //这个相当于打开认证的开关 AuthName "123.com user auth" //自定义认证的名字,作用不大 AuthType Basic //认证的类型,一般为Basic,其他类型阿铭没用过 AuthUserFile /data/.htpasswd //指定密码文件所在位置 require valid-user //指定需要认证的用户为全部可用用户 </Directory> /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd lty 使用apache的内置文件生成htpasswd -c 创建 -m mk5加密 [root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t 检查语法错误 Syntax OK [root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful 重新加载配置文件 [root@localhost ~]# curl -x127.0.0.1:80 111.com -I HTTP/1.1 401 Unauthorized Date: Mon, 20 Nov 2017 06:31:55 GMT Server: Apache/2.4.28 (Unix) PHP/5.6.30 WWW-Authenticate: Basic realm="111.com user auth" Content-Type: text/html; charset=iso-8859-1 [root@localhost ~]# curl -x127.0.0.1:80 111.com -I HTTP/1.1 401 Unauthorized (401说明要做用户验证) Date: Mon, 20 Nov 2017 06:32:01 GMT Server: Apache/2.4.28 (Unix) PHP/5.6.30 WWW-Authenticate: Basic realm="111.com user auth" Content-Type: text/html; charset=iso-8859-1 用浏览器访问发现需要做用户认证 也可以对单个文件做用户认证 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 编辑如下: #<Directory /data/wwwroot/111.com> <FilesMatch 111.php> ~ ~ ~ </FilesMatch> #</Directory> [root@localhost ~]# /usr/local/apache2.4/bin/apachectl -t 检查语法错误 Syntax OK [root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful 重新加载配置文件 [root@localhost ~]# curl -x127.0.0.1:80 111.com/111.php -I HTTP/1.1 401 Unauthorized Date: Mon, 20 Nov 2017 06:49:16 GMT Server: Apache/2.4.28 (Unix) PHP/5.6.30 WWW-Authenticate: Basic realm="111.com user auth" Content-Type: text/html; charset=iso-8859-1 二、域名重定向 域名跳转,也叫域名重定向 [root@localhost ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <IfModulemod_rewrite.c> //需要mod_rewrite模块支持 RewriteEngine on //打开rewrite功能 RewriteCond %{HTTP_HOST} !^111.com$ //定义rewrite的条件,主机名(域名)不是111.com满足条件 RewriteRule ^/(.*)$ http://111.com/$1 [R=301,L] //定义rewrite规则,当满足上面的条件时,这条规则才会执行,301表示永久跳转,临时 跳转302,L表示跳转一次 </IfModule> 查看有没有加载模块rewrite.so [root@localhost ~]# /usr/local/apache2.4/bin/apachectl -M |grep rewrite 如果没有,修改httpd配置文件 149 #LoadModule rewrite_module modules/mod_rewrite.so 去掉#号 [root@localhost ~]# curl -x127.0.0.1:80 2111.com.cn -I HTTP/1.1 301 Moved Permanently (状态为301,永久跳转) Date: Mon, 20 Nov 2017 08:05:07 GMT Server: Apache/2.4.28 (Unix) PHP/5.6.30 Location: http://111.com/ Content-Type: text/html; charset=iso-8859-1 三、apache访问日志 访问日志:会记录用户的每一个请求 cat /logs/ 默认的日志格式: 来源的ip.时间,行为,访问域名,httpd版本,状态码,大小 修改日志格式; vim /usr/local/apache/conf/httpd.conf 搜索/LogFormat 就是日志的格式 283 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 284 LogFormat "%h %l %u %t \"%r\" %>s %b" common 默认日志格式 {User-Agent}用户代理:通过浏览器或者curl访问,最终获得网站内容,浏览器就是用户代理, {Referer} 记录浏览器上一次所访问的网址是什么 vim /usr/local/apache/conf/extra/httpd-vhosts.conf CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access%Y%m%d.log 86400" combined (把访问日志这一行之前的common 改为combined) 本文转自 小新锐 51CTO博客,原文链接:http://blog.51cto.com/13407306/2052450,如需转载请自行联系原作者

优秀的个人博客,低调大师

LAMP架构(apache与php结合,apache默认虚拟主机)

一、apache与php结合 主配置文件/usr/local/apache2.4/conf/httpd.conf [root@localhost ~]# /usr/local/apache2.4/bin/apachectl graceful (重新加载服务,并不重启服务) [root@localhost ~]# /usr/local/apache2.4/bin/apachectl start (启动httpd服务) AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message 这是一个警告 解决方法:修改主配置文件中/usr/local/apache2.4/conf/httpd.conf,192行,ServerName前的#号去掉 接下来发现直接访问ip显示错误 错误代码: HTTP ERROR -2146697211 解决办法:1.首先看ip是否ping通。 2.查看80端口是否打开 iptables -I INPUT -p tcp --dport 80 -j ACCEPT 打开80端口 iptables -D INPUT -p tcp --dport 80 -j ACCEPT 关闭80端口 有时候会显示状态码为403,状态码正常为200 解决办法:修改主配置文件中/usr/local/apache2.4/conf/httpd.conf,202行,Require all denied 修改为 Require all granted 因为要支持php,要在配置文件里增加一行,搜索AddType 398 AddTypeapplication/x-httpd-php .php 增加索引页。 搜索 Indexes 251 DirectoryIndex index.html index.php 检测php有么有解析成功,在/usr/local/apache2.4/htdocs下创建一个1.php 并写入 <? phpinfo(); 这是一个函数,会显示php的详细信息 ?> 用浏览器访问ip,若出现界面,则表示php解析成功。 /usr/local/php7/bin/php -i | less 和这个命令显示的命令一样,但是是以表格的形式 若没有成功: 检查有没有加载php模块。 /usr/local/apache2.4/bin/apachectl -M 2.有没有php模块 ls /usr/local/apache2.4/modules/libphp5.so 3.配置文件里有没有 有没有加载 libphp5.so 这一行的配置 检查有没有加 AddType php 这一行 二、apache默认虚拟主机 (默认虚拟主机:只要servername里么有定义,但是解析到了本机的Ip,则会自动跳转到默认虚拟主机上来) 一个服务器可以访问多个网站。每个网站都是一个虚拟主机。 windows和Linux操作系统中,都有一个hosto文件 可以在这个文件里制定一个域名,然后这个域名指向一个ip [root@litongyao ~]# vim /usr/local/apache2.4/conf/httpd.conf 203 ServerName 111.com:80 (定义了主机域名和端口号) 225 DocumentRoot "/usr/local/apache2.4/htdocs" (定义了主机目录位置) 476 # Virtual hosts (虚拟主机) 477 #Include conf/extra/httpd-vhosts.conf (去掉井号,主配置文件的server就失效了) 去掉#可以打开一个虚拟主机配置文件,可以定义多个servername [root@localhost apache2.4]# vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf ServerAdmin 定义管理员邮箱(可以删除) DocumentRoot 网站的根目录 ServerName 访问网站的域名 ServerAlias 网站别名 ErrorLog 错误日志 CustomLog 访问日志 写完虚拟配置文件然后要创建相应的目录 <VirtualHost *:80> DocumentRoot "/data/wwwroot/abc.com" ServerName abc.com ServerAlias www.abc.com www.123.com php_admin_value open_basedir "/data/wwwroot/abc.com:/tmp/" ErrorLog "logs/abc.com" CustomLog "logs/abc.com-access_log" common </VirtualHost> 编写完成后,重新加载配置文件 [root@litongyao ~]# /usr/local/apache2.4/bin/apachectl graceful [root@litongyao ~]# /usr/local/apache2.4/bin/apachectl start (启动apache服务) httpd (pid 3490) already running 测试,我们用curl命令,-x可以指定ip.: [root@litongyao ~]# curl -x192.168.52.100:80 abc.com abc.com 两个虚拟主机的servername中都没有定义lty这个域名,我们访问看他会跳转到哪个上。 [root@litongyao ~]# curl -x192.168.52.100:80 lty.com abc.com 本文转自 小新锐 51CTO博客,原文链接:http://blog.51cto.com/13407306/2052448,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册