今天是2022.12.2,把安装过程做一下记录,如果有相同情况的可以做参考

总结一下就是技术不行导致走了太多的弯路,按照顺序进行几乎每一步都有意外发生,需要花时间去解决小问题,好在最后成功了

1.先上工具

a.dockek b.mysql-57-centos7 c.crazymax/matomo/ d.putty

e.termux 需要具备一定ssh和docker操作基础,我尽可能写的细一些,但仍免不了遗漏,多担待

2.大致过程可以参照

BYR-Navi:一个开源、美观且可以部署在GitHub Pages的网站导航程序
【docker】部署MySQL-拉取centos/mysql-57-centos7镜像、新建容器并启动
使用Docker安装MySQL
Centos7.7升级Ruby版本

3.过程(docker安装过程跳过)

a.centos部分
因为看到需要linux环境而且有数据库操作,所以想着直接在docker里找一个mysql集成的版本(其实就是懒),于是就搜了一下,发现了一个能用的镜像(1.b),下面是命令:

docker pull centos/mysql-57-centos7    //拉取
docker run -di --name=centos_mysql --network=host -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 centos/mysql-57-centos7     //新建容器
ssh -p <ssh端口> <用户名>@<ip地址>    (eg:ssh -p 22 admin@192.168.1.1)  //等容器跑起来,用putty/termux ssh登陆
sudo -i   //非root提权

b.容器部分

//以root权限(注意这里是权限,还不是root用户)进入容器

    sudo docker exec -it -u root centos_mysql bash     //这步的时候卡了一会儿,后面会讲

//这个时候会显示

    bash-4.2#                                          //恭喜,万里长征第一步 

//这里一定是#,其他符号都不对,接下来先设置mysql
解释器界面输入mysql,回车,之后是

    use mysql                                  //使用mysql库
    GRANT ALL ON *.* TO 'root'@'%';            //授权
    flush privileges;                          //刷新权限
    ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';       //mysql里分号也要有
    flush privileges;                          //刷新权限

// 到这里,sql 部分完成了,记住最后的新密码,之后有用

c.ruby部分
接上面,如果退出去了,用root权限登陆回来,登陆之后的解释器应该是"bash-4.2#"

   su - root                                       //切换root用户
  //这步非常关键,如果不切换,之后的软件安装会有问题,别问为啥。
   gpg --keyserver hkp://pgp.mit.edu --recv-keys 
   409B6B1796C275462A1703113804BB82D39DC0E37D2BAF1CF37B13E2069D6956105BD0E739499BDB       //导入密钥
   curl -sSL https://get.rvm.io | bash -s stable                                        //安装稳定版

这时候有的会报错,大致几点,一个是解析问题,解决方案是去https://site.ip138.com/这里,把不能连的网址放里获取可用ip,然后修改hosts(/etc目录下)

第二就是443错误,那就去掉https

 git config --global http.proxy
 git config --global --unset http.proxy      //到这会发现git命令无效,因为没有git,安装一下再执行

(还有一个方案,把HTTPS://换成git://)

 sudo yum install https://packages.endpointdev.com/rhel/7/os/x86_64/endpoint-repo.x86_64.rpm 

//用这个安装git,不能用yum -y install git ,原因后面会讲。

 source /etc/profile.d/rvm.sh           //载入RVM环境
 rvm list known                         //看看哪些版本能安装
 rvm install 2.7.2                      //后面安装bundle要求至少是2.7,这里会等一会儿,时间视硬件决定
 ruby -v                                //如果安装成功,会出现版本号,没有就重复上面步骤
 rvm use 2.7.2 --default                //修改默认版本,避免和自带的冲突

d.jekyll 部分 ,这部分和上面一样,一定是su - root之后执行的,切记

   gem install jekyll                      //安装jekyll,这期间哪个命令没有 yum install 哪个
   jekyll -v                               //安装成功是能看见版本号的

e.BYR-Navi部分

   git clone https://gitclone.com/github.com/BYR-Navi/BYR-Navi                  //拉取

再有gitclone对git版本有要求,必须是2.x,自带的是1.x,不升级就报错

   cd BYR-Navi                        //下载完进入
   ls -a                              //看看下载到哪了
   bundle i                           //不出意外的话意外又来了bundler:command not found
   gem install bundler                                   //这里会要求ruby大于2.7版本
   bundler -v                                            //安装成功才能看见版本号
   bundle exec jekyll serve -H 0.0.0.0 -P 8989 --detach  //在byr文件夹里执行,关键

一切正常的话会显示

  "Configuration file: /usr/local/BYR-Navi/_config.yml
            Source: /usr/local/BYR-Navi
       Destination: /usr/local/BYR-Navi/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
                    done in 0.569 seconds.
 Auto-regeneration: disabled when running server detached.
    Server address: http://0.0.0.0:8989
 Server detached with pid '582'. Run `pkill -f jekyll' or `kill -9 582' to stop the server."

访问http://ip:8989即可正常访问

f.Matomo部分
网上教程不多,但是也没有很大难度,按步骤来就可以,这部分是导航页访问数据的来源,如果不需要可以忽略

————————————————————————————————————

该部分仅登录用户可见

最后修改:2023 年 09 月 01 日
如果觉得我的文章对你有用,请随意赞赏