您的位置:首页 > 其它

Walle-瓦力上线部署安装以及遇到的问题

2016-11-09 21:19 471 查看
一直在找自动化部署的系统,最好是PHP版本的,偶然的机会找到了Walle这个部署系统,于是静下心来学习一下

比较坑的是官方的文档和github上的文档都有问题,不清楚怎么安装,也许是版本滞后的问题,自己摸索了一下才正确安装了

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

官方地址:http://www.huamanshu.com/walle.html

开始安装Walle

代码检出

[code]mkdir -p /data/www/walle-web && cd /data/www/walle-web # 新建目录 git clone git@github.com:meolu/walle-web.git . # 代码检出 git clone https://github.com/meolu/walle-web.git #最好是这样克隆代码到本地
PS:代码检出的时候需要用名密码,可能是要设置github的账号,其他这一步就行下载diam,如果没有账号请到github网页上下载代码: https://github.com/meolu/walle-web

设置mysql连接

vi config/web.php
'db' => [
'class'     => 'yii\db\Connection',
'dsn'       => 'mysql:host=127.0.0.1;dbname=walle', # 新建数据库walle
'username'  => 'root',                          # 连接的用户名
'password'  => '123456',                          # 连接的密码
'charset'   => 'utf8',
],
vi config/local.php
'db' => [
'dsn'       => 'mysql:host=127.0.0.1;dbname=walle',
'username'  => 'root',
'password'  => '123456',#此处需要设置连接mysql密码,默认为空
],

安装composer,如果已安装跳过,我把下面的https修改成http,不然国内访问数据慢

curl -sS http://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer  # PATH目录

安装vendor

cd walle-web
composer install --prefer-dist --no-dev --optimize-autoloader -vvvv

初始化项目,这里跟官方显示的不一样

./yii migrate/up
使用这个:
./yii walle/setup   # 初始化项目

最后配置nginx服务器

nginx简单配置 这里需要注意下 根目录一定要是web哦,不然访问容易出错
server {
listen       80;
server_name  walle.compony.com; # 改你的host
root /the/dir/of/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_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
include        fastcgi_params;
}
}
这里讲提醒一下nginx的伪静态规则location / {try_files $uri $uri/ /index.php$is_args$args;}[/code]

我安装之后有几个问题

1)php.ini要启用exec函数不然提示2)修改runtime文件的权限,打开的时候会提示错误默认的用户名密码:admin/adminQQ交流群:136351212查看原文:http://www.phpsong.com/2166.html
安装好 walle后,进行项目配置,但是检测总是出现错误,错误如下:宿主机代码检出检测出错,请确认把PHP进程用户www的ssh-key加入Git的deploy-keys列表。目标机器检测出错,请确认php进程www用户ssh-key加入目标机器的www用户ssh-key信任列表。目标机 ansible ping 出错,请检查 ~/.ssh/config 及 ssh 证书配置
目标机器检测出错,请确认www有目标机器发布版本库/data/www/publish写入权限。解决方法:  1,在宿主机安装了ansible后,就消灭了一个关于ansible未安装的问题  2,其实我们是把宿主机器php进程用户www加入了目标机器www用户的信任authired_keys表的,但是任然报未加入,此处,主要的错误就是因为我们在目标机器中对于      www用户的.ssh文件夹和authorized_keys的权限和所属者;
chmod -R 755 /home/www/
chmod -R 644 authorized_keys
chmod -R 700 .ssh/        必须满足以上三个条件才能免密码登录,同时也是解决总报没有加入目标机器信任列表的问题关键 chown  www.www -R /home/www       将所属者为www用户  3,需要记住的宿主机和目标机器的  .ssh   authorized_keys      /home/www/   都需要注意权限问题

4,最后出现恭喜检测通过了  汗

问题一,require():open_basedir restriction in effect问题
require():open_basedir restriction in effect问题


去寻找下(/home/www/project/walle-web/web:/tmp/:/proc/)这个是在哪儿设置的我用的是lnmp一键安装包搭建的环境,最后发现在web目录下面有.user.ini文件中写了这句代码,然后把它设置为网站的根目录,就可以访问了。



web是入口文件的文件夹。open_basedir=/home/www/project/walle-web:/tmp/:/proc/修改完后,就可以访问了


[code]
[/code]
 问题二,
git出现问题[www@centos-7-va aa]$ git pull origin masterThe authenticity of host '10.211.55.8 (10.211.55.8)' can't be established.ECDSA key fingerprint is 0c:e1:be:87:db:3e:f2:84:dc:0d:02:3e:c1:f3:5c:3e.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '10.211.55.8' (ECDSA) to the list of known hosts.解决:(比如我在www用户机器上去登录另外一台root机器,就去root机器上编辑ssh_config文件)一个彻底去掉这个提示的方法是,修改/etc/ssh/ssh_config文件(或$HOME/.ssh/config)中的配置,添加如下两行配置:StrictHostKeyChecking noUserKnownHostsFile /dev/null修改好配置后,重新启动sshd服务即可,命令为:/etc/init.d/sshd restart (或 service sshd restart )当然,这是内网中非常信任的服务器之间的ssh连接,所以不考虑安全问题,就直接去掉了主机密钥(host key)的检查。ssh中遇到的“Host key verification failed.”问题,也是和“StrictHostKeyChecking”配置有关。同时,这个问题也就解决了,对于gitlab的直接拉取,有不会出现相似的提示了

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