创世神域

Nothing is impossible.

@Puteulanus4年前

09/3
00:48
学习心得

【开坑】Openshift自动安装无名智者的贴吧签到

上一个自动安装项目随着KK签到官方关闭关闭了,手痒开个新坑。

此安装源只是简化了安装步骤,整个签到系统为 无名智者 设计制作,相关问题移步 无名智者博客

2014.10.10更新:
1.加入自动重启脚本
2.增加首页临时跳转,初次安装前访问首页不再报错
3.修改安装过程中的提示,带有芒果云的分支安装成功后会提示文件管理器地址
4.增加plusplus分支

之前安装源有两个分支:
主分支为纯净的云签到,适合只需要签到、追求精简的人
plus分支带有芒果云,可以上传文件及在线解压,适合想自己上传插件、修改文件的人

新增的plusplus分支为plus分支的升级版,在带有芒果云的基础上,内建官方论坛所有插件,其中 检查插件更新 插件已添加所有插件的发布地址,开启后可一键检查插件更新。

plusplus分支安装截图:

86f5e2f81a4c510feb6cd86f6359252dd52aa54f

48e50023dd54564e1ac0de4cb0de9c82d0584f4a

3b423387e950352a82e11f7d5043fbf2b3118b77

fa5ca264034f78f02d36bf867a310a55b3191c32

教程开始:

使用方法基本还是那样,在Openshift创建一个Cacti应用

屏幕快照 2014-09-03 上午12.35.33

安装源替换成  https://github.com/puteulanus/tieba-sign-install3

只有签到助手:

屏幕快照 2014-09-03 上午12.38.41

签到助手和芒果云:

屏幕快照 2014-09-03 上午12.38.52

注意:芒果云的使用参照其 主页 ,安装源未对其进行设置,安装完后请务必修改默认密码。

芒果云的管理地址为 https://你的应用地址/filebrowser/

填完之后创建应用,等待应用创建完毕。

然后,访问 https://你的应用地址/setup/install.php 填写管理员信息进行安装。

屏幕快照 2014-09-03 上午12.47.03

再然后。。。就没了。

