旧笔记本电脑打造个人网站,网盘/centos 7+宝塔linux面板+阿里云ddns云解析+wordpress

标题有点长。

概述:虚拟主机,阿里云主机,腾讯云主机,都不是我想要的。个人用户想建个站,发布博客,传输点大文件(不限速和无广告)的低成本方案。

设备:

旧笔记本电脑:acer d257上网本,cpu:atom n570(四核,支持64位)+2G内存+160G硬盘
U盘:8G格式化空白
阿里云域名:已认证,费用几元到几十元。
家庭宽带:电信宽带(有公网IP),普通路由器。

步骤:(文字版,先记录一下,图片以后补充)

1、在旧笔记本电脑上安装:centos 7

1)使用UltraISO软件(官网下载最新试用版,试用版即可),写入centos 7 dvd版的iso。使用UltrsISO默认就是usb-hdd+模式。

2)制作好centos 7 U盘安装盘,设置电脑从U盘启动,进入安装界面。

3)在centos7安装界面,按:tab键,修改安装命令。(网上有大量的说明,我都没有成功,只是在quiet后加了一个e(如下),回车,等待比较长时间的loading,之后出现图形安装界面。
vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiete

4)设置好相应的用户名,网卡,安装选择上KNOME Desktop(方便以后使用)等,保证可以上网。

*若忘记安装图形界面,以后安装时,出现不能上网,设置如下:


1、登录默认用户名root
2、CentOS安装图像桌面,
yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
报错:CANNOT FIND A VALID BASEURL FOR
无法连接到网络,测试(ping www.baidu.com 终止ping命令:ctrl+c)

解决办法:
进入网络配置目录:cd /etc/sysconfig/network-scripts/
列出文件列表:ls
找到类似文件:ifcfg-enxxxx
编辑文件:vi ifcgf-enxxx

按i键进入编辑模式,找到ONBOOT=no,把no改成yes
改好后,按esc键,输入(以下三个字符)   :wq (:wq)保存退出,
命令:reboot,重启后ping通,说明网络成功

3、安装桌面操作
sudo yum groupinstall "GNOME Desktop" "Graphical Administration Tools"
命令行停下来提示输入就输入y然后继续
运行指定启动时启动桌面:
ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target

2、宝塔linux面板

安装完成centos,重启使用图形界面的终端或直接在命令行下:(请在官网查看)

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

等待系统更新及完成安装宝塔面析。大约30分钟。宝塔相关登陆网址,用户名和密码一定要记下。

3、在宝塔界面安装运行环境。

一般首次会让你安装环境,选lnmp(或你喜欢apache,就选lamp)。
PHP版本是:5.6,安装后,在软件商店里升级为PHP7.3

4、在宝塔界面安装wordpress。

1)在宝塔面板,软件商店里:安装:宝塔一键部署源码 1.1
2)在宝塔面板,软件商店里:一键布署wordpress。

5、使用wordpress。(wordpress,默认你是懂得使用和管理)

* 宝塔面板-数据库,phpmyadmin打不开的解决办法。原因是:在phpmyadmin的设置里,无法设置为php56或php73,无论如何修改均为:纯静态,以致于phpmyadmin无法打开连接。卸载phpmyadmin,安装最新版5.0,到:phpmyadmin的设置里,可以看到,php的版本可以设置和保存了。 \2月1日补充。
* wordpress,入门教程:https://blog.naibabiji.com/an-zhuang-wordpress

6、域名解析,路由器设置,自动将自己的IP更新到阿里域名云解析(实现DDNS功能。

1)在阿里云控制台,管理AccessKey。现在在使用阿里云AccessKey时,请使用子帐号的AccessKey。新建子帐号,给予权限:管理云解析(DNS)的权限。

2)在阿里云域名解析页面,请设置相应的A记录。
如:share.XXXX.com A地址,IP地址,建议写一个其他的IP,不是家里的公网IP,以测试自动更新是否成功。

3)在宝塔面板,文件,找到wwwroot下的wordpress站点文件,新建一个文档ddns.php,内容如下:
其中的参数:RecordId 需要请你登陆阿里云-OpenAPI开发者门户-查找DescribeDomainRecords,请选择你域名正确的地址。
参考网址:https://next.api.aliyun.com/api/Alidns/2015-01-09/DescribeDomainRecords?lang=PHP&sdkStyle=old

实施过程,参考网址:https://blog.csdn.net/jxyk2007/article/details/109219855
只需要做第1、2、6步。

注意以下5个参数,需要修改。AccessKeyId,AccessKeySecret,DomainName,RecordId,RR


UpdateDomainRecord();
 
class Ali
{
    private $accessKeyId  = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    private $accessSecrec = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    private static $obj  = null;
    public static function Obj ()
    {
        if(is_null(self::$obj))
        {
            self::$obj = new self();
        }
        return self::$obj;
    }
 
