centos7 安装并配置walle

Centos7 安装并配置walle

前言: 因为官网的wiki和安装手册 都不是很完整 自己踩了很多坑 最后才弄好。因此记录下来。

官方地址  https://github.com/meolu/walle-web/

按照官网的安装 应该会卡在nginx 502错误

1 安装mysql

过程(暂时略)

在数据库中创建walle 库

create database walle charset=utf8mb4 collate utf8mb4_unicode_ci;

 

2 安装php

查看是否安装php

rpm -qa |grep php

rpm -e 包名

也可以省事 直接全部删除

yum -y remove php*

yum安装依赖

yum install -y php php-bcmath php-fpm php-gd* php-json freetype freetype-devel php-mbstring php-mcrypt php-mysql php-opcache php-pdo php-pdo_dblib php-pgsql php-recode php-snmp php-soap php-xml php-pecl-zip mhash libmcrypt libmcrypt-devel

查看安装的php 版本

centos7 安装并配置walle_第1张图片

如果版本地域5.5  需要更新至5.5或以上  否则编译会报错

更新源
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y remove php-common 
yum -y install -y php56w php56w-opcache php56w-xml php56w-mcrypt
yum -y php56w-gd php56w-devel php56w-mysql php56w-intl php56w-mbstring 


确保版本号已经符合要求

  php -v 

 

3 安装git和svn

yum -y install git

yum -y install svn

下载源码

cd /usr/local

git clone [email protected]:meolu/walle-web.git

 

git clone 应该会报没有权限

centos7 安装并配置walle_第2张图片

可以换wget下载

cd /usr/local

wget  https://github.com/meolu/walle-web/archive/master.zip

unzip walle-web-master.zip

mv walle-web-master   walle-web

 

备份并修改/etc/mail.rc

cp /etc/mail.rc /etc/mail.rc.bak

cat > /etc/mail.rc <

set hold

set append

set ask

set crt

set dot

set keep

set emptybox

set indentprefix="> "

set quote

set sendcharsets=iso-8859-1,utf-8

set showname

set showto

set newmail=nopoll

set autocollapse

ignore received in-reply-to message-id references

ignore mime-version content-transfer-encoding

fwdretain subject date from to

set bsdcompat

#使用qq邮箱的配置

#set [email protected] smtp=smtp.qq.com

#set [email protected]  smtp-auth-password=passwd

#smtp-auth=login

set from=[email protected] smtp=smtp.163.com

set smtp-auth-user=[email protected] smtp-auth-password=passwd

set smtp-auth=login

EOF

 

修改/usr/local/walle-web/config/local.php

/usr/local/walle-web/config/local.php中发件人(红色标注部分)必须和/etc/mail.rc 一致

绿色部分根据自己的163邮箱信息输入

// Uncomment to enable debug mode. Recommended for development.

defined('YII_DEBUG') or define('YII_DEBUG', false);

 

// Uncomment to enable dev environment. Recommended for development

defined('YII_ENV') or define('YII_ENV', 'prod');

 

if (empty($_ENV)) {

    $_ENV = $_SERVER;

    foreach ($_ENV as $key => $value) {

        if (strpos($key, '_PASS')) {

            $_ENV[$key] = base64_decode($value);

            if ($_ENV[$key] === false) {

                $_ENV[$key] = $value;

            }

        }

    }

}

 