【开坑】Openshift自动安装无名智者的贴吧签到

  1. Star Brilliant
    UnknownUnknownUnknownUnknown

    说实话不喜欢KK的傲气。
    但愿这个会好用一点吧。

    P.S. 我发现了不重启的更重大原因!OpenShift 如果有一个 App 在几天内没有访问过会被休眠!多么痛的领悟……

    回复
    1. Puteulanus 文章作者
      UnknownUnknownUnknownUnknown

      嗯,感觉KK的确是。。有点那啥。
      必需外部访问否则休眠的话,那不是必须用云监控了。。。我还说自带个Cron,自动设置好挺方便的。
      红帽那天折腾了一下午,怎么改都没法正常安装,最后我把install.php的内容全删了都报同样的错,才发现是忘了禁APC,那货把PHP文件缓存了。。。当时的感觉也是,多么痛的领悟。。。

      回复
    1. Puteulanus 文章作者
      UnknownUnknownUnknownUnknown

      创个PHP应用,添加Cron,SSH连上去在$OPENSHIFT_REPO_DIR创个PHP文件,把填好了的代码粘进去,然后去Cron的minutely文件夹加个执行脚本,设上执行权限就行了。最好再加个外部的Cron。

      回复
    1. Puteulanus 文章作者
      UnknownUnknownUnknownUnknown

      有芒果云的话可以在.openshift/cron/minutely下复制cron.sh,然后把内容改成重启脚本的。因为脚本需要执行权限,芒果云没法chmod +x,只能复制已有脚本然后改内容了。没有芒果云就只能ssh连上去加脚本了。

      回复
          1. Puteulanus 文章作者
            UnknownUnknownUnknownUnknown

            不知道你用的是哪个,我项目的重启脚本的提供者表示他的脚本是测试过的。。。winscp传上去的脚本没加执行权限还是不行吧应该,我记错了吗?

  2. 心伤的天堂
    UnknownUnknownUnknownUnknown

    问下博主
    1:我记得最早的签到助手已自动重启,我收藏了,不知道现在的那个命令还能自动重启不? 我不知道在怎么测试
    2:openshift的数据库 能不能在使用别的软件链接
    好吧 我看到第一个问题的答案了。。

    回复
      1. Puteulanus 文章作者
        UnknownUnknownUnknownUnknown

        Openshift的数据库是不允许从外部连接的,除了在应用管理页添加PHPMyAdmin之外,要想连接数据库就得自己上传程序了。比如芒果云的数据库管理,在里面填上Openshift给出的数据库信息是可以查看和管理数据库的。

        回复
          1. Puteulanus 文章作者
            UnknownUnknownUnknownUnknown

            之前我用芒果云的adminer遇到过白屏的问题,不知道是因为我权限设置有问题还是设计上有bug。Openshift可以直接给应用添加PHPMyAdmin,就像添加MySql和Cron一样,添加完之后用数据库的用户名密码登进去就能修改数据库了。

          1. Puteulanus 文章作者
            UnknownUnknownUnknownUnknown

            reboot.sh不是我写的,作者和我讨论过倒是。。它主要解决的是应用内某一部分宕掉的情况,如果要阻止应用因为没有访问进入Idle状态的话,你可以试试cron文件夹里的online.sh脚本,它会每小时使用测速网站人为制造外部访问,实测有效。

  3. Pingback 星之所在 | 在红帽上又搭了个云签到

          1. Puteulanus 文章作者
            UnknownUnknownUnknownUnknown

            我访问自己的应用没问题。Openshift的通知是说现在正在维护,新创建应用可能会失败,已创建的应用不受影响。。。你试试用https访问你的应用呢?也不排除是被例行维护影响到了。

        1. Puteulanus 文章作者
          UnknownUnknownUnknownUnknown

          无名智者的git只是用来存放代码的,你用他的作为安装源肯定不行。。。我的安装脚本是从他的git下载代码到Openshift空间,然后进行修改、配置的,他那边是什么版本这边安完就是什么版本

          回复
  4. K
    UnknownUnknownUnknownUnknown

    github安装源是不是出问题了,昨天还能正常安装,今天红帽一直冒红提示错误,试了好多次╥﹏╥然后安装源我直接填芒果云的github地址是安装正常的,求测试

    回复
  5. 青蓮
    UnknownUnknownUnknownUnknown

    求芒果云的使用方法……
    另外……不知道为什么更新不了…检查更新了之后点击更新…然后回去再检查…还是那几个东西= =…简直………………
    芒果云真心不会用……也许还有其他的管理文件的方法?如果没有求芒果云的正确使用方法…用户名什么的密码什么的完全不知道= =……

    回复
    1. Puteulanus 文章作者
      UnknownUnknownUnknownUnknown

      芒果云是我找到的最方便的在线文件管理器了,WinSCP或者SSH管理和它压根就不是一个级数的麻烦。plus和plusplus版的安装向导最后一个页面有提示“云签到的安装已经全部完成,芒果云默认账户密码均为admin,请务必及时修改密码”并给出芒果云的地址。更新失败的话可以尝试登录芒果云手动删除更新需要更新的文件并上传新的文件,右键文件在菜单中选择删除、拖拽上传即可。文件较多的话可以保留配置文件删掉整站【注意filebrowser、.openshift、.htaccess不要删除】,上传最新的代码压缩包然后在线解压

      回复
      1. 青蓮
        UnknownUnknownUnknownUnknown

        那么请问是否我能够再次生成密匙填上去然后使用WinSCP551??按道理是应该可以的…是否可以?!因为我用红帽子一般习惯了用那个管理文件,还有…为啥页面无法更新?有什么问题在里面?芒果云的插件如果有更新的话需要怎么更新芒果云的插件?!

        回复
        1. Puteulanus 文章作者
          UnknownUnknownUnknownUnknown

          芒果云只是个网页应用,不会影响你使用WinSCP的。我不太明白你的页面无法更新指的是什么。芒果云应用商店里的插件我基本没用过,加上它是为了能在线管理文件,它的更新对签到站意义不大。如果你的确需要更新的话,可以用WinSCP替换filebrowser下的芒果云程序为最新版的,或者在芒果云的官网留言区留言反馈。

          回复
          1. 青蓮
            UnknownUnknownUnknownUnknown

            可是现在的用不了呀…WinSCP551现在没有密匙…用不了…重新生成密匙加入红帽子之后上可以?!有没有扣扣…加你以后方便讨论这些东西…换模板什么的壁纸什么的…也和KK的相差好大…这边麻烦好多…那边直接丢文件夹上去…换个图片就可以了…这里还要更改啥的…麻烦死了…老娘都晕头转向的……

          2. Puteulanus 文章作者
            UnknownUnknownUnknownUnknown

            应该是生成私匙,加入Openshift的设置那里就行了,WinSCP我不熟,基本不用。换模板之类的得去无名智者的论坛问,我主要是做签到程序在红帽的安装辅助,保证安装完的签到站能正常稳定的工作,美化什么的我也完全不会。

          3. 青蓮
            UnknownUnknownUnknownUnknown

            给个QQ吧…现在他的更新哪里我替换上去下载下来的都是显示要更新…还有一个是下载下来里面没有的……有点头晕了………………

  6. xinyuanjuexia
    UnknownUnknownUnknownUnknown

    谢谢,非常好,安装成功了!
    顺便问一下,这个安装源里面有内置防止应用被idle的脚本吗?可以确保idle不会发生吗?(主要是我前段时间没有访问,结果那一天就没有签到,一访问就恢复正常了。但是听说已经内置了防idle的online.sh,不知道为什么还会出现这个状况)

    回复
    1. Puteulanus 文章作者
      UnknownUnknownUnknownUnknown

      如果online.sh工作正常的话,应用是不会休眠的,但是也不是万无一失。测速网站API改变、Openshift将测速IP加入防火墙黑名单等都有可能导致脚本失效。安装源已经尽力避免在应用休眠了,不过最好的办法还是设置多个云监控。

      回复
      1. xinyuanjuexia
        UnknownUnknownUnknownUnknown

        很详细,感谢解答。又试验了一次一天不访问,果然idle了。我昨天刚在360设置了一个云监控,刚开始do.php一直无法访问,到白天的时候就好了。签到还会漏签几个,不知道是不是红帽网络的问题。顺便问一下,如果用内置cron,那么云监控可以设置任意网址吧?(例如直接设置程序首页地址,不用加/do.php)。时间间隔也可以设置得很长吧?

        回复
        1. Puteulanus 文章作者
          UnknownUnknownUnknownUnknown

          嗯,云监控主要是保证应用不挂掉,设成主页或者其它的的都可以,间隔可以长一些。漏签得问题可以去无名智者的论坛问问,之前貌似出现过这个问题,签到程序这边显示全部签到成功了,但实际上是有些成功了有些失败了。

          回复
  7. 青蓮
    UnknownUnknownUnknownUnknown

    为什么突然建立不了了…404……
    Not Found

    The requested URL / was not found on this server.

    Apache/2.2.15 (Red Hat) Server at topzhuzhujoe-zhuzhukumi.rhcloud.com Port 443

    发现签到不了打算红帽删除重新建立起来…结果发现进不去……

    回复
      1. UnknownUnknownUnknownUnknown

        我靠…老娘真心没话说了…无论怎么更新…怎么替换都是有四个无法在网页更新的…do.sh的话这个没关系的更改了之后他就会提示更新…其他四个…真心恶心……= =
        以下文件可以更新:
        /do.sh (这个是更改了监控之后就会提示更新…这个试过了更改更新就会提示更新)
        /templates/log.php
        /source/css/css/bootstrap.min.css
        /source/css/css/my.css
        /source/css/css/ui.css

        剩下这几个…真心无语了…第二个在下载那边查询是没有这个文件的…其他下面的CSS里面的文件是怎么替换都没用的…一直都是提示更新……真心无语…

        回复
  8. K
    UnknownUnknownUnknownUnknown

    前辈,如果用你的plusplus搭建的带芒果云的其它php应用,然后要每12小时监控某文件,要怎么弄,阿里云360那些最多每1小时。以前看过可以用红帽自带的cron设置.sh脚本来解决,但到现在都不会,能不能写个专门设置cron的教程

    回复
    1. Puteulanus 文章作者
      UnknownUnknownUnknownUnknown

      哎?每12小时吗。。红帽那边不是通常意义上的crontab,要自定义时间的话,只能把脚本文件放在相应的文件夹里,通过脚本里的判定来限制时间。你的每12小时,对分钟数没有精度要求的话,可以在脚本里加个当前小时数的判定,比如为0点和12点时接着朝后执行,然后丢hourly文件夹里。这样脚本每小时都会被执行一次,但只有在0点和12点时会接着执行下面的内容,也就是12小时一次了。阿里云那边你也可以这么干,判定加在执行的PHP里就行了。

      回复
    1. UnknownUnknownUnknownUnknown

      问题解决了,我改用flashfxp管理红帽文件,以前一直用flashfxp,更加习惯~
      而且芒果云试用的这段时间体验并不好,权限明明能修改,但查看还是777,事实上已改了,刚检验过。然后上传源码文件的话批量有时总会漏掉个别文件或上传有误,不是很保证。
      本来我是不喜欢用winscp,看到前辈的教程才用芒果云的,不过刚刚找到了flashfxp的教程,所以最后改回flashfxp/芒果云辅助。
      前辈或其他人有兴趣的话也可以看下:
      https://tffans.cn/post/1545.html

      回复
      1. Puteulanus 文章作者
        UnknownUnknownUnknownUnknown

        文件管理我一般是在Cloud9用rhc ssh登上去改的,芒果云确实没注意过改权限的问题。用芒果云的主要目的还是方便,毕竟不用会Linux命令也不用生成密匙,很适合小白用户。在线的文件管理器我找到的就它功能最强大了【现在我还时不时上去用下它上传功能里的远程下载】。感谢你的分享啦~有时间我研究下flashfxp

        回复
        1. K
          UnknownUnknownUnknownUnknown

          前辈现在还玩博客吗,以前提过的用flashfxp管理红帽,之前的教程网站倒了(https://tffans.cn/post/1545.html),然后我很久没玩这方面忘了了怎么弄…最近想回来弄下,但网上找不到第二篇教程了,请问前辈会用flashfxp连红帽吗,求个教程[委屈]

          回复
          1. K
            UnknownUnknownUnknownUnknown

            就是密钥这里出问题…FileZilla直接导入puttygen生成的私钥就可以连上红帽,但flashfxp导入不了,提示“无效 专用密钥”;如果用flashfxp自带的密钥管理器生成密钥增加到红帽,连接时会提示“SSH 错误: 协商认证模式失败 [Public Key]”。印象中那篇教程说过用flashfxp要稍微修改下,但实在忘了…前辈能不能下一个flashfxp教下我,拜谢[泪]附上flashfxp的烈火破解版给前辈:http://www.cr173.com/soft/13376.html

          2. Puteulanus 文章作者
            UnknownUnknownUnknownUnknown

            下了个flashfxp试了下,它生成的密匙在显示的时候为了排版,是用回车在换行。直接粘贴到Openshift的话,连接时会提示“协商认证模式失败”。复制出来之后先把所有的回车全部删除,然后再加到Openshift那边就能连上了。。

          3. UnknownUnknownUnknownUnknown

            谢谢前辈,做好记录了,这次不会忘了,现在把flashfxp密钥粘贴openshift的修改、flashfxp跟puttygen间的密钥转换都搞懂了[太开心]前辈大好人,逢问必答,之前来这里都是年初的事情了,不知不觉又一年了,提前祝前辈新年快乐、好运连连[爱你]

      1. Puteulanus 文章作者
        UnknownUnknownUnknownUnknown

        我又创建了一个试试,真没遇到你说的问题。。你用的是哪个分支?存在install.lock应该是安装过程已经成功了,404的话可能是在首页的临时跳转检测到lock文件存在所以删掉了自己,把原来的首页移回来的过程中出了问题,你删了再重新建一个试试?

        回复
          1. Puteulanus 文章作者
            UnknownUnknownUnknownUnknown

            抱歉这几天因为有别的事要做,没顾上这边。。因为他是自己实现的HTTP服务监听,而Openshift的tornado应用虽然能装上他所需要的所有库,但应用是用WSGI标准来处理程序访问的。在Openshift的空间内杀掉原来的监听进程把他的web.py接上去不太做得到,tornado应用的构建脚本貌似又没看到开放,所以没办法从启动脚本方面下手。临时啃了几天的WSGI相关,感觉要把他的代码朝这边修改难度挺大,如果使用DIY应用的话得把Python和pip一起构建了。。总体来讲要让他的应用在Openshift上跑难度比较高。

          2. Puteulanus 文章作者
            UnknownUnknownUnknownUnknown

            我准备的解决方法有俩,一个是我用PHP写个同功能网页的去兼容他的包含签到关键请求信息的HAR文件,另一个是用Python的mechanize库按照这个思路写个WSGI标准的Openshift应用,因为mechanize是另一种形式的、类似自然操作的模式,会让“模版文件”的编写门槛大大降低。我在Openshift的tornado空间测试了下,mechanize库也能被pip直接装上。现在主要在考虑第二种的设计,用Python的高阶函数让整个程序流程变为类似正常网页操作的过程,从而使模版接近自然语言的格式。