首页 > 代码库 > 【CentOS】LAMP相关2
【CentOS】LAMP相关2
//////////////////未整理版/////////////////////////
icc-glibc23免编译的
httpd-2.2.16.tar.gz通常是源码包
libstdc++.so.5 cannot open shared object file
apr是支持Apache去移植的东西(2.4版本要自己去编译)
MySQL的错误日志就在/data/下
////////////////配置Apache////////////////////////////
拿一个discuz来演示
LFS是什么,然后去掌握以下吧,对我们的提升很大?????
听说广州的企业对实习期的家伙搭建这个
让Apache开机启动
/usr/local/apache2/bin/apachectl start放到
/etc/init.d/rc.local
mysql -uroot
登陆MySQL
如果没有,就做个软链接ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
如果不能登录,试一下/usr/local/mysql/bin/mysql -uroot
/usr/local/apache2/bin/htpasswd -c /data/.htpasswd aming
一、下面开始
1.下载discuz
2.mkdir /data/www
3.cd /data/www/
4.wget http://120.198.248.28/cache/download.comsenz.com/DiscuzX/3.2/Discuz_X3.2_SC_GBK.zip?ich_args2=34-26173414008287_2fcaee071c2945291f250552d44badc1_10001002_9c886c2cd6c6f3d9913c518939a83798_777951d2fa16026f35b1e7e5ce65a523
5.unzip Discuz....
6.mv upload/* .
7.rm - rf Dis....zip readme/ utility/
二、配置虚拟主机
删除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>
(如果注释掉了NameVirtualHost *:80 会发生什么问题,在扩展链接有)
三、接着,配置mysql,给Discuz增加一个账户
给MySQL root账户设置密码,然后命令行进入MySQL,创建新的库,并且创建一个新的账号对该库有所有权限:
>create database dazuo;
>grant all on dazuo.* to ‘dazuo‘@‘localhost‘ identified by ‘mylovely5213‘;
>quit
四、然后,安装discuz
先绑定hosts
192.168.70.128 www.123.com(Windows的host在system32/etc/hosts)
浏览器输入:
www.123.com/install/(如果出现forbidden,现在后面加上index.php,再次出现问题,就去查看配置文件,修改/usr/local/apache2/conf/http.conf里面的Deny from all,改为 Allow)
根据提示,修改对应目录的权限
安装的时候出现乱码
http://ask.apelearn.com/question/9796
cd /data/www
chown daemon:daemon data uc_server/data uc_client/data config
五、再然后,为某个虚拟主机配置用户认证(登陆了才可以访问)
vi /usr/local/apache2/conf/extra/httpd-vhosts.conf
(以后配置文件就是虚拟主机的配置文件,和主配置文件httpd.conf基本没啥关系了)
加上这一段
<Directory /data/www> 或者是<Directory *>
AllowOverride AuthConfig
AuthName "name"
AuthType Basic
AuthUserFile /data/.htpasswd #这个目录可以随便写,没有限制
require valid-user
</Directory>
(.htpasswd是一个密码文件,用/usr/local/apache2/bin/htpasswd -c /data/.htpasswd aming(第一次用要加-c)生成)
六、再再然后,域名跳转
<IfModule mod_rewrite.c>
RewriteEngin on
RewirteCond %{HTTP_HOST}^www.domain1.com$
RewirteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]
</IfModule>
如果是多个域名,可以这样设置:
<IfModule mod_rewrite.c>
RewriteEngin on
RewirteCond %{HTTP_HOST}^www.domain.com$ [OR]
RewirteCond %{HTTP_HOST}^www.domain1.com$
RewirteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L]
</IfModule>
七、配置Apache的访问日志
ErrorLog "|/usr/local/apache/bin/rotatelog -l /usr/local/apache/logs/oem.discuz.qq.com-error _%Y%m%d:log 86400"
SetEnvIF Request_URI ".*.gif$" image-request
在我们的主配置文件con/http.conf里面的
有个Logfile Format
配置文件里面/usr/local/apache2/conf/extra/httpd-vhosts
#配置日志
ErrorLog ""
八、配置静态文件缓存
<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 hours"
ExpiresByType application/x-javascript "now plus 2 hours"
ExpiresByType application/x-shockwave-flash "now plus 2 hours"
ExpiresDefault "now plus 0 min"
</IfModule>
(还有其他的自己去找,这个是用来设置最大缓存时间的,即max-age)
怎么验证有没有缓存???
在浏览器里面(装一个chrome浏览器玩玩)
在哪里存活?CDN??
配置不识别JS??????
九、配置防 盗链
SetEnvIFNoCase Referer "^http://.*\.yourdomin\.com" local_ref (对我来说是http://www.dazuo.com)
SetEnvIFNoCase Referer ".*\.yourdomin\.com" local_ref (http://www.chenzelin.com)
SetEnvIFNoCase Referer "^$" local_ref
<filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)"> (针对哪些做防盗链)
Order Allow,Deny
Allow from env=local_ref
</filesmatch>
怎么检查
(抓包命令是啥!!!)
十、访问控制
<Directory /data/www>
Order deny,allow (Order,后面的deny,allow,哪个在前面,先执行哪个)
Deny from all
Allow from 127.0.0.1
</Directory>
(httpd.conf里面好像有一条相似的)
针对请求的url去限制
<filesmatch"(.*)admin(.*)">
Order deny,allow
Deny from all
Allow from 127.0.0.1
</filesmatch>
某个登陆下禁止解析PHP
<Directory /data/www/path>
php_admin_flag engine off
<filesmatch "(.*)php">
Order deny,allow
Allow from all
</filesmatch>
</Directory>
十一、apache rewrite相关
【CentOS】LAMP相关2