apache目录加密并允许IP白名单

添加以下内容到Directory里,然后用htpasswd创建配置文件并添加用户名密码
重启apache后,白名单里的IP允许访问,非白名单的IP需要输入用户名密码

  1. AuthUserFile /路/径/.htpasswd
  2. AuthName "limit"
  3. AuthType Basic
  4. require valid-user
  5. satisfy any
  6. deny from all
  7. allow from $允许的IP

apache 2.4无法安装mod_rpaf

  1. apache2.4已经有了mod_remoteip.so 但手头事情太多,没时间仔细研究,Directadmin无法正常加载,先行编译mod_rpaf达到要求
  2. 编译时提示的错误
  3. [root@server mod_rpaf-0.6]# apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c
  4. /var/www/build/libtool --silent --mode=compile gcc -std=gnu99 -prefer-pic   -DLINUX -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread -I/usr/include/apache  -I/usr/include/apache   -I/usr/include/apache   -c -o mod_rpaf-2.0.lo mod_rpaf-2.0.c && touch mod_rpaf-2.0.slo
  5. mod_rpaf-2.0.c: In function 'rpaf_cleanup':
  6. mod_rpaf-2.0.c:150: error: 'conn_rec' has no member named 'remote_ip'
  7. mod_rpaf-2.0.c:151: error: 'conn_rec' has no member named 'remote_addr'
  8. mod_rpaf-2.0.c:151: warning: implicit declaration of function 'inet_addr'
  9. mod_rpaf-2.0.c:151: error: 'conn_rec' has no member named 'remote_ip'
  10. mod_rpaf-2.0.c: In function 'change_remote_ip':
  11. mod_rpaf-2.0.c:164: error: 'conn_rec' has no member named 'remote_ip'
  12. mod_rpaf-2.0.c:183: error: 'conn_rec' has no member named 'remote_ip'
  13. mod_rpaf-2.0.c:186: error: 'conn_rec' has no member named 'remote_ip'
  14. mod_rpaf-2.0.c:187: error: 'conn_rec' has no member named 'remote_addr'
  15. mod_rpaf-2.0.c:187: error: 'conn_rec' has no member named 'remote_ip'
  16. apxs:Error: Command failed with rc=65536
  17. .
  1. 解决办法:
  2. wget http://mirror.trouble-free.net/sources/mod_rpaf-0.6.tar.gz
  3. tar xzvf mod_rpaf-0.6.tar.gz
  4. cd mod_rpaf-0.6
  5. git clone git://gist.github.com/2716030.git
  6. patch < 2716030/mod_rpaf-2.0.c.patch
  7. apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

使用htaccess做301跳转或302跳转

编辑.htaccess文件,不带www,301跳转到带www的域名:

  1. RewriteEngine on
  2. RewriteCond %{HTTP_HOST} ^1.com$
  3. RewriteRule ^(.*)$ http://www.1.com [R=301,L]

旧域名1.com做301跳转到新域名2.com :

  1. RewriteEngine on
  2. RewriteCond %{HTTP_HOST} ^www.1.com$ [OR]
  3. RewriteCond %{HTTP_HOST} ^1.com$
  4. RewriteRule ^(.*)$ http://www.2.com [R=301,L]

Apache文件夹加密_Apache身份验证

  1. #基础身份验证
  2. #创建密码文件,为了安全起见,密码最好别放在web服务可以接触到的地方,避免密码文件被下载。
  3. htpasswd -c /YourPath/YourFileName UserA
  4.  
  5. #在.htaccess里进行配置:
  6. AuthType Basic
  7. AuthName "YourName"
  8. AuthUserFile /YourPath/YourFileName
  9. Require user UserA
  1. #利用order进行限制
  2. Order deny,allow
  3. Deny from all
  4. Allow from x.x.x.x ***.com

Centos5 yum安装apache mysql php 开设虚拟主机等配置

yum安装apache+mysql+php,需要修改一些配置文件
由于长期使用webmin、Directadmin、Cpanel等linux下的控制面板,安装配置等都是一条龙服务
在小型vps上性能是关键,不额外安装其他没用的组件模块等等,手工搭建LAMP的时候却发现曾经熟悉的东西又都忘光了。
博客记录一下,方便以后的使用。

主要在于小细节备忘,例如:
apache虚拟主机的配置
禁止apache目录列表形式
开启htaccess的rewrite功能
/etc/hosts 的修改
apache防止域名恶意解析

  1. yum install -y httpd.i386 mysql-server php.i386 php-mysql.i386
  2. # 1. apache的配置文件,yum安装后默认路径为/etc/httpd/conf/httpd.conf
  3. # 2. 以下配置为虚拟主机模式:
  4. NameVirtualHost * #这行不能少,否则ServerName无法正确识别
  5.  
  6. # 3. 把未绑定的域名指向下面的目录(防止恶意指向)
  7. <VirtualHost *>
  8. DocumentRoot /var/www/html/404/
  9. ServerName *
  10. </VirtualHost>
  11.  
  12. <VirtualHost *>
  13. DocumentRoot /var/www/html/baiqiuyi.com/ #主路径
  14. ServerName baiqiuyi.com #主域名
  15. ServerAlias     www.baiqiuyi.com #需绑定的域名
  16.  
  17. <Directory /var/www/html/baiqiuyi.com/>
  18. Options FollowSymLinks #禁止以列表形式展开目录 (去掉Indexes)
  19. AllowOverride all #除了正确的加载rewrite的模块以外,AllowOverride的值不能为None,否则htaccess的规则将无法生效
  20.     Order allow,deny
  21.     Allow from all
  22. </Directory>
  23. </VirtualHost>
  24.  
  25. # 最后, /etc/hosts 文件里加上域名
3 123»