apache

  • Apache配置对站点目录的认证

    ·

    前言: 有的时候需要对站点中的某个目录进行保护,只有输入指定的账号密码才可以浏览。这当然可以通过动态网站设计语言来实现,但通过对Apache本身的配置来实现似乎要更方便一些。 配置方法: 一、Apache配置编辑及站点创建 创建一个站点配置文件。 [root@localhost auth]# vim /etc/httpd/conf.d/vhost1.conf 内容如下: <Directory “/tmp/html/auth/”> // 要启用认证的目录 AuthName “请认证身份” // 服务器返回的认证对话框的标题 AuthType Basic // 认证类型 AuthUserFile /tmp/html/auth/.htpasswd // 密码配置文件路径 require valid-user // 允许通过认证的所有用户访问,如果改为某一用户名则只允许此用户访问 </Directory> <VirtualHost *:80> // 创建一个简单的虚拟主机用于测试 DocumentRoot /tmp/html/ </VirtualHost> 创建站点运行目录及要开启认证的站点子目录。 [root@hostname ~]# mkdir -p /tmp/html{,/auth} 查看此时的站点目录结构。 [root@hostname ~]# tree /tmp/html/ /tmp/html/ └── auth 在站点子目录下创建首页文件。 [root@hostname ~]#…

    Read More

  • 为Apache配置虚拟目录

    ·

    虚拟目录简介: 虚拟目录就是将原本不存在于网站根目录下的目录映射到一个别名上,这样Apache就可以通过“http(s)://网址/别名”的形式访问他啦! 配置方法: 先配置一个简单的虚拟主机。 [root@localhost ~]# vim /etc/httpd/conf.d/a.conf <VirtualHost *:80> DocumentRoot /tmp/html/ </VirtualHost> 在虚拟主机中定义虚拟目录。 Alias /dir /tmp/html1 最终的虚拟机配置文件的内容是这样的。 <VirtualHost *:80> DocumentRoot /tmp/html/ Alias /dir /tmp/html1 </VirtualHost> 创建站点目录及网页。 [root@localhost ~]# mkdir /tmp/html /tmp/html1 [root@localhost ~]# echo one > /tmp/html/index.html [root@localhost ~]# echo two > /tmp/html1/index.html 在保证selinux和防火墙均关闭的情况下启动Apache。 [root@localhost ~]# service httpd start 测试: 可以选择在Windows的浏览器上测试,这里我为了方便,直接在CentOS下的文本浏览器中测试。 安装浏览器。 [root@localhost ~]#…

    Read More

  • Apache配置HTTPS访问

    ·

    介绍: HTTPS协议是加密后的HTTP协议,浏览器和服务器间的通信被加密传输,有效的防止了网页劫持并保护了用户的数据安全。HTTPS加密会使用到SSL证书,本例中使用OpenSSL这个开源软件来生成SSL证书做测试用。网站正式上线后需去专门的CA机构申请SSL证书,自己生成的证书是不被浏览器信任的。 安装软件: [root@localhost ~]# yum install -y openssl       //安装OpenSSL软件包用于生成SSL证书,此软件包通常已随系统默认安装。 [root@localhost ~]# yum install -y httpd         //安装Apache。 [root@localhost ~]# yum install -y mod_ssl     //安装Apache的SSL加密模块。 生成证书: 使用OpenSSL在/etc/httpd/ssl目录下生成一个自签名证书(存储位置随意)。 [root@localhost ~]# mkdir /etc/httpd/ssl //创建SSL存储文件夹 [root@localhost ~]# openssl req -newkey rsa:2048 -nodes -keyout /etc/httpd/ssl/ssl.key -x509 -days 365 -out /etc/httpd/ssl/ssl.crt //生成SSL证书文件…

    Read More

  • Apache配合MySQL做访问认证

    ·

    介绍: 默认情况下,任何用户都可以访问由Apache所承载的网站,但如果网站管理员想要只有通过身份认证的用户才能访问网站要怎样做呢? 当然,这个需求可以使用动态网页设计语言来实现,但本篇文章中我来介绍下如何使用Apache内置的身份认证来满足此需求。 安装软件包: # yum install -y mysql-server         //安装MySQL数据库,用于存放用户身份信息 # yum install -y httpd                //安装Apache # yum install -y mod_auth_mysql     //为Apache安装mod_auth_mysql模块,使其可以使用MySQL中存放的用户信息做认证 MySQL配置部分: 启动mysql服务器。 # service mysqld start 修改默认root密码(此root用户是MySQL的管理员账户,而非Linux系统的root用户)。 # mysqladmin -u root -p password 123456 之后会弹出提示,要求输入原root密码,安装MySQL后默认为空,直接回车即可。 若是MySQL5.6及以上版本,默认root密码不为空而是一个随机字符串,存放在~/.mysql_secret文件中。 使用root用户登录MySQL服务器,回车后会要求键入root密码。 # mysql -u root -p…

    Read More