return [

    'components' => [

        'db' => [

            'dsn'       => isset($_ENV['WALLE_DB_DSN'])  ? $_ENV['WALLE_DB_DSN']  : 'mysql:host=127.0.0.1;dbname=walle',

            'username'  => isset($_ENV['WALLE_DB_USER']) ? $_ENV['WALLE_DB_USER'] : 'root',

            'password'  => isset($_ENV['WALLE_DB_PASS']) ? $_ENV['WALLE_DB_PASS'] : 'Hangzhou@123',

        ],

        'mail' => [

            'transport' => [

                'host'       => isset($_ENV['WALLE_MAIL_HOST']) ? $_ENV['WALLE_MAIL_HOST'] : 'smtp.163.com',     # smtp 发件地址

                'username'   => isset($_ENV['WALLE_MAIL_USER']) ? $_ENV['WALLE_MAIL_USER'] : '[email protected]',  # smtp 发件用户名

                'password'   => isset($_ENV['WALLE_MAIL_PASS']) ? $_ENV['WALLE_MAIL_PASS'] : 'passwd',       # smtp 发件人的密码

                'port'       => isset($_ENV['WALLE_MAIL_PORT']) ? $_ENV['WALLE_MAIL_PORT'] : 25,                       # smtp 端口

                'encryption' => isset($_ENV['WALLE_MAIL_ENCRYPTION']) ? $_ENV['WALLE_MAIL_ENCRYPTION'] : 'tls',                    # smtp 协议

            ],

            'messageConfig' => [

                'charset' => 'UTF-8',

                'from'    => [

                  (isset($_ENV['WALLE_MAIL_EMAIL']) ? $_ENV['WALLE_MAIL_EMAIL'] : '[email protected]') => (isset($_ENV['WALLE_MAIL_NAME']) ? $_ENV['WALLE_MAIL_NAME'] : 'HENGTIANSOFT'),

                ],  # smtp 发件用户名(须与mail.transport.username一致)

            ],

        ],

        'request' => [

            'cookieValidationKey' => 'PdXWDAfV5-gPJJWRar5sEN71DN0JcDRV',

        ],

    ],

    'language'   => isset($_ENV['WALLE_LANGUAGE']) ? $_ENV['WALLE_LANGUAGE'] : 'zh-CN', // zh-CN => 中文,  en => English

];

 

登录163邮箱 修改pop3 协议

centos7 安装并配置walle_第3张图片

改成如下配置 并保存

centos7 安装并配置walle_第4张图片

 

centos7 安装并配置walle_第5张图片

centos7 安装并配置walle_第6张图片

4 安装composer(如果已安装跳过)

cd   /tmp

curl -sS http://getcomposer.org/installer | php

mv composer.phar /usr/local/bin/composer

 

5 安装vendor

cd    /usr/local/walle-web

composer install --prefer-dist --no-dev --optimize-autoloader -vvvv

 

初始化项目

./yii walle/setup

centos7 安装并配置walle_第7张图片

 

修改/etc/php-fpm.d/www.conf   将启动用户切换成root

不切换在创建上线单的时候 会报Apache账号 权限不足

centos7 安装并配置walle_第8张图片如果需要使用Apache账号 可以参考

https://blog.csdn.net/abld99/article/details/55210504

 

centos7 安装并配置walle_第9张图片

centos7 安装并配置walle_第10张图片

用/usr/sbin/php-fpm  -R   否则启动还是会提示不能用root用户启动

/usr/sbin/php-fpm  -R

centos7 安装并配置walle_第11张图片

6 安装nginx

yum -y install nginx

修改 /etc/nginx/nginx.conf

user nginx;

worker_processes auto;

error_log /var/log/nginx/error.log;

pid /run/nginx.pid;

 

