如何在 Ubuntu 15.04 上安装带 JSON 支持的 SQLite 3.9.1
欢迎阅读我们关于SQLite 的文章，SQLite 是当今世界上使用最广泛的 SQL 数据库引擎，它基本不需要配置，不需要设置或管理就可以运行。SQLite 是一个是 公开领域 （ public-domain ） 的软件，是一个关系型数据库管理系统（RDBMS），用来在一个大数据表中存储用户定义的记录。对于数据存储和管理来说，数据库引擎要处理复杂的查询命令，这些命令可能会从多个表获取数据然后生成报告和数据总结。SQLite 是一个非常小、轻量级，不需要独立的服务进程或系统。它可以运行在 UNIX，Linux，Mac OS-X，Android，iOS 和 Windows 上，已经被大量的软件程序使用，如 Opera, Ruby On Rails, Adobe System, Mozilla Firefox, Google Chrome 和 Skype。1) 基本需求:在绝大部分支持 SQLite 的平台上安装 SQLite 基本上并没有复杂的要求。让我们在 CLI 或者 Secure Shell 上使用 sudo 或者 root 权限登录 Ubuntu 服务器。然后更新系统，这样子就可以让操作系统的软件更新到新版本。在 Ubuntu 上，使用如下的命令来更新系统的软件源。# apt-get update 如果你要在新安装的 Ubuntu 上部署 SQLite，那么你需要安装一些基础的系统管理工具，如 wget, make, unzip, gcc。要安装 wget，可以使用下面的命令，如果系统提示的话，输入 Y ：# apt-get install wget make gcc 2) 下载 SQLite要下载 SQLite ，最好是在 SQLite 官网下载，如下所示你也可以直接复制资源的连接然后在命令行使用 wget 下载，如下所示：# wget https://www.sqlite.org/2015/sqlite-autoconf-3090100.tar.gz 下载完成之后，解压缩安装包，切换工作目录到解压缩后的 SQLite 目录，使用下面的命令。# tar -zxvf sqlite-autoconf-3090100.tar.gz 3) 安装 SQLite现在我们要开始安装、配置刚才下载的 SQLite。在 Ubuntu 上编译、安装 SQLite，运行配置脚本：root@ubuntu-15:~/sqlite-autoconf-3090100# ./configure –prefix=/usr/local 配置要上面的安装位置前缀（prefix）之后，运行下面的命令编译安装包。root@ubuntu-15:~/sqlite-autoconf-3090100# make source='sqlite3.c' object='sqlite3.lo' libtool=yes \ DEPDIR=.deps depmode=none /bin/bash ./depcomp \ /bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"sqlite\" -DPACKAGE_TARNAME=\"sqlite\" -DPACKAGE_VERSION=\"3.9.1\" -DPACKAGE_STRING=\"sqlite\ 3.9.1\" -DPACKAGE_BUGREPORT=\"http://www.sqlite.org\" -DPACKAGE_URL=\"\" -DPACKAGE=\"sqlite\" -DVERSION=\"3.9.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_FDATASYNC=1 -DHAVE_USLEEP=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_DECL_STRERROR_R=1 -DHAVE_STRERROR_R=1 -DHAVE_POSIX_FALLOCATE=1 -I. -D_REENTRANT=1 -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_RTREE -g -O2 -c -o sqlite3.lo sqlite3.c 运行完上面的命令之后，要在 Ubuntu 上完成 SQLite 的安装得运行下面的命令。# make install 4) 测试 SQLite 安装要保证 SQLite 3.9 安装成功了，运行下面的命令。# sqlite3 SQLite 的版本会显示在命令行。5) 使用 SQLiteSQLite 很容易上手。要获得详细的使用方法，在SQLite 控制台里输入下面的命令。sqlite> .help 这里会显示全部可用的命令和详细说明。现在开始最后一部分，使用一点 SQLite 命令创建数据库。要创建一个新的数据库需要运行下面的命令。# sqlite3 test.db 然后创建一张新表。sqlite> create table memos(text, priority INTEGER); 接着使用下面的命令插入数据。sqlite> insert into memos values('deliver project description', 15); sqlite> insert into memos values('writing new artilces', 100); 要查看插入的数据可以运行下面的命令。sqlite> select * from memos; deliver project description|15 writing new artilces|100 或者使用下面的命令离开。sqlite> .exit 结论通过本文你可以了解如果安装支持 JSON1 的最新版的 SQLite，SQLite 从 3.9.0 开始支持 JSON1。这是一个非常棒的库，可以内嵌到应用程序，利用它可以很有效而轻量的管理资源。我们希望你能觉得本文有所帮助，请随意地向我们反馈你遇到的问题和困难。via: http://linoxide.com/ubuntu-how-to/install-sqlite-json-ubuntu-15-04/作者：Kashif Siddique 译者：oska874 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
测试管理 （ Test Management ） 指测试人员所需要的任何的所有东西。测试管理工具用来记录测试执行的结果、计划测试活动以及汇报质量控制活动的情况。在这篇文章中我们会向你介绍如何配置 Zephyr 测试管理工具，它包括了管理测试活动需要的所有东西，不需要单独安装测试活动所需要的应用程序从而降低测试人员不必要的麻烦。一旦你安装完它，你就看可以用它跟踪 bug 和缺陷，和你的团队成员协作项目任务，因为你可以轻松地共享和访问测试过程中多个项目团队的数据。Zephyr 要求安装和运行 Zephyr 要求满足以下最低条件。可以根据你的基础设施提高资源。我们会在 64 位 CentOS-7 系统上安装 Zephyr，几乎在所有的 Linux 操作系统中都有可用的 Zephyr 二进制发行版。注：表格 Zephyr test management toolLinux OSCentOS Linux 7 (Core), 64-bit PackagesJDK 7 或更高 , Oracle JDK 6 update没有事先安装的 Tomcat 和 MySQLRAM4 GB推荐 8 GBCPU2.0 GHZ 或更高Hard Disk30 GB , 至少 5GB安装 Zephyr 要求你有超级用户（root）权限，并确保你已经正确配置了网络的静态 IP ，默认端口必须可用并允许通过防火墙。其中 tomcat 会使用 80/443、 8005、 8009、 8010 端口， Zephyr 内部使用 RTMP 协议的 flex 会使用 443 和 2099 号端口。安装 Java JDK 7安装 Zephyr 首先需要安装 Java JDK 7，如果你的系统上还没有安装，可以按照下面的方法安装 Java 并设置 JAVA\_HOME 环境变量。输入以下的命令安装 Java JDK 7。[root@centos-007 ~]# yum install java-1.7.0-openjdk-1.7.0.79-2.5.5.2.el7_1 [root@centos-007 ~]# yum install java-1.7.0-openjdk-devel-1.7.0.85-2.6.1.2.el7_1.x86_64 安装完 java 和它的所有依赖后，运行下面的命令设置 JAVA\_HOME 环境变量。[root@centos-007 ~]# export JAVA_HOME=/usr/java/default [root@centos-007 ~]# export PATH=/usr/java/default/bin:$PATH 用下面的命令检查 java 版本以验证安装。[root@centos-007 ~]# java –version java version "1.7.0_79" OpenJDK Runtime Environment (rhel-2.5.5.2.el7_1-x86_64 u79-b14) OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode) 输出显示我们已经正确安装了 1.7.0\_79 版本的 OpenJDK Java。安装 MySQL 5.6.x如果的机器上有其它的 MySQL，建议你先卸载它们并安装这个版本，或者升级它们的 模式 （ schemas ） 到指定的版本。因为 Zephyr 前提要求这个指定的 5.6.x 版本的 MySQL ，要有 root 用户名。可以按照下面的步骤在 CentOS-7.1 上安装 MySQL 5.6 ：下载 rpm 软件包，它会为安装 MySQL 服务器创建一个 yum 库文件。[root@centos-007 ~]# yum install wget [root@centos-007 ~]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 然后用 rpm 命令安装下载下来的 rpm 软件包。[root@centos-007 ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm 安装完这个软件包后你会有两个和 MySQL 相关的新的 yum 库。然后使用 yum 命令安装 MySQL Server 5.6，它会自动安装所有需要的依赖。[root@centos-007 ~]# yum install mysql-server 安装过程完成之后，运行下面的命令启动 mysqld 服务并检查它的状态是否激活。[root@centos-007 ~]# service mysqld start [root@centos-007 ~]# service mysqld status 对于全新安装的 MySQL 服务器，MySQL root 用户的密码为空。为了安全起见，我们应该重置 MySQL root 用户的密码。用自动生成的空密码连接到 MySQL 并更改 root 用户密码。[root@centos-007 ~]# mysql mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your_password'); mysql> flush privileges; mysql> quit; 现在我们需要在 MySQL 默认的配置文件中配置所需的数据库参数。打开 "/etc/" 目录中的文件并按照下面那样更新。[root@centos-007 ~]# vi /etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock symbolic-links=0 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES max_allowed_packet=150M max_connections=600 default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_unicode_ci [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid default-storage-engine=INNODB character-set-server=utf8 collation-server=utf8_unicode_ci [mysql] max_allowed_packet = 150M [mysqldump] quick 保存配置文件中的更新并重启 mysql 服务。[root@centos-007 ~]# service mysqld restart 下载 Zephyr 安装包我们已经安装完了安装 Zephyr 所需要的软件包。现在我们需要获取 Zephyr 二进制发布包和它的许可证密钥。到 Zephyr 官方下载链接 http://download.yourzephyr.com/linux/download.php 输入你的电子邮件 ID 并点击下载。然后确认你的电子邮件地址，你会获得 Zephyr 下载链接和它的许可证密钥链接。点击提供的链接从服务器中选择和你操作系统合适的版本下载二进制安装包以及许可证文件。我们把它下载到 home 目录并更改它的权限为可执行。开始安装和配置 Zephyr现在我们通过执行它的二进制安装脚本开始安装 Zephyr。[root@centos-007 ~]# ./zephyr_4_7_9213_linux_setup.sh –c 一旦你运行了上面的命令，它会检查是否正确配置了 Java 环境变量。如果配置不正确，你可能会看到类似下面的错误。testing JVM in /usr ... Starting Installer ... Error : Either JDK is not found at expected locations or JDK version is mismatched. Zephyr requires Oracle Java Development Kit (JDK) version 1.7 or higher. 如果你正确配置了 Java，它会开始安装 Zephyr 并要求你输入 “o” 继续或者输入 “c” 取消安装。让我们敲击 “o” 并输入回车键开始安装。下一个选项是检查安装 Zephyr 所有的要求，输入回车进入下一个选项。输入 “1” 并回车同意许可证协议。I accept the terms of this license agreement [1], I do not accept the terms of this license agreement [2, Enter] 我们需要选择安装 Zephyr 合适的目标位置以及默认端口，如果你想用默认端口之外的其它端口，也可以在这里配置。然后自定义 mysql 数据库参数并给出配置文件的正确路径。在这一步你可能看到类似下面的错误。Please update MySQL configuration. Configuration parameter max_connection should be at least 500 (max_connection = 500) and max_allowed_packet should be at least 50MB (max_allowed_packet = 50M). 要消除这个错误，你要确保在 mysql 配置文件中正确配置了 "max\_connection" 和 "max\_allowed\_packet" 参数。运行所示的命令连接到数据库确认这些设置。当你正确配置了 mysql 数据库，它会提取配置文件并完成安装。安装过程在你的计算机上成功的安装了 Zephyr 4.7。要启动 Zephyr 桌面，输入 “y” 完成 Zephyr 安装。启动 Zephyr 桌面打开你的 web 浏览器并用你的本机 IP 地址启动 Zephyr 桌面，你会被导向 Zephyr 桌面。http://your_server_IP/zephyr/desktop/ 从 Zephyr 仪表盘点击 "Test Manager" 并用默认的用户名和密码 "test.manager" 登录。你登录进去后你就可以配置你的管理设置了。根据你的环境选择你想要的设置。完成管理设置后保存设置，资源管理和项目配置也类似，然后开始使用 Zephyr 作为你的测试管理工具吧。如图所示在 Department Dashboard Management 中检查和编辑管理设置状态。总结好了！ 我们已经在 CentOS 7.1 上安装完了 Zephyr。我们希望你能更加深入了解 Zephyr 测试管理工具，它提供简化测试流程、允许快速访问数据分析、协作工具以及多个项目成员之间交流。如果在你的环境中遇到任何问题，欢迎和我们联系。via: http://linoxide.com/linux-how-to/setup-zephyr-tool-centos-7-x/作者：Kashif Siddique 译者：ictlyh 校对：wxy本文由 LCTT 原创翻译，Linux中国 荣誉推出
Ceph 是一个将数据存储在单一分布式计算机集群上的开源软件平台。当你计划构建一个云时，你首先需要决定如何实现你的存储。开源的 Ceph 是红帽原生技术之一，它基于称为 RADOS 的对象存储系统，用一组网关 API 表示块、文件、和对象模式中的数据。由于它自身开源的特性，这种便携存储平台能在公有云和私有云上安装和使用。Ceph 集群的拓扑结构是按照备份和信息分布设计的，这种内在设计能提供数据完整性。它的设计目标就是容错、通过正确配置能运行于商业硬件和一些更高级的系统。Ceph 能在任何 Linux 发行版上安装，但为了能正确运行，它需要最近的内核以及其它最新的库。在这篇指南中，我们会使用最小化安装的 CentOS-7.0。系统资源**CEPH-STORAGE** OS: CentOS Linux 7 (Core) RAM:1 GB CPU:1 CPU DISK: 20 Network: 45.79.136.163 FQDN: ceph-storage.linoxide.com **CEPH-NODE** OS: CentOS Linux 7 (Core) RAM:1 GB CPU:1 CPU DISK: 20 Network: 45.79.171.138 FQDN: ceph-node.linoxide.com 安装前的配置在安装 Ceph 存储之前，我们要在每个节点上完成一些步骤。第一件事情就是确保每个节点的网络已经配置好并且能相互访问。配置 Hosts要在每个节点上配置 hosts 条目，要像下面这样打开默认的 hosts 配置文件（LCTT 译注：或者做相应的 DNS 解析）。# vi /etc/hosts 45.79.136.163 ceph-storage ceph-storage.linoxide.com 45.79.171.138 ceph-node ceph-node.linoxide.com 安装 VMware 工具工作环境是 VMWare 虚拟环境时，推荐你安装它的 open VM 工具。你可以使用下面的命令安装。# yum install -y open-vm-tools 配置防火墙如果你正在使用启用了防火墙的限制性环境，确保在你的 Ceph 存储管理节点和客户端节点中开放了以下的端口。你必须在你的 Admin Calamari 节点开放 80、2003、以及4505-4506 端口，并且允许通过 80 号端口访问到 Ceph 或 Calamari 管理节点，以便你网络中的客户端能访问 Calamari web 用户界面。你可以使用下面的命令在 CentOS 7 中启动并启用防火墙。# systemctl start firewalld # systemctl enable firewalld 运行以下命令使 Admin Calamari 节点开放上面提到的端口。# firewall-cmd --zone=public --add-port=80/tcp --permanent # firewall-cmd --zone=public --add-port=2003/tcp --permanent # firewall-cmd --zone=public --add-port=4505-4506/tcp --permanent # firewall-cmd --reload 在 Ceph Monitor 节点，你要在防火墙中允许通过以下端口。# firewall-cmd --zone=public --add-port=6789/tcp --permanent 然后允许以下默认端口列表，以便能和客户端以及监控节点交互，并发送数据到其它 OSD。# firewall-cmd --zone=public --add-port=6800-7300/tcp --permanent 如果你工作在非生产环境，建议你停用防火墙以及 SELinux 设置，在我们的测试环境中我们会停用防火墙以及 SELinux。# systemctl stop firewalld # systemctl disable firewalld 系统升级现在升级你的系统并重启使所需更改生效。# yum update # shutdown -r 0 设置 Ceph 用户现在我们会新建一个单独的 sudo 用户用于在每个节点安装 ceph-deploy工具，并允许该用户无密码访问每个节点，因为它需要在 Ceph 节点上安装软件和配置文件而不会有输入密码提示。运行下面的命令在 ceph-storage 主机上新建有独立 home 目录的新用户。[root@ceph-storage ~]# useradd -d /home/ceph -m ceph [root@ceph-storage ~]# passwd ceph 节点中新建的每个用户都要有 sudo 权限，你可以使用下面展示的命令赋予 sudo 权限。[root@ceph-storage ~]# echo "ceph ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ceph ceph ALL = (root) NOPASSWD:ALL [root@ceph-storage ~]# sudo chmod 0440 /etc/sudoers.d/ceph 设置 SSH 密钥现在我们会在 Ceph 管理节点生成 ssh 密钥并把密钥复制到每个 Ceph 集群节点。在 ceph-node 运行下面的命令复制它的 ssh 密钥到 ceph-storage。[root@ceph-node ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 5b:*:*:*:*:*:*:*:*:*:c9 root@ceph-node The key's randomart image is: +--[ RSA 2048]----+ [root@ceph-node ~]# ssh-copy-id ceph@ceph-storage 配置 PID 数目要配置 PID 数目的值，我们会使用下面的命令检查默认的内核值。默认情况下，是一个小的最大线程数 32768。如下图所示通过编辑系统配置文件配置该值为一个更大的数。配置管理节点服务器配置并验证了所有网络后，我们现在使用 ceph 用户安装 ceph-deploy。通过打开文件检查 hosts 条目（LCTT 译注：你也可以用 DNS 解析来完成）。# vim /etc/hosts ceph-storage 45.79.136.163 ceph-node 45.79.171.138 运行下面的命令添加它的库。# rpm -Uhv http://ceph.com/rpm-giant/el7/noarch/ceph-release-1-0.el7.noarch.rpm 或者创建一个新文件并更新 Ceph 库参数，别忘了替换你当前的 Release 和版本号。[root@ceph-storage ~]# vi /etc/yum.repos.d/ceph.repo [ceph-noarch] name=Ceph noarch packages baseurl=http://ceph.com/rpm-{ceph-release}/{distro}/noarch enabled=1 gpgcheck=1 type=rpm-md gpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc 之后更新你的系统并安装 ceph-deploy 软件包。安装 ceph-deploy 软件包我们运行下面的命令以及 ceph-deploy 安装命令来更新系统以及最新的 ceph 库和其它软件包。#yum update -y && yum install ceph-deploy -y 配置集群使用下面的命令在 ceph 管理节点上新建一个目录并进入新目录，用于收集所有输出文件和日志。# mkdir ~/ceph-cluster # cd ~/ceph-cluster # ceph-deploy new storage 如果成功执行了上面的命令，你会看到它新建了配置文件。现在配置 Ceph 默认的配置文件，用任意编辑器打开它并在会影响你公共网络的 global 参数下面添加以下两行。# vim ceph.conf osd pool default size = 1 public network = 45.79.0.0/16 安装 Ceph现在我们准备在和 Ceph 集群关联的每个节点上安装 Ceph。我们使用下面的命令在 ceph-storage 和 ceph-node 上安装 Ceph。# ceph-deploy install ceph-node ceph-storage 处理所有所需仓库和安装所需软件包会需要一些时间。当两个节点上的 ceph 安装过程都完成后，我们下一步会通过在相同节点上运行以下命令创建监视器并收集密钥。# ceph-deploy mon create-initial 设置 OSD 和 OSD 守护进程现在我们会设置磁盘存储，首先运行下面的命令列出你所有可用的磁盘。# ceph-deploy disk list ceph-storage 结果中会列出你存储节点中使用的磁盘，你会用它们来创建 OSD。让我们运行以下命令，请使用你的磁盘名称。# ceph-deploy disk zap storage:sda # ceph-deploy disk zap storage:sdb 为了最后完成 OSD 配置，运行下面的命令配置日志磁盘以及数据磁盘。# ceph-deploy osd prepare storage:sdb:/dev/sda # ceph-deploy osd activate storage:/dev/sdb1:/dev/sda1 你需要在所有节点上运行相同的命令，它会清除你磁盘上的所有东西。之后为了集群能运转起来，我们需要使用以下命令从 ceph 管理节点复制不同的密钥和配置文件到所有相关节点。# ceph-deploy admin ceph-node ceph-storage 测试 Ceph我们快完成了 Ceph 集群设置，让我们在 ceph 管理节点上运行下面的命令检查正在运行的 ceph 状态。# ceph status # ceph health HEALTH_OK 如果你在 ceph status 中没有看到任何错误信息，就意味着你成功地在 CentOS 7 上安装了 ceph 存储集群。总结在这篇详细的文章中我们学习了如何使用两台安装了 CentOS 7 的虚拟机设置 Ceph 存储集群，这能用于备份或者作为用于其它虚拟机的本地存储。我们希望这篇文章能对你有所帮助。当你试着安装的时候记得分享你的经验。via: http://linoxide.com/storage/setup-red-hat-ceph-storage-centos-7-0/作者：Kashif Siddique 译者：ictlyh 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
IonCube Loaders是一个PHP中用于加解密的工具，并带有加速页面运行的功能。它也可以保护你的PHP代码不会查看和运行在未授权的计算机上。要使用ionCube编码、加密的PHP文件，需要在web服务器上安装一个叫ionCube Loader的文件，并需要让 PHP 可以访问到，很多 PHP 应用都在用它。它可以在运行时读取并执行编码过后的代码。PHP只需在‘php.ini’中添加一行就可以使用这个loader。前提条件在这篇文章中，我们将在Ubuntu14.04/15.04安装Ioncube Loaders ，以便它可以在所有PHP模式中使用。本教程的唯一要求就是你系统安装了LEMP，并有“php.ini”文件。下载 IonCube Loader根据你系统的架构是32位或者64位来下载最新的IonCube loader包。你可以用超级用户权限或者root用户运行下面的命令。# wget http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz 下载完成后用下面的命令解压到“/usr/local/src/"。# tar -zxvf ioncube_loaders_lin_x86-64.tar.gz -C /usr/local/src/ 解压完成后我们就可以看到所有提供的模块。但是我们只需要我们所安装的PHP版本的对应模块。要检查PHP版本，你可以运行下面的命令来找出相应的模块。# php -v 根据上面的命令我们知道我们安装的是PHP 5.6.4，因此我们需要拷贝合适的模块到PHP模块目录下。首先我们在“/usr/local/”创建一个叫“ioncube”的目录并复制所需的ioncube loader到这里。root@ubuntu-15:/usr/local/src/ioncube# mkdir /usr/local/ioncube root@ubuntu-15:/usr/local/src/ioncube# cp ioncube_loader_lin_5.6.so ioncube_loader_lin_5.6_ts.so /usr/local/ioncube/ PHP 配置我们要在位于"/etc/php5/cli/"文件夹下的"php.ini"中加入如下的配置行并重启web服务和php模块。# vim /etc/php5/cli/php.ini 此时我们安装的是nginx，因此我们用下面的命令来重启服务。# service php5-fpm restart # service nginx restart 测试 IonCube Loader要为我们的网站测试ioncube loader。用下面的内容创建一个"info.php"文件并放在网站的web目录下。# vim /usr/share/nginx/html/info.php 加入phpinfo的脚本后重启web服务后用域名或者ip地址访问“info.php”。你会在最下面的php模块信息里看到下面这段。在终端中运行下面的命令来验证php版本并显示PHP Loader已经启用了。# php -v 上面的php版本输出明显地显示了IonCube loader已经成功与PHP集成了。总结教程的最后你已经了解了如何在安装有nginx的Ubuntu中安装和配置ionCube Loader，如果你正在使用其他的web服务，这与其他服务没有明显的差别。因此安装Loader是很简单的，并且在大多数服务器上的安装都不会有问题。然而并没有一个所谓的“标准PHP安装”，服务可以通过许多方式安装，并启用或者禁用功能。如果你是在共享服务器上，那么确保运行了ioncube-loader-helper.php脚本，并点击链接来测试运行时安装。如果安装时你仍然遇到了问题，欢迎联系我们及给我们留下评论。via: http://linoxide.com/ubuntu-how-to/setup-ioncube-loaders-ubuntu-14-04-15-04/作者：Kashif Siddique 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
大家好，Node.JS 4.0 发布了，这个流行的服务器端 JS 平台合并了 Node.js 和 io.js 的代码，4.0 版就是这两个项目结合的产物——现在合并为一个代码库。这次最主要的变化是 Node.js 封装了4.5 版本的 Google V8 JS 引擎，与当前的 Chrome 所带的一致。所以，紧跟 V8 的发布可以让 Node.js 运行的更快、更安全，同时更好的利用 ES6 的很多语言特性。Node.js 4.0 发布的主要目标是为 io.js 用户提供一个简单的升级途径，所以这次并没有太多重要的 API 变更。下面的内容让我们来看看如何轻松的在 ubuntu server 上安装、配置 Node.js。基础系统安装Node 在 Linux，Macintosh，Solaris 这几个系统上都可以完美的运行，linux 的发行版本当中使用 Ubuntu 相当适合。这也是我们为什么要尝试在 ubuntu 15.04 上安装 Node.js，当然了在 14.04 上也可以使用相同的步骤安装。1) 系统资源Node.js 所需的基本的系统资源取决于你的架构需要。本教程我们会在一台 1GB 内存、 1GHz 处理器和 10GB 磁盘空间的服务器上进行，最小安装即可，不需要安装 Web 服务器或数据库服务器。2) 系统更新在我们安装 Node.js 之前，推荐你将系统更新到最新的补丁和升级包，所以请登录到系统中使用超级用户运行如下命令：# apt-get update 3) 安装依赖Node.js 仅需要你的服务器上有一些基本系统和软件功能，比如 'make'、'gcc'和'wget' 之类的。如果你还没有安装它们，运行如下命令安装：# apt-get install python gcc make g++ wget 下载最新版的Node JS v4.0.0访问链接 Node JS Download Page 下载源代码.复制其中的最新的源代码的链接，然后用wget 下载，命令如下：# wget https://nodejs.org/download/rc/v4.0.0-rc.1/node-v4.0.0-rc.1.tar.gz 下载完成后使用命令tar 解压缩：# tar -zxvf node-v4.0.0-rc.1.tar.gz 安装 Node JS v4.0.0现在可以开始使用下载好的源代码编译 Node.js。在开始编译前，你需要在 ubuntu server 上切换到源代码解压缩后的目录，运行 configure 脚本来配置源代码。root@ubuntu-15:~/node-v4.0.0-rc.1# ./configure 现在运行命令 'make install' 编译安装 Node.js：root@ubuntu-15:~/node-v4.0.0-rc.1# make install make 命令会花费几分钟完成编译，安静的等待一会。验证 Node.js 安装一旦编译任务完成，我们就可以开始验证安装工作是否 OK。我们运行下列命令来确认 Node.js 的版本。root@ubuntu-15:~# node -v v4.0.0-pre 在命令行下不带参数的运行node 就会进入 REPL(Read-Eval-Print-Loop,读-执行-输出-循环)模式，它有一个简化版的emacs 行编辑器，通过它你可以交互式的运行JS和查看运行结果。编写测试程序我们也可以写一个很简单的终端程序来测试安装是否成功，并且工作正常。要做这个，我们将会创建一个“test.js” 文件，包含以下代码，操作如下：root@ubuntu-15:~# vim test.js var util = require("util"); console.log("Hello! This is a Node Test Program"); :wq! 现在为了运行上面的程序，在命令行运行下面的命令。root@ubuntu-15:~# node test.js 在一个成功安装了 Node JS 的环境下运行上面的程序就会在屏幕上得到上图所示的输出，这个程序加载类 “util” 到变量 “util” 中，接着用对象 “util” 运行终端任务，console.log 这个命令作用类似 C++ 里的cout结论就是这些了。如果你刚刚开始使用 Node.js 开发应用程序，希望本文能够通过在 ubuntu 上安装、运行 Node.js 让你了解一下Node.js 的大概。最后，我们可以认为我们可以期待 Node JS v4.0.0 能够取得显著性能提升。via: http://linoxide.com/ubuntu-how-to/setup-node-js-4-0-ubuntu-14-04-15-04/作者：Kashif Siddique 译者：osk874 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出
iTOP是一个简单的基于Web的开源IT服务管理工具。它有所有的ITIL功能，包括服务台、配置管理、事件管理、问题管理、变更管理和服务管理。iTOP依赖于Apache/IIS、MySQL和PHP，因此它可以运行在任何支持这些软件的操作系统中。因为iTOP是一个Web程序，因此你不必在用户的PC端任何客户端程序。一个简单的浏览器就足够每天的IT环境操作了。我们要在一台有满足基本需求的LAMP环境的CentOS 7上安装和配置iTOP。下载 iTOPiTOP的下载包现在在SourceForge上，我们可以从这获取它的官方链接。我们从这里的连接用wget命令获取压缩文件。[root@centos-007 ~]# wget http://downloads.sourceforge.net/project/itop/itop/2.1.0/iTop-2.1.0-2127.zip iTop扩展和网络安装使用unzip命令解压到apache根目录下的itop文件夹下。[root@centos-7 ~]# ls iTop-2.1.0-2127.zip [root@centos-7 ~]# unzip iTop-2.1.0-2127.zip -d /var/www/html/itop/ 列出安装包中的内容。[root@centos-7 ~]# ls -lh /var/www/html/itop/ total 68K -rw-r--r--. 1 root root 1.4K Dec 17 2014 INSTALL -rw-r--r--. 1 root root 35K Dec 17 2014 LICENSE -rw-r--r--. 1 root root 23K Dec 17 2014 README drwxr-xr-x. 19 root root 4.0K Jul 14 13:10 web 这些是我们可以安装的扩展。[root@centos-7 2.x]# ls authent-external itop-backup itop-config-mgmt itop-problem-mgmt itop-service-mgmt-provider itop-welcome-itil authent-ldap itop-bridge-virtualization-storage itop-datacenter-mgmt itop-profiles-itil itop-sla-computation version.xml authent-local itop-change-mgmt itop-endusers-devices itop-request-mgmt itop-storage-mgmt wizard-icons installation.xml itop-change-mgmt-itil itop-incident-mgmt-itil itop-request-mgmt-itil itop-tickets itop-attachments itop-config itop-knownerror-mgmt itop-service-mgmt itop-virtualization-mgmt 在解压的目录下，使用如下的 cp 命令将不同的数据模型从web 下的 datamodels 目录下复制到 extensions 目录，来迁移需要的扩展。[root@centos-7 2.x]# pwd /var/www/html/itop/web/datamodels/2.x [root@centos-7 2.x]# cp -r itop-request-mgmt itop-service-mgmt itop-service-mgmt itop-config itop-change-mgmt /var/www/html/itop/web/extensions/ 安装 iTop web界面大多数服务端设置和配置已经完成了。最后我们安装web界面来完成安装。打开浏览器使用ip地址或者完整域名来访问iTop 的 web目录。http://servers_ip_address/itop/web/ 你会被重定向到iTOP的web安装页面。让我们按照要求配置，就像在这篇教程中做的那样。验证先决要求这一步你就会看到验证完成的欢迎界面。如果你看到了一些警告信息，你需要先安装这些软件来解决这些问题。这一步有一个叫php mcrypt的可选包丢失了。下载下面的rpm包接着尝试安装php mcrypt包。[root@centos-7 ~]#yum localinstall php-mcrypt-5.3.3-1.el6.x86_64.rpm libmcrypt-2.5.8-9.el6.x86_64.rpm. 成功安装完php-mcrypt后，我们需要重启apache服务，接着刷新页面，这时验证应该已经OK。安装或者升级 iTop现在我们要在没有安装iTOP的服务器上选择全新安装。iTop 许可协议勾选接受 iTOP所有组件的许可协议，并点击“NEXT”。数据库配置现在我们输入数据库凭据来配置数据库连接，接着选择如下选择创建新数据库。管理员账户这一步中我们会输入它的登录信息来配置管理员账户。杂项参数让我们选择额外的参数来选择你是否需要安装一个带有演示内容的数据库或者使用全新的数据库，接着下一步。iTop 配置管理下面的选项允许你配置在iTOP要管理的元素类型，像CMDB、数据中心设备、存储设备和虚拟化这些东西在iTOP中是必须的。服务管理选择一个最能描述你的IT设备和环境之间的关系的选项。因此我们这里选择为服务提供商的服务管理。iTop Tickets 管理从不同的可用选项我们选择符合ITIL Tickets管理选项来管理不同类型的用户请求和事件。改变管理选项选择不同的ticket类型以便管理可用选项中的IT设备变更。我们选择ITTL变更管理选项。iTop 扩展这一节我们选择额外的扩展来安装或者不选直接跳过。准备开始web安装现在我们开始准备安装先前先前选择的组件。我们也可以下拉这些安装参数来浏览我们的配置。确认安装参数后点击安装按钮。让我们等待进度条来完成安装步骤。它也许会花费几分钟来完成安装步骤。iTop安装完成我们的iTOP安装已经完成了，只要如下一个简单的手动操作就可以进入到iTOP。欢迎来到iTop (IT操作门户)iTop 面板你这里可以配置任何东西，服务、计算机、通讯录、位置、合同、网络设备等等。你可以创建你自己的。事实是刚安装的CMDB模块是每一个IT人员的必备模块。总结ITOP是一个最棒的开源桌面服务解决方案。我们已经在CentOS 7上成功地安装和配置了。因此，iTOP最强大的一方面是它可以很简单地通过扩展来自定义。如果你在安装中遇到任何问题欢迎评论。via: http://linoxide.com/tools/setup-itop-centos-7/作者：Kashif Siddique 译者：geekpi 校对：wxy本文由 LCTT 原创翻译，Linux中国 荣誉推出
大家好，今天我们会讲述在 Ubuntu 15.04 操作系统上如何安装 Logwatch 软件，它也可以在各种 Linux 系统和类 Unix 系统上安装。Logwatch 是一款可定制的日志分析和日志监控报告生成系统，它可以根据一段时间的日志文件生成您所希望关注的详细报告。它具有易安装、易配置、可审查等特性，同时对其提供的数据的安全性上也有一些保障措施。Logwatch 会扫描重要的操作系统组件像 SSH、网站服务等的日志文件，然后生成用户所关心的有价值的条目汇总报告。预安装设置我们会使用 Ubuntu 15.04 版本的操作系统来部署 Logwatch，所以安装 Logwatch 之前，要确保系统上邮件服务设置是正常可用的。因为它会每天把生成的报告通过日报的形式发送邮件给管理员。您的系统的源库也应该设置可用，以便可以从通用源库来安装 Logwatch。然后打开您 ubuntu 系统的终端，用 root 账号登陆，在进入 Logwatch 的安装操作前，先更新您的系统软件包。root@ubuntu-15:~# apt-get update 安装 Logwatch只要你的系统已经更新和已经满足前面说的先决条件，那么就可以在您的机器上输入如下命令来安装 Logwatch。root@ubuntu-15:~# apt-get install logwatch 在安装过程中，一旦您按提示按下“Y”键同意对系统修改的话，Logwatch 将会开始安装一些额外的必须软件包。在安装过程中会根据您机器上的邮件服务器设置情况弹出提示对 Postfix 设置的配置界面。在这篇教程中我们使用最容易的 “仅本地（Local only）” 选项。根据您的基础设施情况也可以选择其它的可选项，然后点击“确定”继续。随后您得选择邮件服务器名，这邮件服务器名也会被其它程序使用，所以它应该是一个完全合格域名/全称域名（FQDN）。一旦按下在 postfix 配置提示底端的 “OK”，安装进程就会用 Postfix 的默认配置来安装，并且完成 Logwatch 的整个安装。您可以在终端下发出如下命令来检查 Logwatch 状态，正常情况下它应该是激活状态。root@ubuntu-15:~# service postfix status 要确认 Logwatch 在默认配置下的安装信息，可以如下示简单的发出“logwatch” 命令。root@ubuntu-15:~# logwatch 上面执行命令的输出就是终端下编制出的报表展现格式。配置 Logwatch在成功安装好 Logwatch 后，我们需要在它的配置文件中做一些修改，配置文件位于如下所示的路径。那么，就让我们用文本编辑器打开它，然后按需要做些变动。root@ubuntu-15:~# vim /usr/share/logwatch/default.conf/logwatch.conf 输出/格式化选项默认情况下 Logwatch 会以无编码的文本打印到标准输出方式。要改为以邮件为默认方式，需设置“Output = mail”，要改为保存成文件方式，需设置“Output = file”。所以您可以根据您的要求设置其默认配置。Output = stdout 如果使用的是因特网电子邮件配置，要用 Html 格式为默认出格式，需要修改成如下行所示的样子。Format = text 现在增加默认的邮件报告接收人地址，可以是本地账号也可以是完整的邮件地址，需要的都可以在这行上写上MailTo = root #MailTo = user@test.com 默认的邮件发送人可以是本地账号，也可以是您需要使用的其它名字。# complete email address. MailFrom = Logwatch 对这个配置文件保存修改，至于其它的参数就让它保持默认，无需改动。调度任务配置现在编辑在 “daily crons” 目录下的 “00logwatch” 文件来配置从 logwatch 生成的报告需要发送的邮件地址。root@ubuntu-15:~# vim /etc/cron.daily/00logwatch 在这儿您需要作用“--mailto user@test.com”来替换掉“--output mail”,然后保存文件。生成报告现在我们在终端中执行“logwatch”命令来生成测试报告，生成的结果在终端中会以文本格式显示出来。root@ubuntu-15:~#logwatch 生成的报告开始部分显示的是执行的时间和日期。它包含不同的部分，每个部分以开始标识开始而以结束标识结束，中间显示的是该部分的完整信息。这儿显示的是开始的样子，它以显示系统上所有安装的软件包的部分开始，如下所示：接下来的部分显示的日志信息是关于当前系统登录会话、rsyslogs 和当前及最近的 SSH 会话信息。Logwatch 报告最后显示的是安全方面的 sudo 日志及根目录磁盘使用情况，如下示：您也可以打开如下的文件来查看生成的 logwatch 报告电子邮件。root@ubuntu-15:~# vim /var/mail/root 您会看到发送给你配置的用户的所有已生成的邮件及其邮件递交状态。更多详情Logwatch 是一款很不错的工具，可以学习的很多很多，所以如果您对它的日志监控功能很感兴趣的话，也以通过如下所示的简短命令来获得更多帮助。root@ubuntu-15:~# man logwatch 上面的命令包含所有关于 logwatch 的用户手册，所以仔细阅读，要退出手册的话可以简单的输入“q”。关于 logwatch 命令的使用，您可以使用如下所示的帮助命令来获得更多的详细信息。root@ubuntu-15:~# logwatch --help 结论教程结束，您也学会了如何在 Ubuntu 15.04 上对 Logwatch 的安装、配置等全部设置指导。现在您就可以自定义监控您的系统日志，不管是监控所有服务的运行情况还是对特定的服务在指定的时间发送报告都可以。所以，开始使用这工具吧，无论何时有问题或想知道更多关于 logwatch 的使用的都可以给我们留言。via: http://linoxide.com/ubuntu-how-to/install-use-logwatch-ubuntu-15-04/作者：Kashif Siddique 译者：runningwater 校对：wxy本文由 LCTT 原创翻译，Linux中国 荣誉推出
Chef是面对IT专业人员的一款配置管理和自动化工具，它可以配置和管理你的基础设施（设备），无论它在本地还是在云上。它可以用于加速应用部署并协调多个系统管理员和开发人员的工作，这包括可支持大量的客户群的成百上千的服务器和程序。chef最有用的是让基础设施变成代码。一旦你掌握了Chef，你可以获得自动化管理你的云端基础设施或者终端用户的一流的网络IT支持。下面是我们将要在本篇中要设置和配置Chef的主要组件。安装Chef的要求和版本我们将在下面的基础环境下设置Chef配置管理系统。管理和配置工具：Chef 基础操作系统Ubuntu 14.04.1 LTS (x86\_64)Chef ServerVersion 12.1.0Chef ManageVersion 1.17.0Chef Development KitVersion 0.6.2内存和CPU4 GB , 2.0+2.0 GHzChef服务端的安装和配置Chef服务端是核心组件，它存储配置以及其他和工作站交互的配置数据。让我们在他们的官网https://www.chef.io下载最新的安装文件。我使用下面的命令来下载和安装它。1) 下载Chef服务端root@ubuntu-14-chef:/tmp# wget https://web-dl.packagecloud.io/chef/stable/packages/ubuntu/trusty/chef-server-core_12.1.0-1_amd64.deb 2) 安装Chef服务端root@ubuntu-14-chef:/tmp# dpkg -i chef-server-core_12.1.0-1_amd64.deb 3) 重新配置Chef服务端现在运行下面的命令来启动所有的chef服务端服务，这一步也许会花费一些时间，因为它需要由许多不同一起工作的服务组成一个可正常运作的系统。root@ubuntu-14-chef:/tmp# chef-server-ctl reconfigure chef服务端启动命令'chef-server-ctl reconfigure'需要运行两次，这样就会在安装后看到这样的输出。Chef Client finished, 342/350 resources updated in 113.71139964 seconds opscode Reconfigured! 4) 重启系统安装完成后重启系统使系统能最好的工作，不然我们或许会在创建用户的时候看到下面的SSL连接错误。ERROR: Errno::ECONNRESET: Connection reset by peer - SSL_connect 5) 创建新的管理员运行下面的命令来创建一个新的管理员账户及其配置。创建过程中，用户的RSA私钥会自动生成，它需要保存到一个安全的地方。--file选项会保存RSA私钥到指定的路径下。root@ubuntu-14-chef:/tmp# chef-server-ctl user-create kashi kashi kashi kashif.fareedi@gmail.com kashi123 --filename /root/kashi.pem Chef服务端的管理设置Chef Manage是一个针对企业级Chef用户的管理控制台，它提供了可视化的web用户界面，可以管理节点、数据包、规则、环境、Cookbook 和基于角色的访问控制（RBAC）。1) 下载Chef Manage从官网复制链接并下载chef manage的安装包。root@ubuntu-14-chef:~# wget https://web-dl.packagecloud.io/chef/stable/packages/ubuntu/trusty/opscode-manage_1.17.0-1_amd64.deb 2) 安装Chef Manage使用下面的命令在root的家目录下安装它。root@ubuntu-14-chef:~# chef-server-ctl install opscode-manage --path /root 3) 重启Chef Manage和服务端安装完成后我们需要运行下面的命令来重启chef manage和服务端。root@ubuntu-14-chef:~# opscode-manage-ctl reconfigure root@ubuntu-14-chef:~# chef-server-ctl reconfigure Chef Manage网页控制台我们可以使用localhost或它的域名来访问网页控制台，并用已经创建的管理员登录1) Chef Manage创建新的组织你或许被要求创建新的组织，或者也可以接受其他组织的邀请。如下所示，使用缩写和全名来创建一个新的组织。2) 用命令行创建新的组织我们同样也可以运行下面的命令来创建新的组织。root@ubuntu-14-chef:~# chef-server-ctl org-create linux Linoxide Linux Org. --association_user kashi --filename linux.pem 设置工作站我们已经完成安装chef服务端，现在我们可以开始创建任何recipes（基础配置元素）、cookbooks（基础配置集）、attributes（节点属性），以及做一些其他修改。1) 在Chef服务端上创建新的用户和组织为了设置工作站，我们需要用命令行创建一个新的用户和组织。root@ubuntu-14-chef:~# chef-server-ctl user-create bloger Bloger Kashif bloger.kashif@gmail.com bloger123 --filename bloger.pem root@ubuntu-14-chef:~# chef-server-ctl org-create blogs Linoxide Blogs Inc. --association_user bloger --filename blogs.pem 2) 下载工作站入门套件在工作站的网页控制台中下载并保存入门套件，它用于与服务端协同工作3) 下载套件后，点击"Proceed"用于工作站的Chef开发套件设置Chef开发套件是一款包含开发chef所需的所有工具的软件包。它捆绑了由Chef开发的带Chef客户端的工具。1) 下载 Chef DK我们可以从它的官网链接中下载开发包，并选择操作系统来下载chef开发包。复制链接并用wget下载root@ubuntu-15-WKS:~# wget https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chefdk_0.6.2-1_amd64.deb 2) Chef开发套件安装使用dpkg命令安装开发套件root@ubuntu-15-WKS:~# dpkg -i chefdk_0.6.2-1_amd64.deb 3) Chef DK 验证使用下面的命令验证客户端是否已经正确安装。root@ubuntu-15-WKS:~# chef verify Running verification for component 'berkshelf' Running verification for component 'test-kitchen' Running verification for component 'chef-client' Running verification for component 'chef-dk' Running verification for component 'chefspec' Running verification for component 'rubocop' Running verification for component 'fauxhai' Running verification for component 'knife-spork' Running verification for component 'kitchen-vagrant' Running verification for component 'package installation' Running verification for component 'openssl' .............. --------------------------------------------- Verification of component 'rubocop' succeeded. Verification of component 'knife-spork' succeeded. Verification of component 'openssl' succeeded. Verification of component 'berkshelf' succeeded. Verification of component 'chef-dk' succeeded. Verification of component 'fauxhai' succeeded. Verification of component 'test-kitchen' succeeded. Verification of component 'kitchen-vagrant' succeeded. Verification of component 'chef-client' succeeded. Verification of component 'chefspec' succeeded. Verification of component 'package installation' succeeded. 4) 连接Chef服务端我们将创建 ~/.chef目录，并从chef服务端复制两个用户和组织的pem文件到该目录下。root@ubuntu-14-chef:~# scp bloger.pem blogs.pem kashi.pem linux.pem root@172.25.10.172:/.chef/ root@172.25.10.172's password: bloger.pem 100% 1674 1.6KB/s 00:00 blogs.pem 100% 1674 1.6KB/s 00:00 kashi.pem 100% 1678 1.6KB/s 00:00 linux.pem 100% 1678 1.6KB/s 00:00 5) 编辑配置来管理chef环境 **现在使用下面的内容创建"~/.chef/knife.rb"。root@ubuntu-15-WKS:/.chef# vim knife.rb current_dir = File.dirname(__FILE__) log_level :info log_location STDOUT node_name "kashi" client_key "#{current_dir}/kashi.pem" validation_client_name "kashi-linux" validation_key "#{current_dir}/linux.pem" chef_server_url "https://172.25.10.173/organizations/linux" cache_type 'BasicFile' cache_options( :path => "#{ENV['HOME']}/.chef/checksums" ) cookbook_path ["#{current_dir}/../cookbooks"] 创建knife.rb中指定的“~/cookbooks”文件夹。root@ubuntu-15-WKS:/# mkdir cookbooks 6) 测试Knife配置运行“knife user list”和“knife client list”来验证knife是否工作。root@ubuntu-15-WKS:/.chef# knife user list 第一次运行的时候可能会看到下面的错误，这是因为工作站上还没有chef服务端的SSL证书。ERROR: SSL Validation failure connecting to host: 172.25.10.173 - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed ERROR: Could not establish a secure connection to the server. Use `knife ssl check` to troubleshoot your SSL configuration. If your Chef Server uses a self-signed certificate, you can use `knife ssl fetch` to make knife trust the server's certificates. 要解决上面的命令的错误，运行下面的命令来获取ssl证书，并重新运行knife user和client list，这时候应该就可以了。root@ubuntu-15-WKS:/.chef# knife ssl fetch WARNING: Certificates from 172.25.10.173 will be fetched and placed in your trusted_cert directory (/.chef/trusted_certs). knife没有办法验证这些是否是有效的证书。你应该在下载时验证这些证书的真实性。在/.chef/trusted\_certs/ubuntu-14-chef\_test\_com.crt下面添加ubuntu-14-chef.test.com的证书。在上面的命令取得ssl证书后，接着运行下面的命令。root@ubuntu-15-WKS:/.chef#knife client list kashi-linux 配置与chef服务端交互的新节点节点是执行所有基础设施自动化的chef客户端。因此，在配置完chef-server和knife工作站后，通过配置与chef-server交互的新节点，来将新的服务端添加到我们的chef环境下。我们使用下面的命令来添加与chef服务端协同工作的新节点。root@ubuntu-15-WKS:~# knife bootstrap 172.25.10.170 --ssh-user root --ssh-password kashi123 --node-name mydns Doing old-style registration with the validation key at /.chef/linux.pem... Delete your validation key in order to use your user credentials instead Connecting to 172.25.10.170 172.25.10.170 Installing Chef Client... 172.25.10.170 --2015-07-04 22:21:16-- https://www.opscode.com/chef/install.sh 172.25.10.170 Resolving www.opscode.com (www.opscode.com)... 184.106.28.91 172.25.10.170 Connecting to www.opscode.com (www.opscode.com)|184.106.28.91|:443... connected. 172.25.10.170 HTTP request sent, awaiting response... 200 OK 172.25.10.170 Length: 18736 (18K) [application/x-sh] 172.25.10.170 Saving to: ‘STDOUT’ 172.25.10.170 100%[======================================>] 18,736 --.-K/s in 0s 172.25.10.170 172.25.10.170 2015-07-04 22:21:17 (200 MB/s) - written to stdout [18736/18736] 172.25.10.170 172.25.10.170 Downloading Chef 12 for ubuntu... 172.25.10.170 downloading https://www.opscode.com/chef/metadata?v=12&prerelease=false&nightlies=false&p=ubuntu&pv=14.04&m=x86_64 172.25.10.170 to file /tmp/install.sh.26024/metadata.txt 172.25.10.170 trying wget... 之后我们可以在knife节点列表下看到创建的新节点，它也会在新节点下创建新的客户端。root@ubuntu-15-WKS:~# knife node list mydns 类似地我们只要通过给上面的knife命令提供ssh证书，就可以在chef设施上创建多个节点。总结本篇我们学习了chef管理工具，并通过安装和配置设置基本了解了它的组件。我希望你在学习安装和配置Chef服务端以及它的工作站和客户端节点中获得乐趣。via: http://linoxide.com/ubuntu-how-to/install-configure-chef-ubuntu-14-04-15-04/作者：Kashif Siddique 译者：geekpi 校对：wxy本文由 LCTT 原创翻译，Linux中国 荣誉推出
在本文中我们将会向你展示如何容易地在主流的最新Linux发行版上安装Plex Media Server。在Plex安装成功后你将可以使用你的中央式家庭媒体播放系统，该系统能让多个Plex播放器App共享它的媒体资源，并且该系统允许你设置你的环境，增加你的设备以及设置一个可以一起使用Plex的用户组。让我们首先在Ubuntu15.04上开始Plex的安装。基本的系统资源系统资源主要取决于你打算用来连接服务的设备类型和数量， 所以根据我们的需求我们将会在一个单独的服务器上使用以下系统资源。 Plex Media Server基础操作系统Ubuntu 15.04 / CentOS 7.1 / Fedora 22 Work StationPlex Media ServerVersion 0.9.12.3.1173-937aac3RAM 和 CPU1 GB , 2.0 GHZ硬盘30 GB在Ubuntu 15.04上安装Plex Media Server 0.9.12.3我们现在准备开始在Ubuntu上安装Plex Media Server，让我们从下面的步骤开始来让Plex做好准备。步骤 1: 系统更新用root权限登录你的服务器。确保你的系统是最新的，如果不是就使用下面的命令。root@ubuntu-15:~#apt-get update 步骤 2: 下载最新的Plex Media Server包创建一个新目录，用wget命令从Plex官网下载为Ubuntu提供的.deb包并放入该目录中。root@ubuntu-15:~# cd /plex/ root@ubuntu-15:/plex# root@ubuntu-15:/plex# wget https://downloads.plex.tv/plex-media-server/0.9.12.3.1173-937aac3/plexmediaserver_0.9.12.3.1173-937aac3_amd64.deb 步骤 3: 安装Plex Media Server的Debian包现在在相同的目录下执行下面的命令来开始debian包的安装， 然后检查plexmediaserver服务的状态。root@ubuntu-15:/plex# dpkg -i plexmediaserver_0.9.12.3.1173-937aac3_amd64.deb root@ubuntu-15:~# service plexmediaserver status 在Ubuntu 15.04上设置Plex Media Web应用让我们在你的本地网络主机中打开web浏览器， 并用你的本地主机IP以及端口32400来打开Web界面，并完成以下步骤来配置Plex。http://172.25.10.179:32400/web http://localhost:32400/web 步骤 1: 登录前先注册在你访问到Plex Media Server的Web界面之后， 确保注册并填上你的用户名和密码来登录。输入你的PIN码来保护你的Plex Media用户现在你已经成功的在Plex Media下配置你的用户。在设备上而不是本地服务器上打开Plex Web应用如我们在Plex Media主页看到的提示“你没有权限访问这个服务”。 这说明我们跟服务器计算机不在同个网络。现在我们需要解决这个权限问题，以便我们通过设备访问服务器而不是只能在服务器上访问。通过完成下面的步骤完成。设置SSH隧道使Windows系统可以访问到Linux服务器首先我们需要建立一条SSH隧道以便我们访问远程服务器资源，就好像资源在本地一样。 这仅仅是必要的初始设置。如果你正在使用Windows作为你的本地系统，Linux作为服务器，那么我们可以参照下图通过Putty来设置SSH隧道。 （LCTT译注: 首先要在Putty的Session中用Plex服务器IP配置一个SSH的会话，才能进行下面的隧道转发规则配置。 然后点击“Open”，输入远端服务器用户名密码， 来保持SSH会话连接。）一旦你完成SSH隧道设置:打开你的Web浏览器窗口并在地址栏输入下面的URL。http://localhost:8888/web 浏览器将会连接到Plex服务器并且加载与服务器本地功能一致的Plex Web应用。 同意服务条款并开始。现在一个功能齐全的Plex Media Server已经准备好添加新的媒体库、频道、播放列表等资源。在CentOS 7.1上安装Plex Media Server 0.9.12.3我们将会按照上述在Ubuntu15.04上安装Plex Media Server的步骤来将Plex安装到CentOS 7.1上。让我们从安装Plex Media Server开始。步骤1: 安装Plex Media Server为了在CentOS7.1上安装Plex Media Server，我们需要从Plex官网下载rpm安装包。 因此我们使用wget命令来将rpm包下载到一个新的目录下。[root@linux-tutorials ~]# cd /plex [root@linux-tutorials plex]# wget https://downloads.plex.tv/plex-media-server/0.9.12.3.1173-937aac3/plexmediaserver-0.9.12.3.1173-937aac3.x86_64.rpm 步骤2: 安装RPM包在完成安装包完整的下载之后， 我们将会使用rpm命令在相同的目录下安装这个rpm包。[root@linux-tutorials plex]# ls plexmediaserver-0.9.12.3.1173-937aac3.x86_64.rpm [root@linux-tutorials plex]# rpm -i plexmediaserver-0.9.12.3.1173-937aac3.x86_64.rpm 步骤3: 启动Plexmediaservice我们已经成功地安装Plex Media Server, 现在我们只需要重启它的服务然后让它永久地启用。[root@linux-tutorials plex]# systemctl start plexmediaserver.service [root@linux-tutorials plex]# systemctl enable plexmediaserver.service [root@linux-tutorials plex]# systemctl status plexmediaserver.service 在CentOS-7.1上设置Plex Media Web应用现在我们只需要重复在Ubuntu上设置Plex Web应用的所有步骤就可以了。 让我们在Web浏览器上打开一个新窗口并用localhost或者Plex服务器的IP来访问Plex Media Web应用。http://172.20.3.174:32400/web http://localhost:32400/web 为了获取服务的完整权限你需要重复创建SSH隧道的步骤。 在你用新账户注册后我们将可以访问到服务的所有特性，并且可以添加新用户、添加新的媒体库以及根据我们的需求来设置它。在Fedora 22工作站上安装Plex Media Server 0.9.12.3下载和安装Plex Media Server步骤基本跟在CentOS 7.1上安装的步骤一致。我们只需要下载对应的rpm包然后用rpm命令来安装它。在Fedora 22工作站上配置Plex Media Web应用我们在（与Plex服务器）相同的主机上配置Plex Media Server，因此不需要设置SSH隧道。只要在你的Fedora 22工作站上用Plex Media Server的默认端口号32400打开Web浏览器并同意Plex的服务条款即可。欢迎来到Fedora 22工作站上的Plex Media Server让我们用你的Plex账户登录，并且开始将你喜欢的电影频道添加到媒体库、创建你的播放列表、添加你的图片以及享用更多其他的特性。总结我们已经成功完成Plex Media Server在主流Linux发行版上安装和配置。Plex Media Server永远都是媒体管理的最佳选择。 它在跨平台上的设置是如此的简单，就像我们在Ubuntu,CentOS以及Fedora上的设置一样。它简化了你组织媒体内容的工作，并将媒体内容“流”向其他计算机以及设备以便你跟你的朋友分享媒体内容。via: http://linoxide.com/tools/install-plex-media-server-ubuntu-centos-7-1-fedora-22/作者：Kashif Siddique 译者：dingdongnigetou 校对：wxy本文由 LCTT 原创翻译，Linux中国 荣誉推出
如果你要在Ubuntu 15.04上安装Node.js的话，这篇教程对你来说肯定很重要。Node.js从本质上来说就是一个运行在服务端上的封装好了输入输出流的javascript程序。Node.js巧妙的使用单线程的事件循环来处理高吞吐量和非阻塞IO。同时它也是一个提供了通过操作系统读写文件和网络操作功能的平台层。所以这篇文章将展示在Ubuntu 15.04 server上不同的安装Node.Js的方式。安装Node.JS 的方法有许多安装Node.JS的不同的方法，我们可以选择其一。通过本篇文章我们将手把手带着你在Ubuntu 15.04上安装Node.Js，在此之前请卸载旧版本的包以免发生包冲突。从源代码安装Node.JS用包管理器安装Node.JS从Github远程库安装Node.JS用NVM安装Node.JS1) 从源代码安装Node.JS让我们开始从源代码安装Node.JS之前，请确认系统上的所有的依赖包都已经更新到最新版本。然后跟着以下步骤来开始安装：步骤1: 升级系统用以下命令来升级系统，并且安装一些Node.JS必要的包。root@ubuntu-15:~# apt-get update root@ubuntu-15:~# apt-get install python gcc make g++ 步骤2: 获取Node.JS的源代码安装好依赖包之后我们可以从官方网站上下载Node.JS的源代码。下载以及解压的命令如下：root@ubuntu-15:~# wget http://nodejs.org/dist/v0.12.4/node-v0.12.4.tar.gz root@ubuntu-15:~# tar zxvf node-v0.12.4.tar.gz 步骤3: 开始安装现在我们进入源代码的目录，然后运行.configure文件root@ubuntu-15:~# ls node-v0.12.4 node-v0.12.4.tar.gz root@ubuntu-15:~# cd node-v0.12.4/ root@ubuntu-15:~/node-v0.12.4# ./configure root@ubuntu-15:~/node-v0.12.4# make install 安装后测试只要运行一下上面的命令就顺利安装好了Node.JS，现在我们来确认一下版本信息和测试以下Node.JS是否可以运行输出。root@ubuntu-15:~/node-v0.12.4# node -v v0.12.4 创建一个以.js为扩展名的文件然后用Node的命令运行root@ubuntu-15:~/node-v0.12.4# touch helo_test.js root@ubuntu-15:~/node-v0.12.4# vim helo_test.js console.log('Hello World'); 现在我们用Node的命令运行文件root@ubuntu-15:~/node-v0.12.4# node helo_test.js Hello World 输出的结果证明我们已经成功的在Ubuntu 15.04安装好了Node.JS，同时我们也能运行JavaScript文件。2) 利用包管理器安装Node.JS在Ubuntu下用包管理器安装Node.JS是非常简单的，只要增加NodeSource的个人软件包档案（PPA）即可。我们将下面通过PPA安装Node.JS。步骤1: 用curl获取源代码在我们用curl获取源代码之前，我们必须先升级操作系统，然后用curl命令获取NodeSource添加到本地仓库。root@ubuntu-15:~#apt-get update root@ubuntu-15:~# curl -sL https://deb.nodesource.com/setup | sudo bash - curl将运行以下任务## Installing the NodeSource Node.js 0.10 repo... ## Populating apt-get cache... ## Confirming "vivid" is supported... ## Adding the NodeSource signing key to your keyring... ## Creating apt sources list file for the NodeSource Node.js 0.10 repo... ## Running `apt-get update` for you... Fetched 6,411 B in 5s (1,077 B/s) Reading package lists... Done ## Run `apt-get install nodejs` (as root) to install Node.js 0.10 and npm 步骤2: 安装NodeJS和NPM运行以上命令之后如果输出如上所示，我们可以用apt-get命令来安装NodeJS和NPM包。root@ubuntu-15:~# apt-get install nodejs 步骤3: 安装一些必备的工具通过以下命令来安装编译安装一些我们必需的本地插件。root@ubuntu-15:~# apt-get install -y build-essential 通过Node.JS Shell来测试测试Node.JS的步骤与之前使用源代码安装相似，通过以下node命令来确认Node.JS是否完全安装好:root@ubuntu-15:~# node > console.log('Node.js Installed Using Package Manager'); Node.js Installed Using Package Manager root@ubuntu-15:~# node > a = [1,2,3,4,5] [ 1, 2, 3, 4, 5 ] > typeof a 'object' > 5 + 2 7 > (^C again to quit) > root@ubuntu-15:~# 使用NodeJS应用进行简单的测试REPL是一个Node.js的shell，任何有效的JavaScript代码都能在REPL下运行通过。所以让我们看看在Node.JS下的REPL是什么样子吧。root@ubuntu-15:~# node > var repl = require("repl"); undefined > repl.start("> "); Press Enter and it will show out put like this: > { domain: null, _events: {}, _maxListeners: 10, useGlobal: false, ignoreUndefined: false, eval: [Function], inputStream: { _connecting: false, _handle: { fd: 0, writeQueueSize: 0, owner: [Circular], onread: [Function: onread], reading: true }, _readableState: { highWaterMark: 0, buffer: [], length: 0, pipes: null, ... ... 以下是可以在REPL下使用的命令列表使用NodeJS的包管理器NPM是一个提供给node脚本持续生命力的命令行工具，它能通过package.json来安装和管理依赖包。最开始从初始化命令init开始root@ubuntu-15:~# npm init 3) 从Github远程库安装Node.JS在这个方法中我们需要一些步骤来把Node.JS从Github的远程的仓库克隆到本地仓库目录在开始克隆（clone）包到本地并且配制之前，我们要先安装以下依赖包root@ubuntu-15:~# apt-get install g++ curl make libssl-dev apache2-utils git-core 现在我们开始用git命令克隆到本地并且转到配制目录root@ubuntu-15:~# git clone git://github.com/ry/node.git root@ubuntu-15:~# cd node/ clone仓库之后，通过运行.config命令来编译生成完整的安装包。root@ubuntu-15:~# ./configure 运行make install命令之后耐心等待几分钟，程序将会安装好Node.JS。root@ubuntu-15:~/node# make install root@ubuntu-15:~/node# node -v v0.13.0-pre 测试Node.JSroot@ubuntu-15:~/node# node > a = [1,2,3,4,5,6,7] [ 1, 2, 3, 4, 5, 6, 7 ] > typeof a 'object' > 6 + 5 11 > (^C again to quit) > root@ubuntu-15:~/node# 4) 通过NVM安装Node.JS在最后一种方法中我们我们将用NVM来比较容易安装Node.JS。安装和配制Node.JS，这是最好的方法之一，它可以供我们选择要安装的版本。在安装之前，请确认本机以前的安装包已经被卸载。步骤1: 安装依赖包首先升级Ubuntu Server系统，然后安装以下安装Node.JS和使用NVM所要依赖的包。用curl命令从git上下载NVM到本地仓库：root@ubuntu-15:~# apt-get install build-essential libssl-dev root@ubuntu-15:~# curl https://raw.githubusercontent.com/creationix/nvm/v0.16.1/install.sh | sh 步骤2: 修改Home环境用curl从NVM下载必需的包到用户的home目录之后，我们需要修改bash的配置文件添加NVM，之后只要重新登录中断或者用如下命令更新即可。root@ubuntu-15:~# source ~/.profile 现在我们可以用NVM来设置默认的NVM的版本，或者用如下命令来指定之前版本：root@ubuntu-15:~# nvm ls root@ubuntu-15:~# nvm alias default 0.12.4 步骤3: 使用NVM我们已经通过NVM成功的安装了Node.JS，所以我们现在可以使用各种有用的命令。总结现在我们已经准备好了在服务端安装Node.JS，你可以从我们说的四种方式中选择最合适你的方式在最新的Ubuntu 15.04上来安装Node.JS，安装好之后你就可以利用Node.JS来编写你的代码。via: http://linoxide.com/ubuntu-how-to/setup-node-js-ubuntu-15-04-different-methods/作者：Kashif Siddique 译者：NearTan 校对：wxy本文由 LCTT 原创翻译，Linux中国 荣誉推出