LAMP第二部分apache的配置
1. 下载discuz!
mkdir /data/www
cd /data/www
mv /root/Discuz_X3.2_SC_GBK.zip .
wget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip
unzip Discuz_X3.2_SC_GBK.zip
rm -rf readme/ utility/ 删除这两个目录
mv upload/* .
rm -rf upload
mv Discuz_X3.2_SC_GBK.zip /root/
echo $PATH
ln -s /usr/local/apache2/bin/apachectl /usr/bin/ 做一个软连接,或者加入到系统环境变量中去 /etc/rc.local=========
apachectl -t
apachectl restart
2. 配置第一个虚拟主机
vim /usr/local/apache2/conf/httpd.conf
打开下面这行
#Include conf/extra/httpd-vhosts.conf
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
加入如下配置:
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.123.com #自定义的
</VirtualHost>
apachectl -t
apachectl graceful 将配置文件重新加载
curl -x127.0.0.1:80 www.111.com 什么都没有输出,测试成功了
curl -x127.0.0.1:80 www.111.com -I 检测状态码302,下面显示是install
按下ctrl+r 就是搜索命令历史,输入命令自动就找到了====
安装discuz
测试一下,在本地hosts加入 192.168.3.129 www.111.com 可以ping一下
在浏览器打开www.111.com 显示discuz的安装页面
同意安装会提示目录不可写,需要改一下所属主组
看apache是属于哪个用户的ps aux |grep httpd
chown -R daemon data config uc_server/data uc_client/data
这时刷新一下安装页面就可以了
===============加入环境变量================
PATH=$PATH:/usr/local/mysql/bin
或者
vim /etc/profile.d/
vim /etc/profile.d/path.sh
里面加入
export PATH=$PATH:/usr/local/mysql/bin
然后
source /etc/profile
echo $PATH
然后输入mysql就可以进入到mysql的命令行了
3. 然后配置mysql,给Discuz!增加一个账户
]#mysqladmin -uroot password '123456'
]#mysql -uroot -p123456 这样子登陆mysql
给mysql root账户设置密码,然后命令行进入mysql,创建新的库,并创建一个新的帐号对该库有所有权限
> create database discuz;
> grant all on discuz.* to 'aming'@'localhost' identified by 'aming123';
> quit
.*是所有的表,all是所有的权限
验证登陆数据库用户
mysql -uaming -paming123
继续安装Discuz!
安装成功
=================
5. 为某个虚拟主机配置用户认证,打开www.111.com/admin.php 需要认证(给后台管理中心配置用户验证)
http://www.lishiming.net/thread-554-1-1.html
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
虚拟主机配置文件中,找到虚拟配置的地方,<VirtualHost>
在里面加入
<Directory /data/www>
AllowOverride AuthConfig
</Directory>
保存后,然后
创建apache的验证用户
/usr/local/apache2/bin/htpasswd -c /data/.htpasswd aming #/data/.htpasswd是密码文件
cat /data/.htpasswd
#第一次创建用户要用到-c 参数 第2次添加用户,就不用-c参数
增加第二个用户的时候,就不要加-c了,因为-c是创建的意思,如果加上会把这个文件重写。
/usr/local/apache2/bin/htpasswd /data/.htpasswd abiao 第二次创建用户
m 是用md5加密,如果你想修改密码,可以如下
/usr/local/apache2/bin/htpasswd -m /data/.htpasswd test2
重启apache,即可。
vim /usr/local/apache2/conf/extra/httpd-vhosts.conf然后继续在虚拟配置文件中加入
<Directory /data/www/admin.php>
AllowOverride AuthConfig #将要进行用户认证
AuthName "自定义的" #认证的名字
AuthType Basic
AuthUserFile /data/.htpasswd # 这里的/data/.htpasswd你可以随便写一个路径或名字,没有限制
require valid-user #需要这些可用的用户
</Directory >
apachectl -t
apachectl graceful
6. 配置域名跳转
http://www.lishiming.net/thread-603-1-1.html
在虚拟配置文件中加入
ServerAlias www.222.com
然后在本地电脑hosts中解析一下就可以访问了,结论:我们的网站,任何一个域名绑定到你的ip,都可以访问你的虚拟主机
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.111.com
ServerAlias www.222.com
<IfModule mod_rewrite.c>
#需求:要把访问域名 www.222.com 的域名转发到 www.111.com 上
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.222.com$
RewriteRule ^/(.*)$ http://www.111.com/$1 [R=301,L]
</IfModule>
</VirtualHost>
curl -xlocalhost:80 www.111.com -I
测试 curl -xlocalhost:80 www.222.com/1212 -I
如果是多个域名重定向到一个域名
DocumentRoot "/data/www"
ServerName www.111.com
ServerAlias www.222.com 888.com 666.com
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.222.com [OR]
RewriteCond %{HTTP_HOST} ^888.com [OR]
RewriteCond %{HTTP_HOST} ^666.com$
RewriteRule ^(.*)$ http://www.111.com/$1 [R=301,L]
</IfModule>
==========
ss -an |grep -ci esta
7. 配置apache的访问日志
首先打开
vim /usr/local/apache2/conf/httpd.conf 主配置文件
找到下面这行,复制粘贴在下面,根据需求改一下
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
改为
LogFormat "%h %u \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" biao
然后在虚拟主机配置文件中打开vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
下面的
CustomLog "/tmp/apache2.log" biao
然后访问查看一下日志 tail -f /tmp/apache2.log
================================
去掉图片日志
在虚拟主机配置#ErrorLog "logs/dummy-host.example.com-error_log"下面加入
SetEnvIf Request_URI ".*\.gif$" image-request
SetEnvIf Request_URI ".*\.jpg$" image-request
SetEnvIf Request_URI ".*\.png$" image-request
SetEnvIf Request_URI ".*\.bmp$" image-request
SetEnvIf Request_URI ".*\.swf$" image-request
SetEnvIf Request_URI ".*\.js$" image-request
SetEnvIf Request_URI ".*\.css$" image-request
然后把CustomLog "/tmp/apache2.log" biao
改成
CustomLog "/tmp/apache2.log" biao env=!image-request
日志切割
在虚拟主机配置改这里
CustomLog "|/usr/local/apache2/bin/rotatelogs -l /tmp/access_%Y%m%d.log 86400" biao env=!image-request
访问测试
www]# ls /tmp/
access_20150701.log
参考资料:
使apache的日志文件里不记录图片文件 http://www.lishiming.net/thread-561-1-1.html
apache 日志中记录代理IP以及真实客户端IP http://www.lishiming.net/thread-960-1-1.html
apache只记录指定URI的日志 http://www.lishiming.net/thread-981-1-1.html
apache日志记录客户端请求的域名 http://www.lishiming.net/thread-1037-1-1.html
apache 日志切割问题 http://www.lishiming.net/thread-566-1-1.html
8. 配置静态文件缓存
http://www.lishiming.net/thread-912-1-1.html
按下f12 可以看到那些静态文件
下次访问就不用从服务器里面取,就是保存在浏览器上,访问用到直接拿出来用
在虚拟主机配置改这里加入
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/gif "access plus 1 days"
ExpiresByType image/jpeg "access plus 24 hours"
ExpiresByType image/png "access plus 24 hours"
ExpiresByType text/css "now plus 2 hour"
ExpiresByType application/x-javascript "now plus 2 hours"
ExpiresByType application/x-shockwave-flash "now plus 2 hours"
ExpiresDefault "now plus 0 min"
</IfModule>
按下f12 刷新一下,可以看到文件有304 说明这个文件缓存过的。
查看图片的过期缓存
curl -I 'http://www.111.com/static/image/common/logo.png'
Cache-Control: max-age=86400
86400/3600/24=1天,这个可以设置
LAMP第二部分apache的配置的更多相关文章
- centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课
centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 ...
- LAMP第二部分apache配置
课程大纲:1. 下载discuz! mkdir /data/wwwcd /data/wwwwget http://download.comsenz.com/DiscuzX/3.2/Discuz_X3 ...
- 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)
阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...
- CentOS 6.3安装配置LAMP服务器(Linux+Apache+MySQL+PHP5)
服务器系统环境:CentOS 6.3 客户端系统环境:Windows 7 ultimate(x86)sp1 简体中文旗舰版 ※ 本文档描述了如何在Linux服务器配置Apache.Mysql.PHP ...
- LNMP 与 LAMP 架构的区别及配置解决方案
2014-12-31 10:33| 发布者: digitser| 查看: 5618| 评论: 0|原作者: liangsheng 摘要: LNMP 与 LAMP 架构的区别及配置解决方案 LNMP 的 ...
- centos apache svn配置
单独安装svn服务: 安装svn软件 yum install subversion 创建根目录 mkdir -p /var/www/svn 创建版本库repos svnadmin create /va ...
- ZH奶酪:Ubuntu 14.04安装LAMP(Linux,Apache,MySQL,PHP)
(Linux Operating System,Apache Web Server,MySQL database,PHP) 首先,一个三行命令搞定的方法: sudo apt-get update su ...
- 关于Apache的配置方法和步骤
一.下载.安装和卸载 网址:https://httpd.apache.org/docs/current/platform/windows.html#down 点击ApacheHaus,在里面下载任何版 ...
- LNMP + Apache 架构配置
从事前端开发已3年有余,越来越发现前端开发要学习的知识已不仅仅是html+css+js那么简单了,2017年市场上就有了大前端的概念,可以说对前端工程师的要求也越来越高了,从招聘的要求中可以看到熟悉一 ...
随机推荐
- Uploadify 3.2 参数属性、事件、方法函数详解以及配置
一.属性 属性名称 默认值 说明 auto true 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 . buttonClass ” 按钮样式 buttonCursor ‘ ...
- hdu-3572 Task Schedule---最大流判断满流+dinic算法
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3572 题目大意: 给N个任务,M台机器.每个任务有最早才能开始做的时间S,deadline E,和持 ...
- NBU基本常用命令
Veritas常用命令: 1. 查看当有运行的任务 bpdbjobs –report | grep Active 2. 停止任务 bpdbjobs –cancel PID (包括主任务和子任务) 3. ...
- CUDA的软件体系
CUDA的软件堆栈由以下三层构成:CUDA Library.CUDA runtime API.CUDA driver API,如图所示,CUDA的核心是CUDA C语言,它包含对C语言的最小扩展集和一 ...
- 网络编程——UDP协议和通信
第1章 UDP与TCP协议 在介绍TCP/IP结构时,提到传输层的两个重要的高级协议,分别是UDP和TCP,其中UDP是User Datagram Protocol的简称,称为用户数据报协议,TCP是 ...
- HTML第四章:初始css
CSS样式: 一.为什么要使用CSS;可以让页面更美观.有利于开发速度. 二.什么是CSS:全称cascading style shee ...
- Vscdoe技巧1
vscdoe常用快捷键 主命令框 F1 或 Ctrl+Shift+P: 打开命令面板.在打开的输入框内,可以输入任何命令,例如: 按一下 Backspace 会进入到 Ctrl+P 模式 在 Ctrl ...
- 32-1题:不分行从上到下打印二叉树/BFS/deque/queue
题目 从上往下打印出二叉树的每个节点,同层节点从左至右打印. 考点 1.广度优先遍历 2.binary tree 3.queue 4.deque 思路 按层打印:8.6.10.5.7.9.11 用ST ...
- STL笔记(こ)--删除数组中重复元素
使用STL中的Unique函数: #include<bits/stdc++.h> using namespace std; void fun(int &n) //配套for_eac ...
- java抓取12306火车余票信息
最近在弄一个微信的公众帐号,涉及到火车票查询,之前用的网上找到的一个接口,但只能查到火车时刻表,12306又没有提供专门的查票的接口.今天突然想起自己直接去12306上查询,抓取查询返回的数据包,这样 ...