• 欢迎访问愉悦人生,我会在这里分享一些我认为有趣的东西,欢迎关注!
  • 永远相信美好的事情即将发生!
  • 好久没更新了,也不知道该更新什么

使用Apache2部署Pi-hole及基本介绍

Linux相关 Nvito 2年前 (2018-09-21) 3408次浏览 0个评论

使用Apache2部署Pi-hole及基本介绍

前言

在家里用树莓派做了个私人云盘Seafile,做了个广告过滤器Pi-hole,但是Pi-hole会自带一个Lighttpd,而我比较熟悉Apache和Nginx,所以我就直接把Lighttpd卸了,把Seafile和Pi-hole直接部署在Apache上。在官方上没有找到方法,实际上并不难,我把这个简单的列出来,并且对Pi-hole做基本的介绍。

Pi-Hole安装

curl -sSL https:<span class="comment">//install.pi-hole.net | bash     //安装过程就不介绍了

可以用CloudXns的DNS检测一下最合适你的DNS,参考就好了,可以设阿里DNS腾讯DNS,谷歌dns等等,哪个合适自己需要自己检测一下,当然本地运营商的dns速度应该是最快的。

注意:用ROOT账户安装,给树莓派设置一个固定ip!

在Github上有Pi-hole的详细Wiki,Pi-hole Wiki

简单列几条用得上的Pi-hole命令

sudo pihole -v -c               //查看 pihole 版本及网页页面版本
sudo pihole -up                //更新 pihole
sudo pihole uninstall           //卸载 pihole
sudo pihole status             //查看状态
sudo pihole restartdns        //重启 pihole dns 服务

Apache2部署

卸载Lighttpd

sudo apt-get  remove lighttpd  //在 lighttpd 的配置文件看到 pihole 的网站目录在/var/www/html/admin

我用的Seafile是用的SQLLite,没用Mysql所以就没有建LAMP环境了。而Seafile用的是Python开发的,Pi-hole的网页是用PHP,所以需要安装Apache和PHP7的组件,不然打开的网页没法解析全是PHP代码。

sudo apt-get -y install apache2 php7.0 php7.0-cli php7.0-curl php7.0-gd php7.0-mcrypt libapache2-mod-php

修改Apache的配置文件

sudo vi /etc/apache2/sites-enabled/000-default.conf

插入/修改以下代码

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName pihole
        ServerAlias pi.hole
        DocumentRoot /var/www/html/admin
        <Directory /var/www/html/admin/>
                Options FllowSymLinks MultiViews
                AllowOverride all
                Order deny,allow
                allow,from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR} /pihole_error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR} /pihole_access.log combined
</VirtualHost>

使用Apache2部署Pi-hole及基本介绍

重启apache2服务

sudo systemctl apache2 restart

Pihole基本功能介绍

Pihole带有DHCP功能,你可以关闭路由器的的DHCP然后开启pihole的DHCP功能,这样局域网内设备获取到的DNS将默认为pihole的地址。

使用Apache2部署Pi-hole及基本介绍

如果你不想让pihole作为你的DHCP服务器,你可以在你的路由器的DHCP设置内自定义分配的DNS地址为Pihole的ip地址,有些路由器不支持自定义分配DNS。

每个路由器的设置不一样,可以自己找一下,如果没有可以用pihole当做DHCP服务器。

我用的是Openwrt,路由器DHCP分配ip, 网络–>接口–>lan口–>dhcp服务器–>高级设置
使用Apache2部署Pi-hole及基本介绍

重启apache服务就能通过访问ip进入pihole的web管理界面了

使用Apache2部署Pi-hole及基本介绍

设置pihole的广告拦截规则

以上两个随便选一个就行,在pihole的web管理页面设置选项内有个Blocklists,添加完保存并更新规则就生效了。可以进入左边菜单第二个查看拦截日志,首页可以看到拦截的设备、网站等的排行。
使用Apache2部署Pi-hole及基本介绍

Pihole基本功能

如果你不确定是不是pihole的拦截规则误杀了你想要访问的网站,你可以暂停pihole的拦截功能
使用Apache2部署Pi-hole及基本介绍

或者将网址加入白名单。
使用Apache2部署Pi-hole及基本介绍

这里可以查看pihole的日志
使用Apache2部署Pi-hole及基本介绍

拦截测试

官方有给出一个测试地址,测试拦截有没有成功。

拦截测试地址

最后

其实我觉得pihole的拦截效果一般般,但是我有一个树莓派难道不用上,放在一边吃灰吗?哈哈~

我的路由器也有拦广告的插件(koolproxy)配合pihole,效果还行,就是现在koolproxy的规则更新有点慢,移动端的拦截有点差了,如果喜欢折腾可以尝试玩一玩。

09/21/2018


愉悦人生 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用Apache2部署Pi-hole及基本介绍
喜欢 (15)
发表我的评论
取消评论

表情 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址