分类
Linux

阿里云经典网络升级为专有网络

记得今年上半年,为了复制老服务器(经典网络)的文件到新服务器(专有网络),寻求阿里云的技术支持,结果什么解决方案都给不出,答复说我原先所在的服务器基础设施过于陈旧,所以无法通过内网复制,ITGeeker技术奇客只能通过外网,花了一天一夜才复制完毕。幸亏数据量不大,由此对阿里云的服务器十足的失望了一把。

上周开始,阿里云突然提示说可以把经典网络升级成专有网络了,猜想阿里云对老用户的抱怨应该有所察觉,不能不管已卖掉的老服务器吧。

于是乎赶紧升级了名下唯一的还是经典网络的服务器,过程非常顺利,递交申请后很快就回复,然后就给顺利的升级了。当然升级时有些提示,具体情况还是要根据自己的实际配置来调整配置服务器。

ITGeeker技术奇客升级到专有网络碰到的几个问题:

  • SSH设置了hosts.allow,但是无论如何设置还是无法登录,提示connection refused的错误,最后只能vi /etc/hosts.allow,注释其他所有,添加以下代码解决。
ssh: ALL
  • 服务器装有LDAP服务,阿里云升级到专有网络后,本地的ip地址也更改了,所以还要修改hosts文件,把老的内网ip替换为新的内网ip,否则你的ldap可能会提示错误。
Starting ldap...Done. Failed. Failed to start slapd. Attempting debug start to determine error. 5c16fedd daemon: bind(7) failed errno=99 (Cannot assign requested address) 5c16fedd daemon: bind(7) failed errno=99 (Cannot assign requested address) 5c16fedd slap_open_listener: failed on ldap
  • 再有就是要创建一个专有网络的安全规则,和之前的经典网络安全规则不通用。正好可以清理一下之前不必要的port通行,顺便也看看iptables吧,如果你还是使用CentOs 6 版本的防火墙。
分类
Zimbra

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

升级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