• docker中基于centos8的ORSEE系统的安装


    docker中基于centos8的ORSEE系统的安装

    ORSEE系统是一个志愿者招募系统,是我帮学校一个文科老师部署的(挣点零花钱)。我直觉感觉没多少人会用这个应该····但是既然没什么中文资料,我还是写一个安装流程吧

    因为虚拟机上部署了不止一个系统,所以相比直接在环境里面配,我采用了docker进行部署,回头来看确实是一个明智的决定,特别是在玩炸了几次之后····这些非互联网的系统使用的工具确实都比较落后,没什么中文参考资料,并且项目没有README,要从一个wiki上找安装方法

    另外,一个主要的麻烦是这个系统是基于PHP的,小弟生的比较晚,没赶上这门技术的高峰期,折腾起来颇为痛苦,之前主要就是卡在了mysql的pdo的安装上,我会在最后讲遇到的问题。


    安装步骤:

    1. 虚拟机上安装docker,换阿里云的镜像加速器

    2. 把centos的镜像拉下来,我这里使用的是当时最新的镜像,是centos8的版本。选择centos的原因是因为它资料比较多,我猜它会比较适合这种老系统的安装(事实上也确实挺适合的)。这里小弟也试过centos7的镜像,但是遇到了问题,我也会放到最后说

    3. 把orsee的源码拉下来,地址是:https://github.com/orsee/orsee/releases

      解压后放置在目录下,我的目录是/home/test/orsee

    4. 我的启动脚本:

      # /bin/bash
      docker run -itd --privileged -p 80:80 -v /home/test/orsee:/var/www/html/orsee --name mycentOS centos /usr/sbin/init
      docker exec -it mycentOS /bin/bash
      

      这里我直接把本地的目录映射到容器的apache的项目目录下了,这样安装完成后就可以直接访问了,很方便

      如果不按脚本中这样而是直接启动的话会出现systemctl命令不能用的问题

      中间要离开的话按ctrl+p再按ctrl+q,再回到容器的话是docker ps先查到ID,然后docker exec -it <容器ID> /bin/bash

    5. 进入容器之后按这篇文章的要求一步一步安装,我尝试了许多次,只有这篇文章的方法在我这里是靠谱的。

      注意少许问题:

      • 镜像中不包括防火墙,需要先安装yum -y install firewalld,然后开启systemctl start firewalld.service,以及开机自动启动:systemctl enable firewalld.service
      • 编译php源码之前需要先下载httpd-devel,然后which apxs找到apxs的安装路径,详见这篇博客:https://www.cnblogs.com/meiling12/p/6096789.html
    6. 安装crontab,我是照着这篇文章安装的

    7. 之后的步骤就按/orsee/install/INSTALL.howto里写的那样就行

      1. 在mysql中键入以下命令:

        mysql> CREATE DATABASE orseedbname DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
           mysql> GRANT ALL PRIVILEGES ON orseedbname.* TO orseedbusername@localhost IDENTIFIED BY 'orseeuserdbpassword';
           mysql> FLUSH PRIVILEGES;
           mysql> quit
        

        注意其中的数据库名称、用户名和密码按自己要求设置,然后在命令行中键入:

        mysql orseedbname -uorseedbusername -porseeuserdbpassword < install.sql

        这里的数据库名称、用户名和密码要和上面的配套

      2. 键入crontab crontab-for-orsee

      3. 键入:

        % cp settings-dist.php ../config/settings.php
        % cd ../config/
        
      4. 打开settings.php,修改以下内容:

        • $settings__root_to_server="/var/www/html";apache默认的目录就是这个

        • $settings__root_directory="/orsee";这个按你/var/www/html下文件夹的名称来

        • $site__database_host="127.0.0.1";这个如果不改,用默认的localhost的话会报错:SQLSTATE[HY000] [2002] No such file or directory

        • $site__database_database="orseedbname";
          $site__database_admin_username="orseedbusername";
          $site__database_admin_password="orseeuserdbpassword";

          和上面你设置的配套

        其他的选项,例如邮箱等等也可以改,看你需求了

      5. 走到这里的话应该就没问题了,在浏览器中输入http://localhost/orsee/admin,应该就能进入界面了,默认用户名是orsee_install,密码是install

      6. 可以把现在的容器保存一下了,或者我更建议弄到一半的时候就保存下免得弄炸了恢复起来麻烦


    遇到的问题

    1. 这篇文章中所说的方法安装pdo不work,主要问题是-with-pdo-mysql参数后面怎么填mysql的路径都不对,这篇同样不work
    2. 用docker(19.03.12版本)安装centos7(阿里云镜像加速器里的版本)或者centos7.4.1708(我只尝试了这两个版本),在虚拟机里的linux桌面版(我用的是lubuntu19.10)shell中启动之后,虚拟机会自动跳到一个命令行界面,要我输入centos7的用户名和密码,也有概率系统直接崩溃,跳到登录界面,所有工作内容被清空。如果有清楚原因的兄弟麻烦告诉小弟我下。
  • 相关阅读:
    三线程连续打印ABC
    Mybatis知识点总结
    【刷题】LeetCode 292 Nim Game
    Java界面编程-建立一个可以画出图形的简单框架
    第11章 持有对象
    第10章 内部类
    构造器和多态(Chapter8.3)
    对象的创建过程(chapter5.7.3)
    静态数据的初始化(Chapter5.7.2)
    final关键字
  • 原文地址:https://www.cnblogs.com/jiading/p/14120643.html
Copyright © 2020-2023  润新知