使用5G网络,你可以在任何地方看到你家用电脑的视频。这个功能很容易实现,不需要太多专业知识,也不需要额外的钱。如果真的需要,可以花不到200块钱买一台家里的旧电脑,建一个网站,就能解决所有问题。FreeBSD对硬件要求不高,没必要买更好的电脑。当然,你也可以用虚拟机,甚至不用旧电脑。以下是实现方法,操作系统为FreeBSD13.0。
首先,安装Apache。
登录到root并输入以下命令来安装apache24:
Pkg install apache24设置为在计算机启动时启动apache:
回声& # 39;apache24 _ enable = & # 34是的& # 34;'& gt& gt/etc/rc.conf注意,上面的命令是two >;编号:> >;,如果只有一个>否,它将覆盖文件的原始内容。
至此,apache可以正常使用了。但是为了更加完善,我们需要继续安装其他模块。
第二,安装php81。
输入以下命令:
Pkg install php81-extensions安装apache的php模块:
root @ test:/usr/ports/www # pkg search mod _ phpmod _ PHP 74-7 . 4 . 29 _ 2 PHP脚本语言mod_php80-8.0.18_2 PHP脚本语言mod_php81-8.1.5_2 PHP脚本语言(8.1 . x br Anch)root @ test:/usr/ports/www # pkginstall mod _ PHP 81-8 . 1 . 5 _ 2…//安装程序提示,将下面几行复制到httpd.conf中
第三,httpd.conf配置。
使用以下命令找到配置文件httpd.conf:
CD/usr/local/etc/Apache 24 lshttpd.conf为了防止在编辑过程中恢复错误,请首先备份httpd . conf。
Cp httpd.conf httpd.conf.bak如果要恢复原始文件内容,只需复制回来覆盖即可:
Cp httpd.confbak httpd.conf打开httpd.conf. FreeBSD有一个名为ee的编辑器。如果不熟悉vi,可以用ee。
编辑后,点击
按<Esc>键弹出菜单压
选择a)离开编辑器并按下键盘上的字母a键。
要保存,请按键盘上的字母A,然后选择A)保存更改以保存更改。如果不想保存,按B,表示不想保存。
要在ee中查找字符,请按
在文件中找到了DocumentRoot。
DocumentRoot & # 34/usr/local/www/Apache 24/data & # 34;将上一行安装mod_php时提示的内容粘贴到这一行。
& lt文件匹配& # 34;\.php # 34& gtset handler application/x-httpd-PHP & lt;/files match & gt;& lt文件匹配& # 34;\.phps # 34& gtset handler application/x-httpd-PHP-source & lt;/files match & gt;DocumentRoot & # 34/usr/local/www/Apache 24/data & # 34;& lt目录& # 34;/usr/local/www/Apache 24/data & # 34;& gt您也可以根据需要更改网站文件的存储位置。我将上面的最后两行改为:
DocumentRoot & # 34/usr/www & # 34;& lt目录& # 34;/usr/www & # 34;& gt这样会更方便日常操作。我只需要输入cd /usr/www就可以到达网站文件的根目录。
继续在文件中查找ServerName,该行显示为:
服务器名www.example.com:80修改为:
ServerName localhost:8080因为我们的端口80无法从外部访问,所以我们必须将其更改为另一个端口,以便从外部访问。以前是可以的。以前你可以在家里做一个个人网站,动态说明域名指向你的IP地址。如果现在能便宜拿到固定IP地址,不封80端口,做个网站会省不少钱。只能现在买。
然后找到DirectoryIndex,它在文件中是这样的:
index.html加index.php目录索引
目录索引index.html·index.php在这里,apache已经能够支持php网页。
输入命令启动apache:
如果apachectl start无法启动,可能是之前的配置有误。用备份文件覆盖它,然后再做一次。
第三,准备视频目录。
作为演示,我在网站的根目录下创建了一个目录。
Mkdir mp4在里面复制了一些视频文件。如何将视频从Windows复制到网站目录?可以看我之前写的一篇关于samba共享文件的文章,教你如何安装配置samba,实现unix和Windows之间的文件共享。
在网站的根目录下创建一个文件list.php,列出mp4目录下的所有视频文件名。
list.php
& lthtml & gt& lthead & gt& ltmeta http-equiv = & # 34;内容类型& # 34;内容= & # 34;文本/html;charset = gbk & # 34/& gt;& lttitle & gt视频列表
http://10.10.10.5:8080至此,一个可以播放视频的网站就完成了。
但是有一个问题:我们的动态IP地址每48小时就会改变。怎样才能获得最新的IP地址?我的方法是在自己的网站上刷IP地址。如果你没有网站,你可以让你的电脑用你的IP地址定期给你发邮件。必要时,您可以通过打开电子邮件来接收IP地址。
第四,定期通过电子邮件发送IP地址。
在网站的根目录下创建一个sendip.php文件。
& lt?PHP $ IP = shell _ exec(& # 34;ifconfig tun0 | grep inet | awk & # 39END { print $ 2 } & # 39");$contents = fread ($handle,filesize($ filename));fclose($ handle);邮件(& # 34;您的电子邮件地址(例如:nothing @ all . nil)& # 34;,"myip & # 34。$ip,$ IP);?& gt创建文件sendmail.sh
#!/bin/sh/usr/local/bin/PHP-q/usr/srun/sendip . PHP指定执行属性:
chmod a+x sendmail . sh Edit/etc/crontab
增加以下句子:
0 7 * * * root /usr/www/sendmail.sh如果你的sendmail.sh文件没有保存在这个目录下,只要把它改成相应的路径就可以了。
这样电脑会在每天早上7点把IP地址发到你指定的邮箱。你可以在家里到处看视频,不用花一分钱。
在这里,有些人可能会担心。网站上的信息是纯文本的。有人会监视我在读什么吗?你的怀疑很正确。根据我多年维护网站的经验,有可能是我们通过HTTP发送的明文在路上被分析了,因为我发现单纯发送数字的速度比中文快。
如果需要解决明文的安全问题,可以继续下面的操作,给apache添加ssl,使用HTTPS连接观看视频。
第五,让apache支持https。
Cd /usr/local/etc/apache24打开httpd.conf文件。
找到Ee httpd.conf
# loadmodulessl _ moduleb exec/Apache 24/mod _ SSL . so删除前面的#号(#表示注释)。
找到了loadmodulessl _ module exec/Apache 24/mod _ SSL . so。
# include tec/Apache 24/extra/httpd-SSL . conf删除#符号。
包含etc/Apache 24/extra/httpd-SSL . conf保存并退出。
编辑httpd-ssl.conf文件。
Ee extra/httpd-ssl.conf找到SSLSessionCache并在前面加上#号。
#SSLSessionCache将所有443更改为8443,或者您想要的任何其他数字。443是https服务侦听的默认端口。
然后将ServerName行更改为:
此外,我还把
DocumentRoot & # 34/usr/local/www/Apache 24/data & # 34;更改为
DocumentRoot & # 34/usr/www & # 34;保存更改并退出。
在命令行中依次执行以下命令。
CD/usr/local/etc/Apache 24 OpenSSL req-new-nodes-outreq . PEM-keyoutcert . key-sha 256-new keyrsa:2048为下一代证书生成两个文件。输入命令后,电脑会出现一系列提示,你可以照常操作。
生成RSA私钥……………..+++++…….++++将新的私钥写入& # 39;cert.key & # 39-您将被要求输入将被合并到您的证书申请中的信息。您将要输入的是所谓的可分辨名称或DN。有相当多的字段,但你可以留下一些空白的一些领域将有一个默认值,如果你输入& # 39;。',该字段将留空。-国家名称(两个字母的代码)[AU]:cn州或省名称(全名)[Some-State]:广东省地方名称(例如,城市)[]:my city组织名称(例如,公司)[Internet wid gits Pty Ltd]:my or组织单位名称(例如,部分)[]:常用名称(例如,服务器FQDN或您的姓名)[]:服务器电子邮件地址[]:nothing @ all . complex请输入以下内容& # 39;extra & # 39与您的证书请求质询密码一起发送的属性[]: ABCD 1234可选公司名称[]:执行该命令后,生成了两个文件cert.key和req.pem。接下来,要生成证书文件,请执行以下操作:
OpenSSL req-new-x509-365天密钥证书。钥匙拔出证书。CRT-sha256系统显示与之前类似的提示,因此只需像之前一样操作即可。
您将被要求输入将被合并到您的证书申请中的信息。你将要输入的是一个识别名或DN。有相当多的字段,但你可以留下一些空白的一些领域将有一个默认值,如果你输入& # 39;。',该字段将留空。-国家名称(两个字母的代码)[AU]:cn州或省名称(全名)[Some-State]:广东地方名称(例如,城市)[]:my city组织名称(例如,公司)[Internet wid gits Pty Ltd]:my organization Unit Name(例如,Section) []: common name(例如,服务器FQDN或您的姓名)[]:服务器电子邮件地址[]:nothing@all.com此命令生成一个证书文件。执行以下两个命令为apache生成证书:
CP cert . CRT server . crtcpcert . key server . key重新启动apache。
Apachectl重启如果以上操作没有问题,就可以使用https访问网站了。
打开浏览器,在地址栏输入:https://10 . 10 . 10 . 5:8443/list . PHP。首次访问时,浏览器会显示一个警告页面。因为我们的证书不是从权威机构购买的,所以为了省钱只能这么做。
单击“高级”,然后单击“接受风险并继续”。