Hulk的玩具

本文将持续为大家介绍博主的各种玩具,其中包括NAS,路由和博客等东西,本文的定向为教程文章,东西可能会很浅显,如果有不对或者理解错误的地方,欢迎评论指正,谢谢大家

NAS

  • 首先第一步肯定是先说NAS,从很久以前就再玩NAS,不过一直都是玩的黑裙(懂的自然懂)

    1. 硬件准备

    玩黑裙的硬件相对要求很低,如果只是使用NAS的文件存储功能的话,内存1-2G就够了,不需要太大,但是想在上面继续玩点其他花的,例如虚拟机、视频站、相册和容器等东西,建议大一点,我自己用的8G的。机箱的选择很多样化,可以选择一些瘦客户机的小机箱,因为主板选择的是ITX版型,尺寸很小,机箱兼容性很强;电源我选择了比较小的定制电源方案,因为整机的功耗非常小。具体硬件配置在下面的表格中:

    2. 安装黑裙

  • 工具及文件下载地址
  • 参考帖地址1参考帖地址2
  • 非常感谢这两位大神做的记录帖,互相传递。下面是我整理的我个人的操作记录,用到工具都在上面链接,思路源自网络,但是下面内容经过本人整理。
  1. 需要的工具:U盘一个4G以上都可以,启动盘镜像文件(osfmount),U盘芯片读取工具(芯片无忧 V1.630(ChipEasy),驱动盘制作软件(Win32_Disk_Imager),群晖助手,群晖序列号算号器(Excel打开后点是和启用宏),群晖系统文件。
  2. 先将U盘插入自己的电脑(有Windows系统的电脑),运行U盘检测工具(芯片无忧 V1.630(ChipEasy)后,记录vid和pid两个参数。我用的是闪迪酷豆的U盘所以VID=0781 PID=5571,每个U盘的这两个参数都是不同的哦,不要抄袭我的这个参数。
  3. 打开osfmount软件点击Mount New将镜像文件加载后把Read-only选项去掉勾选,选择Partition 0点击 OK,打开后将grub.cfg文件打开,打开文件后找到 VID 和 PID 参数,分别替换自己U盘的两个参数,将SN替换成群晖序列号算号器给出的序列号,并把第二张工作表中的MAC地址添加进去,修改后保存退出挂载。
  4. 打开win32DiskImager软件将系统引导文件(就是img后缀的文件)写入U盘。
  5. 将制作好的U盘插入需要做NAS的电脑,主板设置U盘引导启动电脑,启动后选择DS3617xs 6.1 Baremetal with Jum's Mod v1.02-alpha Reinstall,后如果出现Please Open http://find. synology.com to comtinue就说明已经启动完成了,接下来就是安装系统了。
  6. 在同一网段内的电脑上安装群晖助手软件,全部下一步直到结束。运行群晖助手,在管理栏目内看到一个未安装的DSM,鼠标右键安装。选择电脑内刚修改的img文件。等安装完成后,在浏览器里面输入NAS的IP地址,登录,设置,然后就完成了。
主板华擎科技J3455-ITX
内存金士顿 8G DDR3L
电源辰雨定制 NAS电源DC-ATX 150w
机箱乔思伯C2


DDNS

  • DDNS(Dynamic Domain Name Server)是动态域名服务的缩写。

    转入域名管理

    首先,需要先去HE DNS上面去注册个账户,这个服务商提供免费好用的DDNS服务,当然把域名日常管理都转到这里,也是OK的,除了首页及其简陋以外,还是非常好用的。
    然后添加你购买的域名(add a new domain)到 he.net 里面。再然后,到你的域名供应商(我的是 name.com)处,把你的域名的 name severs(NS 或者叫域名服务器)全部修改成 he的域名服务器。(第二次进去就找不到了,不想吐槽he的官网了)

    ns1.he.net
    ns2.he.net
    ns3.he.net
    ns4.he.net
    ns5.he.net

    这样你的域名就能被 he 的 dns 解析了。
    做完以上步骤,就可以开始 DDNS 的设置。接下来坑不少,多亏了二叔科技群里的大佬们热心地手把手教我才能完成。
    这里也提供一下官方给的介绍页面,https://dns.he.net/docs.html,也是简陋风。

    DDNS介绍与首次配置

    开始之前先说说 HE DNS 的动态更新地址的流程:
    第一次,需要先登录 HE DNS 的网站,生成或者设置一个密匙。然后就可以使用 HE DNS 提供的 API 使用你喜欢的方式之一(直接访问,post,get都可以,请参照上面的文档)上传或者让他自动识别你的ip即可。然后把这个 API 放入树莓派的定时任务,crontab 里面,让它每隔5分钟,调用一次 API 即可实现 DDNS。再简单点说,API 就是个 url, 相当于让树莓派每隔5分钟访问一次这个地址,服务器便会自动记录下你的新IP。
    登录之后,找到NEW A点击它,
    NAME栏填入要解析的域名,可以是顶级域名,也可是子域名,例如我的home.yelvlab.cn,填入即可。
    IPv4 Address栏,如果使用DDNS那么,这里随便填,等一会是要自动更新的,如果你有固定IP的服务器,那么直接填入IP地址即可,
    TTL栏,一般选五分钟,因为后面我们同步IP的时间间隔也是五分钟,这样能尽可能确保因为IP是动态的而没有即使更新记录造成的访问问题。
    Eanble entry dynamic dns表示允许动态DNS,是所有的关键,必须勾选。
    然后sumbit就可以了。
    在刚才添加的那条A记录的后面有一个循环的小标志,如果没有,就是你上面没有勾选启动动态DNS,回去勾选,有的话点它,接下来就是生成我们身份认证的KEY了。
    generate a key点击它生成一个KEY,然后把它复制出来,千万要复制对,不要错,不然还要回来重复这里的。
    sumbit只有提交了,才有用,不然你去调用API也没用的。API文档
    然后,就是去你局域网下面的BPI-Board(推荐) or Linux PC 去执行下面的一条指令,当然,执行之前,你需要进行一定的更改,来表明你的身份

    curl -4 http://home.yelvlab.cn:[KEY]@dyn.dns.he.net/nic/update?hostname=home.yelvlab.cn

    首先,你需要把所有的home.yelvlab.cn换成你自己的域名,然后把你刚才复制下来的KEY提管到[KEY]位置,然后再去执行。

    • 结果:
      提示没有curl,安装一下就好sudo apt install curl.

    提示badauth,一定是你的API指令有问题,请仔细检查,或者你的KEY没有提交,一般可以回去再获取一个然后重试。
    返回修改成功,或者没有更改,并且还有你的IP,那么恭喜,修改成功了。
    上面就是整个自动同步IP的过程了,如果一直需要手动操作,那么简直zz一样,下面我们让他定时自动执行。

    自动化执行

    crontab -e

    这就是我们需要用到的东西,第一次打开,会让你选择使用什么文本编辑器,我是炒鸡linux新手只会 nano。打开后,按照格式把你的 API 填进去

    #for he dns to update ip
    */5 * * * * curl -4 http://home.yelvlab.cn:[KEY]@dyn.dns.he.net/nic/update?hostname=home.yelvlab.cn
    /5 代表每五分钟更新一次,详细的设置,请自行百度 crontab 的用法。保存退出后,这个服务就自动运行了。

    不出意外的话,你的 DDNS 设置完成了!
    你可以这么测试,回到 dns.he.net, 手动设置一下 A 的IP到一个不知名的地方,坐等五分钟,看看是否能变回来。。。。

OpenWRT路由

  • 我使用的路由器是NETGEAR R6220,硬件配置非常强劲,足可以玩一些很多骚东西。
  • 参考贴地址
  • 文件地址

    刷OpenWRT镜像过程

  1. 先把路由连上互联网,打开路由有root权限的Telnet 连接。使用浏览器打开: http://192.168.1.1/setup.cgi?todo=debug 会看到 Debug Enabled ! 字样。说明已经开启了Telnet连接
  2. telnet连接路由器(windows:Win+R cmd打开命令行)

    telnet 192.168.1.1
  3. 192.168.1.1 是你的路由管理界面地址。这是你会看到 R6220 login: 字样, 输入 root 回车。这时看会看到

    Welcome to
    _______  _______  ___     __  ____   _  _   ___
    |  ___  \|   __  ||   |   |__||    \ | || | /  /
    | |___| ||  |__| ||   |__  __ |     \| || |/  /
    |   _   /|   _   ||      ||  || |\     ||     \
    |__| \__\|__| |__||______||__||_| \____||_|\___\
                     =System Architecture Department=
    #
  4. 将文件里面的r6220-squashfs-kernel.bin和r6220-squashfs-rootfs.bin(tar文件是在线升级使用的,暂时不用下载)改名为 kernel.bin 和 rootfs.bin,然后放入U盘中,插入路由器。在telnet中查看U盘盘符。

    ls /mnt/shares/

    看看U盘的卷标是啥,比如列出的是 U, 那么就打入命令

    cd /mnt/shares/U
  5. 用ls命令查看下两个文件,用以下命令刷入固件,然后断电重启,应该就成功进入LEDE了。(命令粘贴后需要回车生效,这两个分区需要都刷入, 不然就是半砖)

    mtd_write write rootfs.bin Rootfs
    mtd_write write kernel.bin Kernel

    以后更新固件可以直接在luci界面更新。这个操作只需要一次。这个过程是我根据实际情况摘选的,具体更详细的可以查看原贴地址内容,来自恩山论坛的大神。

Blog Server

  • 环境Ubuntu 16.04 Server + LNMP(本文需要安装的组件Linux+Nginx+MySQL+PHP)

    1. 安装Nginx

    安装Nginx很简单,只需要一条指令

    sudo apt install nginx

    安装Nginx,nginx -v可以查看安装的版本。
    通过上面两条指令(任选一条)重启 Nginx。这个时候在你的浏览器里面输入的服务器的外网IP就可以看见 Welcome to Nginx了。这一步OK,下面继续。
    如果不OK请检查问题:

    • nginx是否正确安装
    • 端口是否开放(防火墙,或者安全策略等一些列东西,例如阿里云要在控制台添加安全规则,不然是出不来的)

    2. 安装PHP 7.2

    sudo apt install software-properties-common python-software-properties 
    sudo apt-add-repository ppa:ondrej/php
    sudo apt update
    sudo apt install php7.2

    先添加一个ppa的库,因为默认软件列表里面没有PHP7.2,然后再更新一个软件列表,接下来就可以安装PHP7.2了。还有一些常用PHP插件。

    sudo apt install php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-mbstring php7.2-xml  php7.2-intl

    php -v查看PHP版本。
    Nginx配置语句:

    fastcgi_pass unix:ar/run/php/php7.2-fpm.sock;

    接下来修改Nginx配置文件测试PHP是否OK。Nginx的配置文件路径为/etc/nginx/sites-available,进入目录后,建议先备份再进行修改。

    sudo cp default default.back
    sudo vi default

    配置文件如下:

    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    
    # Add index.php to the list if you are using PHP
    index index.php index.html index.htm index.nginx-debian.html;
    
    server_name blog.yelvlab.cn;
    
    if (!-e $request_filename) {
            rewrite ^(.*)$ /index.php$1 last;
        }
    
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    location ~ .*\.php(\/.*)*$ {
    fastcgi_index     index.php; 
    fastcgi_pass      unix:/run/php/php7.2-fpm.sock; 
    include           fastcgi_params; 
    fastcgi_param     SCRIPT_FILENAME    $document_root$fastcgi_script_name;
    fastcgi_param     SCRIPT_NAME        $fastcgi_script_name;
    }
    }

    nginx -t可以验证配置文件正确性。
    然后进入网站默认路径/var/www/html添加测试界面。添加一个PHP探针页面

    sudo vi info.php

    文件内容为:

    <?php  
    phpinfo();  
    ?> 

    在浏览器输入IP Address/info.php就能看到PHP的信息了。

    3. 安装phpmyadmin

    因为不会操作MySQL,所以顺手装一个phpmyadmin图形化操作。

    sudo apt-get install phpmyadmin

    安装完成之后

    sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

    如果这个时候The mbstring extension is missing. Please check your PHP configuration.错误,那么安装

    sudo apt-get install php7.1-mbstring

    重启服务,刷新页面即可。

    4. 安装Typecho

    sudo wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz
    sudo tar -xzvf 1.1-17.10.30-release.tar.gz

    接下来直接访问IP就可以开始web端安装Typecho了。

    5. 其他问题

    关于安装中的其他问题,可以查看我以前相关安装记录帖子里面的问题解决思路,有相对详细的记载。



One comment

  1. 大灰灰

    皓哥太牛逼了

Leave a Comment


Notice: Constant __TYPECHO_DEBUG__ already defined in /var/www/html/index.php on line 28