2019年1月

LANG=C导致CentOS7中文乱码的处理方法

LANG=C导致CentOS7中文乱码的处理方法

前言

  配置新购的VPS过程中发现中文显示是乱码,因是国外服务商,怀疑系统没有中文字符导致,网上查资料发现确实如此,特将解决方法记录。  

处理过程

1:执行locale命令,查看系统当前的语言环境,看到如下回显信息:
LANG=C
由此判断当前语言环境是C,是ASCII码环境,我们要把语言环境设置成中文中国。

2:执行以下命令查看当前系统是否有中文语言包:
locale -a | grep zh_CN*
如果有显示以下内容,表示系统已经包含了中文语言包。
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
若没有以上信息回显,可以运行以下命令安装中文语言包:
yum install kde-l10n-Chinese

3:运行以下命令使用vi打开locale.conf文件:
vi /etc/locale.conf
vi编辑器的使用方法:打开后按i键进入插入输入模式,使用上下左右键移动光标到需要修改的位置后面,按Backspace键删除前面要删除的内容。然后使用键盘输入新的内容。内容输入完毕后按ESC退出输入模式,使用键盘组合键输入":"符号,后跟字母"wq",按Enter保存文件并退出vi编辑器。

将打开的文件中LANG=C修改为:
LANG="zh_CN.UTF-8"
然后退出vi编辑器。

4:执行以下命令应用配置文件:
source /etc/locale.conf

5:再次执行locale命令查看当前语言环境:
[root@Test]# locale
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
回显信息如上所示,即表示语言环境修改成功。

[译]在CentOS7上安装Mumble的服务器端

在CentOS7上安装Mumble的服务器端

前言

最近研究了一下Mumble,使用Mumble能建立加密的语音通信。不敢独享,特翻译官方wiki文档Installation of murmur server on CentOS 7 (RHEL 7) using the static mumble server.如下。


正文:

在CentOS7上安装Mumble的服务器端murmur


在CentOS7(RHEL7)上使用static mumble server安装包配置murmur 服务端

目录

1 安装

2 系统配置

  • 2.1 配置Murmur.ini文件
  • 2.2 允许作为后台进程运行
  • 2.3 配置日志滚动
  • 2.4 防火墙
  • 2.5 SELinux
  • 2.6 完成并启动

安装

下载Static Murmur Server,然后运行以下命令安装:

tar -vxjf ./murmur-static_x86-1.2.8.tar.bz2
sudo mkdir /usr/local/murmur
sudo cp -r ./murmur-static_x86-1.2.8/* /usr/local/murmur/
sudo cp ./murmur-static_x86-1.2.8/murmur.ini /etc/murmur.ini

现在创建murmur用户和组,以及数据目录和日志记录目录:

sudo groupadd -r murmur
sudo useradd -r -g murmur -m -d /var/lib/murmur -s /sbin/nologin murmur
sudo mkdir /var/log/murmur
sudo chown murmur:murmur /var/log/murmur
sudo chmod 0770 /var/log/murmur

系统配置

Murmur.ini

确保在/etc/murmur.ini文件中正确配置了以下设置:

database=/var/lib/murmur/murmur.sqlite
logfile=/var/log/murmur/murmur.log
pidfile=/var/run/murmur/murmur.pid
# Reminder: When changing the port that murmur will listen to you will need to also update the firewall.
# Update the firewall by editing /etc/firewalld/services/murmur.xml
# Then run "sudo firewall-cmd --reload"
port=64738
# Comment out the following setting since the service will already be executing as the correct user:
# uname=murmur

允许作为后台进程运行

创建一个 systemd unit 文件,以便操作系统可以管理murmur服务。 使用您的文本编辑器,创建文件'/etc/systemd/system/murmur.service'(需要root权限)。 复制并粘贴以下内容:

[Unit]
Description=Mumble Server (Murmur)
Requires=network-online.target
After=network-online.target mariadb.service time-sync.target

[Service]
User=murmur
Type=forking
ExecStart=/usr/local/murmur/murmur.x86 -ini /etc/murmur.ini
PIDFile=/var/run/murmur/murmur.pid
ExecReload=/bin/kill -s HUP $MAINPID

[Install]
WantedBy=multi-user.target

在新系统上 /var/run 在重启后被丢弃。 要重新生成murmur的pid目录,请以root身份创建配置文件 “/etc/tmpfiles.d/murmur.conf” 并复制粘贴以下内容:

d /var/run/murmur 775 murmur murmur

配置日志滚动

配置logrotate,以致murmur的日志不填满 /var/log 。 以root身份创建 '/etc/logrotate.d/murmur' 配置文件并复制并粘贴以下内容:

/var/log/murmur/*log {
    su murmur murmur
    dateext
    rotate 4
    missingok
    notifempty
    sharedscripts
    delaycompress
    postrotate
        /bin/systemctl reload murmur.service > /dev/null 2>/dev/null || true
    endscript
}

防火墙

配置firewalld以便它允许服务侦听 TCP/UDP 。如果您修改了murmur.ini以便它侦听非默认端口,那么您在此步骤需要修改对应端口以适配您对murmur.ini的修改。 以root用户身份创建配置文件'/etc/firewalld/services/murmur.xml'并复制粘贴以下内容:

<?xml version="1.0" encoding="utf-8"?>
<service>
        <short>Murmur</short>
        <description>Mumble Server (Murmur)</description>
        <port protocol="tcp" port="64738" /><!-- Reminder: Update /etc/murmur.ini so that it uses the same ports -->
        <port protocol="udp" port="64738" />
</service>

然后运行以下命令将防火墙规则添加到默认区域,并重新加载:

sudo firewall-cmd --permanent --add-service=murmur
sudo firewall-cmd --reload

SELinux

注意:请先尝试在SELinux强制模式下运行murmur。在RHEL或CentOS 7.2以上系统中,SELinux似乎不再阻止murmur的运行 。 如有异常,请在'/var/log/audit/audit.log'中检查与murmur相关的AVC条目。

注意:此处列出的步骤可能会使安全人士感到畏缩。 如果有人有时间和耐心解决SELinux,请考虑使用适当的解决方案更新本文档。

SELinux默认会阻止murmur正常运作。 快速简便的解决方案是简单地禁用它。 要暂时禁用(直到下次重新启动),请运行以下命令:

sudo setenforce 0

要永久禁用(在下次重启后),请编辑 '/etc/sysconfig/selinux' 并将“SELINUX”行更改为:

SELINUX=disabled

完成并运行

更新您的系统配置,以便它可以启动 murmur 服务:

sudo systemd-tmpfiles --create /etc/tmpfiles.d/murmur.conf
sudo systemctl daemon-reload

要暂时启动 murmur 服务(直到下次重启),请运行:

sudo systemctl start murmur.service

告诉系统自动启动murmur服务(这不会立即运行murmur,而是在下次重启时启动):

sudo systemctl enable murmur.service

警告:如果在启动Murmur时遇到僵尸进程(zombie process),则必须安装redhat-lsb-core软件包。

参考链接:

Install CentOS7-wiki.mumble.info

Installing Mumble-wiki.mumble.info

[译]获取Comodo免费邮件证书

[译]获取Comodo免费邮件证书

前言

  最近因需要找一款免费的邮件证书,用来签名word文档,以此保证文档没有被修改。又恰好学习通过Mumble搭建语音聊天服务,在官方wiki中看到这篇名为《Obtaining a Comodo Certificate》的文档。文中提到的Comodo S/MIME email certificate证书可以用来为word文档签名,为邮件加密等。感觉本文非常实用,特翻译。

原文链接
https://www.instantssl.com/ssl-certificate-products/free-email-certificate.html

正文

获取Comodo证书

  本文介绍了获取用户证书的过程。证书将代表用户拥有他指定的电子邮件地址的信任。

  服务端使用不同种类的证书来进行认证。 如果您正在寻找服务器证书,本指南不适合您。

使用Internet Explorer从Comodo(Instantssl)获取Class 1证书

注意:
使用Chrome / Safari(基于webkit)获取证书似乎最初的操作可以正常进行,但最终会得到一个不完整的证书包! 考虑使用其他浏览器替代。

译注:本人使用Internet Explorer11导出的证书也不能正常工作,但是使用Firefox导出的证书可正常使用,推荐使用Firefox浏览器进行操作

Comodo支持通过IE,Firefox,Opera和Flock等浏览器获取证书。

  1:请访问http://www.instantssl.com/ssl-certificate-products/free-email-certificate.html
  2:点击“Free Email Certificate”旁边的“GET NOW”按钮。

  3:填入你的信息。

译注:网页中的First Name项中填入名字,Last Name项内填入姓,Email Address中填入电子邮箱地址(重要信息,证书与电邮地址绑定,必须正确),Country下拉菜单中选择国家,比如选择China。

译注:Private Key Options下方的设置中,Revocation Passwrod处需要设置一个密码,其用于保障在您认为证书失去安全性时,可以通过这个密码保证只有您有权吊销证书。

  4:填写完毕后勾选“ I ACCEPT the terms of this Subscriber Agreement. ”,点击"NEXT>"按钮继续。网页会提醒后续具体的证书获取已经发送到您设置的邮箱中了。

  5:等待确认邮件送达您的邮箱中。

  6:按照邮件中的说明(或转到此链接)。

  7:输入您的电子邮件地址和邮件中提供的Collection Password。

  8:这样证书将被成功收集并安装到浏览器中。

  将证书导出到文件:

  9:导出证书到文件:

导出证书(Internet Explorer 8)

  打开“工具” - >“Internet选项” - >“内容” - >“证书” - >“个人”,然后从列表中找到并选定您的证书。如果这是您的第一个证书,它将以名称“UTN-USERFirst-Client Authentication and Email”的形式列出。单击“导出” - >“下一步” - >“是,导出私钥” - >“下一步” - >“下一步”。设置文件密码,然后单击“下一步”,设置此备份文件的名称并将其保存在已知的位置。

导出证书(Firefox 3.5)

  选择“首选项” - >“高级” - >“加密” - >“查看证书”,选择“您的证书”选项卡,然后从列表中找到您的证书。证书将以“UTN-USERFirst-Client Authentication and Email”作为名称列出。选择证书并单击“备份”,选择此备份文件的名称,提供密码并将其保存在已知位置。

导出证书(Opera 10.10)

  选择“工具” - >“首选项” - >“高级”(选项卡) - >“安全” - >“管理证书”(按钮) - >“个人”(选项卡)选择您的证书并单击“导出”(按钮) 。

译注:导出证书(Firefox 64.0)

  选择“选项” - >“隐私与安全” - >“证书” - >“查看证书”,选择“您的证书”选项卡,然后从列表中找到您的证书。证书将以“UTN-USERFirst-Client Authentication and Email”作为名称列出。选择证书并单击“备份”,选择此备份文件的名称,设置密码并将其保存在已知位置。

将证书从文件导入Mumble

  1:选择 “配置” -> “证书向导”;

  2:选择“导入证书”,点击下一步;

  3:点击“导入自”后的“打开”,找到并选择证书文件。 它应以.p12或.pfx结尾,具体取决于导出证书的浏览器。

  4:输入您导出时设置的证书密码;

  5:现在证书详细信息应该会显示在下方。确认它是正确的证书,点击下一步;

  6:按“下一步”确认您要更换证书;

  7:搞定! 按完成关闭本向导。

安装证书后无法连接服务器

  如果您安装证书后无法连接并且服务器日志中出现以下记录:“SSL Error: The root CA certificate is not trusted for this purpose(SSL错误:根CA CA证书不可信任)”,这通常是由于导出的证书包不完整造成的。

  请尝试使用Firefox浏览器重新获取证书,并导出证书。 已知问题,Chrome和Safari会创建不完整的证书包。

译文结束

参考资料

1:Obtaining a Comodo Certificate

https://wiki.mumble.info/wiki/Obtaining_a_Comodo_Certificate

2:Free Email Certificates

https://www.instantssl.com/ssl-certificate-products/free-email-certificate.html

3:S/MIME

https://zh.wikipedia.org/wiki/S/MIME