    public function DescribeDomainRecords()
    {
        $requestParams = array(
            "Action"    =>  "DescribeDomainRecords",
            "DomainName"    =>  "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.com"
        );
        $val =  $this->requestAli($requestParams);
        $this->outPut($val);
    }
 
    /**
     * 更新 ip
     */
    public function UpdateDomainRecord()
    {
        $ip = $this->ip();
        $requestParams = array(
            "Action"        =>  "UpdateDomainRecord",
            "RecordId"      =>  "11111111111111111111111111111111111111",  //你自己在第一步获得的数据,是一串数字。
            "RR"            =>  "share", //你自己的域名,我的是share.xx.com
            "Type"          =>  "A",
            "Value"         =>  $ip,
        );
        $val =  $this->requestAli($requestParams);
        $this->outPut($val."  ".$ip);
    }
 
    private function requestAli($requestParams)
    {
        $publicParams = array(
            "Format"        =>  "JSON",
            "Version"       =>  "2015-01-09",
            "AccessKeyId"   =>  $this->accessKeyId,
            "Timestamp"     =>  date("Y-m-d\TH:i:s\Z"),
            "SignatureMethod"   =>  "HMAC-SHA1",
            "SignatureVersion"  =>  "1.0",
            "SignatureNonce"    =>  substr(md5(rand(1,99999999)),rand(1,9),14),
        );
 
        $params = array_merge($publicParams, $requestParams);
        $params['Signature'] =  $this->sign($params, $this->accessSecrec);
        $uri = http_build_query($params);
        $url = 'http://alidns.aliyuncs.com/?'.$uri;
        return $this->curl($url);
    }
 
 
    private function ip()
    {
        $ip = $this->curl("http://httpbin.org/ip");
        $ip = json_decode($ip,true);
        return $ip['origin'];
    }
 
    private function sign($params, $accessSecrec, $method="GET")
    {
        ksort($params);
        $stringToSign = strtoupper($method).'&'.$this->percentEncode('/').'&';
 
        $tmp = "";
        foreach($params as $key=>$val){
            $tmp .= '&'.$this->percentEncode($key).'='.$this->percentEncode($val);
        }
        $tmp = trim($tmp, '&');
        $stringToSign = $stringToSign.$this->percentEncode($tmp);
 
        $key  = $accessSecrec.'&';
        $hmac = hash_hmac("sha1", $stringToSign, $key, true);
 
        return base64_encode($hmac);
    }
 
 
    private function percentEncode($value=null)
    {
        $en = urlencode($value);
        $en = str_replace("+", "%20", $en);
        $en = str_replace("*", "%2A", $en);
        $en = str_replace("%7E", "~", $en);
        return $en;
    }
 
    private function curl($url)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$url );
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
        $result=curl_exec ($ch);
        return $result;
    }
 
    private function outPut($msg)
    {
        echo date("Y-m-d H:i:s")."  ".$msg.PHP_EOL;
    }
}

//2月4日修改,正确更新。

4)在宝塔面板,设置计划任务,添加类型:URL访问任务。
a)在宝塔面板,站点中,设置默认站点,应该是你的wordpress站点。如:share.XXXX.com

b)在宝塔面板,设置计划任务,URL访问任务,网址应为:http://192.168.*.*:端口号/ddns.php。设置相应的时间,一般为N小时,因家里的公网IP应该1-2天会换下。
保存后,运行一次。到阿里云域名解析这里,就可以看到IP已经更新为你家里宽带IP了。

5)路由器设置
这个一般没有什么问题,在路由器的"端口转发"里设置。根据你的实际情况。
一般为:
源IP为:*.*.*.* (即所有IP,路由器不同,可能表示法不同)
端口范围:7770(避开宝塔默认的8888,80,8000,8080等,以免80端口服务商不让转发)
内网IP: 192.168.*.* (就是你的电脑IP,也就是宝塔IP,)
内网端品:7770(可以不同,根据你的实际)

有关宽带猫和路由器的连接:电信宽带猫请自行想办法改为桥接模式,方便使用,用超级管理员或请电信客服处理。宽带猫下接自备路由器。路由器有些人用华硕梅林里面的阿里的ddns,对于普通路由器来说,使用以上ddns.php文件更方便,更换路由器等不受影响。

7 使用网址来访问wordpress

使用网址:http://share.XXXX.com:7770/ 来管理wordpress,发布文章,实现真正的对外的主机。

后续可以布置开源类网盘等等,实现个人网盘等。

最后:大约需要花1天的时间,付出阿里云域名的费用(低成本),实现:独立的云主机、网盘等等、基于服务器的功能。实现DDNS,将个人的宽带发挥最大的功用。可以实现多个站点(配合:解析,端口号)

可以学习centos,宝塔,wordpress,域名等基础知识。

你可能感兴趣的:(旧笔记本电脑打造个人网站,网盘/centos 7+宝塔linux面板+阿里云ddns云解析+wordpress)