今天是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部分
网上教程不多,但是也没有很大难度,按步骤来就可以,这部分是导航页访问数据的来源,如果不需要可以忽略
————————————————————————————————————
此处评论已关闭