include /usr/share/nginx/modules/*.conf;

 

events {

    worker_connections 1024;

}

 

http {

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                      '$status $body_bytes_sent "$http_referer" '

                      '"$http_user_agent" "$http_x_forwarded_for"';

 

    access_log  /var/log/nginx/access.log  main;

 

    sendfile            on;

    tcp_nopush          on;

    tcp_nodelay         on;

    keepalive_timeout   65;

    types_hash_max_size 2048;

 

    include             /etc/nginx/mime.types;

    default_type        application/octet-stream;

 

    include /etc/nginx/conf.d/*.conf;

 

server {

    listen       80;

    server_name  10.6.11.219; # 改你的host

    root /usr/local/walle-web/web; # 根目录为web

    index index.php;

 

    # 建议放内网

    # allow 192.168.0.0/24;

    # deny all;

 

    location / {

        try_files $uri $uri/ /index.php$is_args$args;

    }

 

    location ~ \.php$ {

        try_files $uri = 404;

        fastcgi_pass   127.0.0.1:9000;

        #fastcgi_pass unix:/dev/shm/php-cgi.sock;

        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

        include        fastcgi_params;

    }

}

}

 

测试nginx配置

/usr/sbin/nginx -t

启动nginx

/usr/sbin/nginx

 

7 登录walle

登录10.6.11.219

可以注册或者直接用admin登录

邮箱admin

密码admin

centos7 安装并配置walle_第12张图片

注册之后 会出现如下提示界面 并收到认证邮件

centos7 安装并配置walle_第13张图片

centos7 安装并配置walle_第14张图片

centos7 安装并配置walle_第15张图片

激活之后登录

centos7 安装并配置walle_第16张图片

 

8 构建项目

git 下载源码

centos7 安装并配置walle_第17张图片

需要将服务器10.6.11.219的公钥 添加到git hub地址的ssh key中 大致过程如图所示

centos7 安装并配置walle_第18张图片

centos7 安装并配置walle_第19张图片

centos7 安装并配置walle_第20张图片

输入好公钥点击Add之后 就可以下载了

centos7 安装并配置walle_第21张图片

 

配置免密登录

在10.6.11.219上 执行下面命令  使219可以免密登录220

ssh-copy-id -i id_rsa.pub 10.6.11.220

根据提示 输入一次220的密码  从此就可以免密登陆

 

新建git项目   并开启审核

centos7 安装并配置walle_第22张图片

 

添加组中成员 用jiaminxu账号 申请发布  管理员账号审核

centos7 安装并配置walle_第23张图片

 

检测配置

centos7 安装并配置walle_第24张图片

如果仍旧使用Apache账号启动php 此处会报权限错误哦 

 

 

用jiaminxu  工程师(普通账号)提交上线单

刷新即可获得所有分支 默认是master

centos7 安装并配置walle_第25张图片

 

 

centos7 安装并配置walle_第26张图片

 

centos7 安装并配置walle_第27张图片

 

centos7 安装并配置walle_第28张图片

centos7 安装并配置walle_第29张图片

附上根据tag上线的图

centos7 安装并配置walle_第30张图片

centos7 安装并配置walle_第31张图片

部署回滚

centos7 安装并配置walle_第32张图片

centos7 安装并配置walle_第33张图片

如果需要修改用户地址 尤其是默认的admin的邮箱地址  

可以在migration 之前修改

centos7 安装并配置walle_第34张图片

也可以在初始化之后 修改数据库中

修改成功

centos7 安装并配置walle_第35张图片

9 配置tomcat 为例并测试回滚

首先 安装jdk(略) 和maven

wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz

tar -zvxf apache-maven-3.3.9-bin.tar.gz

mv apache-maven-3.3.9 /usr/local/maven

echo '

MAVEN_HOME=/usr/local/maven

PATH=$PATH:$MAVEN_HOME/bin

export MAVEN_HOME=/usr/local/maven

export PATH=$PATH:$MAVEN_HOME/bin

' >> /etc/profile

source /etc/profile

 

mkdir /Devops

mkdir -p /war/lse-job

配置mvn 编译命令

mvn  -B -f /data/test/LoveSecurityEdu-job/pom.xml -s /root/.m2/settings_hengtian.xml -gs /root/.m2/settings_hengtian.xml clean install -Pqa -DskipTests=true

centos7 安装并配置walle_第36张图片

配置测试用户

centos7 安装并配置walle_第37张图片

激活成功之后登录

邮件激活之后状态会变成1

普通用户不能配置项目  只能提交上线单

centos7 安装并配置walle_第38张图片

把普通用户 加入固定的组

centos7 安装并配置walle_第39张图片

centos7 安装并配置walle_第40张图片

centos7 安装并配置walle_第41张图片

 

普通用户提交上线单啦   管理员可以随时修改是否需要审核

centos7 安装并配置walle_第42张图片

centos7 安装并配置walle_第43张图片

批准上线

centos7 安装并配置walle_第44张图片

刷新之后 就可以上线了

centos7 安装并配置walle_第45张图片

直接部署 不报错即可

centos7 安装并配置walle_第46张图片

 

登录walle主机 进入/data路径  可以看到3个文件夹

centos7 安装并配置walle_第47张图片

登录部署的服务器10.6.11.220  进入/Devops路径 

看到软链接已经生成

然后进入tomcat的webapps路径设置软链接

把lse-job  软链接到webapps中

 

回滚

找一个已经部署多次的项目测试

centos7 安装并配置walle_第48张图片

直接点击上线>部署  部署成功

centos7 安装并配置walle_第49张图片 

软链接指向了更早之前的war包哦

centos7 安装并配置walle_第50张图片

 

 

 

完成~

如果重启服务器 把php和nginx 设置为开机启动之后遇到

centos7 安装并配置walle_第51张图片

centos7 安装并配置walle_第52张图片

 

重启php服务 并且关闭selinux   再reboot就不会有问题了

centos7 安装并配置walle_第53张图片

 

 

 

 

你可能感兴趣的:(centos7 安装并配置walle)