作者: itgeeker

  • Zimbra 8.8.8自建yum升级源(Repository)on CentOS x64

    首先要确保你已经更新Python到2.7系列版本,然后安装了最新的pip 10.0以上版本,如果还没升级,请参看ITGeeker技术奇客指导文档:升级Python到2.7.15 on CentOS 6 x64

    安装Amazon网页服务命令

    yum install python-pip
    pip install awscli
    #如果python或pip未升级,可能会出错。

    创建放源文件的目录

    mkdir /var/repositories
    cd /var/repositories

    获取源的文件

    aws s3 sync s3://repo.zimbra.com/rpm/87 ./rpm/87 --no-sign-request --delete
    aws s3 sync s3://repo.zimbra.com/rpm/zv1 ./rpm/zv1 --no-sign-request --delete
    aws s3 sync s3://repo.zimbra.com/rpm/888patch ./rpm/888patch --no-sign-request --delete
    aws s3 sync s3://repo.zimbra.com/rpm/888patch-nw ./rpm/888patch-nw --no-sign-request --delete
    

    编辑Nginx配置

    vi /etc/nginx/conf.d/default.conf
    
    server {
    listen 80;
    listen 443 ssl;
    server_name www.itgeeker.net;
    # ssl_certificate /etc/nginx/certs/zimbra-wilcard.crt;
    # ssl_certificate_key /etc/nginx/certs/zimbra-wilcard.key;
    # ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    # ssl_ciphers HIGH:!aNULL:!MD5;
    ## Let your repository be the root directory
    root /var/repositories;
    
    ## Always good to log
    access_log /var/log/nginx/repo.access.log;
    error_log /var/log/nginx/repo.error.log;
    
    ## Prevent access to Reprepro's files
    location ~ /(db|conf) {
    deny all;
    return 404;
    }
    }
    #ITGeeker技术切开这里没有配置ssl,需要的请自行配置。相对应在客户机的Repository源文件链接要把https换成http
    service nginx restart
    

    关注一下硬盘空间,需要占用5-8G不等的空间

    df -h

    配置Cron自动执行源文件更新

    crontab -e
    
    30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
    30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete
    30 3 * * * /usr/bin/aws s3 sync s3://repo.zimbra.com/rpm/888patch /var/repositories/rpm/888patch --no-sign-request --delete
    crontab -l
    service crond restar
    

    # 也可以用的时候手动更新

    aws s3 sync s3://repo.zimbra.com/rpm/87 /var/repositories/rpm/87 --no-sign-request --delete
    aws s3 sync s3://repo.zimbra.com/rpm/zv1 /var/repositories/rpm/zv1 --no-sign-request --delete
    aws s3 sync s3://repo.zimbra.com/rpm/888patch /var/repositories/rpm/888patch --no-sign-request --delete

    以下在你的Zimbra邮件服务器配置yum repository

    创建repo文件

    vi /etc/yum.repos.d/zimbra.repo
    
    [zimbra]
    name=Zimbra RPM Repository
    baseurl=http://www.itgeeker.net/rpm/87/rhel$releasever
    gpgcheck=1
    enabled=1 
    [zimbra-v1]
    name=Zimbra New RPM Repository
    baseurl=http://www.itgeeker.net/rpm/zv1/rhel$releasever
    gpgcheck=1
    enabled=1
    [zimbra-888-patch]
    name=Zimbra New RPM Repository
    baseurl=http://www.itgeeker.net/rpm/888patch/rhel$releasever
    gpgcheck=1
    enabled=1
    #注意:这里是http,因为前面nginx没有配置ssl 443端口
    

    导入源Key文件

    rpm --import https://files.zimbra.com/downloads/security/public.key

    测试是否成功

    yum search zimbra
    #成功的话会列出类似:
     zimbra-altermime.x86_64 : Zimbra's altermime build
     zimbra-amavis-logwatch.x86_64 : Zimbra's amavis-logwatch build
     zimbra-amavisd.x86_64 : Zimbra's amavisd build
  • 升级Python到2.7.15 on CentOS 6 x64

    Centos 6 自带的2.6版本队友有些情况总会出现各种错误,例如:

    File "/usr/lib/python2.6/site-packages/pip/_internal/index.py", line 526 
    {str(c.version) for c in all_candidates}, ^ 
    SyntaxError: invalid syntax

    明确你的Linux版本

    cat /etc/redhat-release

    安装依赖:

    yum groupinstall -y "Development tools"
    yum install -y zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel

    下载最新版本并编译安装

    cd /tmp
    wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz
    tar zxf Python-2.7.15.tgz
    cd Python-2.7.15
    ./configure
    make && make install

    #新版目录

    ll -tr /usr/local/bin/python*

    #系统自带老版本目录

    ll -tr /usr/bin/python*

    备份老版本命令,创建新版本软连接

    mv /usr/bin/python /usr/bin/python.old
    rm -f /usr/bin/python-config
    ln -s /usr/local/bin/python /usr/bin/python && ln -s /usr/local/bin/python-config /usr/bin/python-config && ln -s /usr/local/include/python2.7/ /usr/include/python2.7
    

    检查一下是否正确

    python --version

    为新版 Python 安装 setuptools

    wget https://bootstrap.pypa.io/ez_setup.py -O - | python
    easy_install pip

    然后就可以pip安装了

    pip install itgeeker
  • Etherpad install on Centos 7 x64

    Etherpad是谷歌收购的在线协作工具,谷歌在收购后做了开源,但更新较慢,而且周边的插件也几乎停止更新。当然原先的插件基本都还能用,而且功能强大。
    如果你只是为了方便,那就用腾讯文档或者石墨文档,毕竟是比较成熟的产品,如果你想自己控制并掌握一切,那么跟着ITGeeker技术奇客一起来安装服务器端吧。

    开源地址:https://github.com/ether/etherpad-lite

    安装依赖包,包括node.js

    yum install gzip git curl python openssl-devel && yum groupinstall "Development Tools"
    yum install -y nodejs

    获取etherpad代码

    cd /opt && git clone git://github.com/ether/etherpad-lite.git

    创建etherpad用户

    useradd etherpad && groupadd etherpad
    usermod -a -G etherpad etherpad

    创建systemd启动命令,并设置开机自动启动

    sudo vi /etc/systemd/system/etherpad.service:
    [Unit]
    Description=Etherpad-lite, the collaborative editor.
    After=syslog.target network.target
    
    [Service]
    Type=simple
    User=etherpad
    Group=etherpad
    WorkingDirectory=/opt/etherpad-lite
    # ExecStart=/usr/bin/nodejs /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
    ExecStart=/opt/etherpad-lite/bin/run.sh
    Restart=always # use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart.
    
    [Install]
    WantedBy=multi-user.target
    
    systemctl start etherpad.service
    systemctl enable etherpad.service

    如果碰到错误信息,可以尝试在etherpad目录运行

    npm cache clean --force

    手动命令行安装插件参考

    cd etherpad-lite
    npm install ep_

    然后重启Etherpad,插件就会被发现
    手动卸载插件

    npm uninstall ep_

    然后记得重启Etherpad

    Etherpad可以方便的插入到其它系统当中,这里有个sample供你参考(开头需加入<):

    iframe src="http://pad.test.de/p/123" width="600" height="400">If you cut and paste this into any webpage (between the body tags) then etherpad-lite will 'magically' appear.Example
    iframe src="http://pad.test.de/p/123?showChat=false&showLineNumbers=false" width="600" height="400">
  • CentOS 7 x64如何安装内网穿透工具frps服务器端

    首先:下载最新版frp文件

    官方地址:https://github.com/fatedier/frp/releases

    wget https://github.com/fatedier/frp/releases/download/v0.18.0/frp_0.19.1_linux_amd64.tar.gz
    tar -zxvf frp_0.19.1_linux_amd64.tar.gz
    cd frp_0.19.1_linux_amd64

    可以删除掉不必要的客户端文件,只是为了更加简洁而已。

    rm -f frpc frpc_full.ini frpc.ini

    frpc 为客户端文件
    frps 为服务器端文件

    然后配置服务器端文件

    vi frps.ini

    #注意这些port端口号要与客户端frpc的配置文件对应起来

    [common]
    bind_port = 7777
    vhost_http_port = 8888
    dashboard_port = 9999
    dashboard_user = itgeeker
    dashboard_pwd = itgeeker
    max_pool_count = 5
    authentication_timeout = 900
    
    subdomain_host = itgeeker.net
    
    # console or real logFile path like ./frpc.log
    log_file = ./frps.log
    # debug, info, warn, error
    log_level = info
    log_max_days = 3
    
    [ssh]
    listen_port = 8000
    auth_token = itgeekerfrps
    

    详细配置https://github.com/fatedier/frp/blob/master/README_zh.md

    # 保存上面配置文件吗,启动 frp 服务器

    ./frps -c ./frps.ini
    #带log输出
    ./frps -c ./frps.ini -L logs &

    服务端配置结束。若需要后台运行,请看下面“”

    添加开机启动frp服务端 for centos

    方法一:放rc.local里

    chmod +x /etc/rc.d/rc.local && vi /etc/rc.d/rc.local
    #把下面的内容粘贴到文件末尾
    /opt/frp/frps -c /opt/frp/frps.ini

    方法二:Centos 7 Systemd 管理

    $ sudo cp frps /usr/local/bin/frps
    $ sudo mkdir /etc/frp
    $ sudo cp frps.ini /etc/frp/frps.ini
    

    编写 FRP SERVICE 文件,以 CENTOS7 为例
    $ sudo vi /usr/lib/systemd/system/frps.service

    [Unit]
    Description=frps
    After=network.target
    
    [Service]
    TimeoutStartSec=30
    ExecStart=/usr/local/bin/frps -c /etc/frp/frps.ini
    ExecStop=/bin/kill $MAINPID
    
    [Install]
    WantedBy=multi-user.target

    # 启动 FRP 并设置开机启动

    $ sudo systemctl start frps
    $ sudo systemctl enable frps
    $ sudo systemctl status frps

    frps升级

    1. 下载最新版frp文件,
    2. 停止frps服务

    systemctl stop frps

    3. 用新版本覆盖旧版本
    4. 如果使用systemd的,记得覆盖:

    cp frps /usr/local/bin/

    5. 启动新版本frps

    systemctl start frps
  • CentOS 7使用yum安装abiword的正确姿势

    首先选择源码编译安装,碰到几个问题及解决方案

    wget https://www.abisource.com/downloads/abiword/3.0.2/source/abiword-3.0.2.tar.gz
    tar zxvf abiword-3.0.2.tar.gz
    cd abiword-3.0.2
    ./configure --enable-plugins="command" --with-gtk2
    # error1
    configure: error: `png.h’ not found, install libpng or specify CPPFLAGS to include custom locations
    解决方案:yum install libpng-devel
    # error2
    configure: error: jpeg.h not found
    解决方案:yum install libjpeg-devel
    # error3
    configure: error: `boost’ not found.
    解决方案:yum install boost-devel
    编译结果error:
    No package ‘fribidi’ found
    No package ‘glib-2.0’ found
    No package ‘gthread-2.0’ found
    No package ‘gobject-2.0’ found
    No package ‘libgsf-1’ found
    No package ‘wv-1.0’ found
    No package ‘libxslt’ found
    No package ‘cairo-pdf’ found
    No package ‘cairo-ps’ found
    No package ‘pangocairo’ found
    No package ‘gtk+-2.0’ found
    No package ‘gtk+-unix-print-2.0’ found
    No package ‘librsvg-2.0’ found
    No package ‘x11’ found
    解决方案:yum install fribidi glib libgsf libxslt gtk+
    但仍然有很多模块没有,需要一个一个找解决方案,觉得太花时间,果断选择yum安装,结果大部分源都没有abiword这个package。

    yum安装abiword之歪路,使用ELRepo源未果

    一开始查到网上说ELRepo源有abiword,于是找到官方
    Import the public key:
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    To install ELRepo for RHEL-7, SL-7 or CentOS-7:
    rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
    结果没有找到abiword,后来看说明是说要
    rpm -Uvh elrepo-release*rpm
    可能还需要导入elrepo-kernel elrepo-extras elrepo-testing,后来ITGeeker技术奇客转用lux源解决了,所以没有尝试这三个源。

    CentOS 7使用yum安装abiword的正确姿势

    rpm -Uvh http://repo.iotti.biz/CentOS/7/noarch/lux-release-7-1.noarch.rpm
    yum install abiword
    找对方法了,其实很简单。
     # which abiword
     /usr/bin/abiword
     # abiword --plugin=AbiCommand
     AbiWord command line plugin: Type "quit" to exit
     AbiWord:>
  • 请问这和C#有什么关系

    面试官:“熟悉哪种语言”。应聘者:“JAVA”。

    面试官:“知道什么叫类么”。应聘者:“我这人实在,工作努力,不知道什么叫累”。

    面试官:“知道什么是包?”。应聘者:“我这人实在平常不带包也不用公司准备了”。

    面试官:“知道什么是接口吗?”。应聘者:“我这个人工作认真。从来不找借口偷懒”。

    面试官:“知道什么是继承么”。应聘者:“我是孤儿没什么可以继承的”。

    面试官:“知道什么叫对象么?”。应聘者:“知道,不过我工作努力,上进心强,暂时还没有打算找对象。”。

    面试官:“知道多态么?”。应聘者:“知道,我很保守的。我认为让心爱的女人为了自已一时的快乐去堕胎是不道德的行为!请问这和C#有什么关系?”。

     

    via 卢松松博客 http://lusongsong.com/yulu/t/9439.html

奇客罗方公众号 奇客罗方小程序 奇客罗方客服 ITGeeker Telegram

网站由ITGeeker技术奇客开发并管理;隶属于GeekerCloud奇客罗方智能科技
Site designed and developed by ITGeekerwhich is a sub-website of GeekerCloud
网站地图 | 沪ICP备2021031434号-4