最近两周时间,做了很多搭建CAS的实践,也学习了很多关于Docker应用的知识;深深体会到了使用Docker部署环境的方便与快捷,以及关于node.js和Laravel的一些了解;但是对CAS本身还是不够了解,下周要部署单点登录的应用,再往后打算部署一下原生的CAS。

流程

  • 准备
    Docker环境,稳定(科学)的网络连接
  • 环境部署
  1. 下载镜像(根据业务内容精(sui)心(yi)挑选的镜像),创建容器并进入容器shell。
    镜像地址

    docker pull oblank/Docker-Centos-Nginx-PHP-Mongo-Redis-Memcached
    docker run -it -P -d --name cas oblank/Docker-Centos-Nginx-PHP-Mongo-Redis-Memcached
    docker exec -it cas /bin/bash

    2. 更新源、软件包(可选),以及安装缺少的git。

    yum update
    yum upgrade
    yum install git
    1. 开始部署
      项目文档地址

    – Composer拉取项目
    如果没有composer,安装方法

    composer create-project leo108/php_cas_server php_cas_server dev-master
    • npm安装
    cd php_cas_servernpm install

    由于众所周知的网络原因,安装可能会失败,通常的操作是使用淘宝团队提供的cnpm

    npm install -g cnpm --registry=https://registry.npm.taobao.org

    用法同npm。
    若node-sass下载遇到Timeout导致后续报错,可使用cnpm代替npm;若再次失败,则尝试先报node-sass文件下载到本地——下载地址(寻找合适版本)

    npm i node-sass --sass_binary_path=/home/php_cas_server/darwin-x64-48_binding.node

    若安装失败需再次安装,需先卸载。

    npm uninstall node-sass

    参考链接
    – gulp部署

    cnpm install gulp -g
    gulp -v
    gulp

    参考链接
    4. 按照项目文档中的指示完成初始化。
    MySQL重置密码
    5. 项目测试
    Laravel为项目提供了测试方法(仅限本机访问?)

    php artisan serve --port=80

    (在项目根目录执行)这样通过curl lcoalhost就可以访问了。
    6. 部署上线
    在此镜像中可直接修改Nginx在/etc/nginx/conf.d/default.conf的配置文件的根目录到…/php_cas_server/public,若出现500,可能是权限问题。

    Java版参考资料