2017年2月

HTTP/2 是 HTTP 网络协议的主要修订版本,其专注于 HTTP 协议的性能改进。HTTP/2 协议的目标是减少延迟,并且允许在 Web 浏览器和服务器之间的一个连接上并行发起多个请求,因此 Web 应用程序会更快。在本篇教程中,我们将像你展示如何在安装有 Ubuntu 或 CentOS 作为操作系统的 Linux VPS 上使用开启 Nginx 的 HTTP/2 协议。如果你使用 Apache,你可以查看我们的另一篇教程:如何在 Ubuntu 上开启 Apache 的 HTTP/2 协议

必备条件

为了能够按照本篇教程最终在服务器上启用 HTTP/2 协议,你需要先安装好 Nginx 。并且确保功能正常而且配置没有错误。你可以使用下面的命令来检查一下:

sudo nginx -t

此外,你需要有服务器的 root 访问权限,或者至少有一个具有 sudo 权限的非 root 系统用户,以便你在修改 Nginx 配置文件的时候不会出现权限问题。最后你需要有一个域名和一个颁发给这个域名的有效的 SSL 证书。

在 Ubuntu 上开启 Nginx 的 HTTP/2 协议

为了在 Ubuntu VPS 上开启 Nginx 的 HTTP/2 协议,你需要编辑默认的 Nginx 的服务(server)块,我们使用的是 nano,你可以使用你自己的文本编辑器。

sudo nano /etc/nginx/sites-available/default

增加下面的服务块:

server {  
        server_name domain.com www.domain.com;
        listen 443 ssl http2 default_server;
        root /var/www/html;
        index index.html;

        location / {
                try_files $uri $uri/ =404;
        }

        ssl_certificate /etc/nginx/ssl/domain.com.crt;
        ssl_certificate_key /etc/nginx/ssl/domain.com.key;
}

server {
       listen         80;
       server_name    domain.com www.domain.com;
       return         301 https://$server_name$request_uri;
}

确保 domain.com 替换成你真正的域名。 此外,应正确设置文档根(root)目录,还有 SSL 证书和密钥的路径。

当你编辑完成这个服务块之后,需要保存并关闭文件。使用以下命令检查 Nginx 配置是否有错误:

sudo nginx -t

为了刚刚的改变生效,需要重启 Nginx:

sudo systemctl restart nginx.service

如果你想为另一个域名开启 HTTP/2 协议,你可以查看我们的博客如何在 Ubuntu 和 CentOS 上设置 Nginx 服务块

在 CentOS 上开启 Nginx 的 HTTP/2 协议

为了在 CentOS VPS 开启 Nginx 的 HTTP/2 协议,你需要按照 Ubuntu 上完全相同的步骤做。唯一的不同点是 Nginx 块文件的位置。为了在 CentOS 上编辑默认的 Nginx 服务块,你需要进入 /etc/nginx/conf.d 这个文件夹。

# nano /etc/nginx/conf.d/default.conf

再次检查配置是否有错误,保存并关闭文件,然后使用以下命令重新启动 Nginx 服务:

# systemctl restart nginx.service

为了检测 Nginx 的 HTTP/2 协议是否开启成功,你可以使用一些在线 HTTP/2 检测工具


via: https://www.rosehosting.com/blog/how-to-enable-http2-in-nginx-on-ubuntu-and-centos/

作者:rosehosting.com 译者:Flowsnow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

sendmail logo

如果你运行了一个 web 服务器或者一台 VPS ,你可能需要在你的 PHP 程序中发送邮件。

同样,如果你正在运行一个 WordPress 博客,或者你正在使用任何类型的 CMS ,你允许你的访问者通过联系表单向你发送电子邮件(例如使用 WordPress 的 Contact Form 7 插件),你可能需要安装一个名为 sendmail 的简单的程序到你的 web 服务器上。

Sendmail 是一个通用的互联网电子邮件投递工具,支持多种邮件传输和传递方法,包括用于通过 Internet 进行电子邮件传输的简单邮件传输协议(SMTP)。来自 Wikipedia

Sendmail 可以通过你的发行版的软件包管理器安装。

以下是在 CentOS 7 上安装 Sendmail 的说明。

安装

要在 CentOS 7 中安装 CentOS 7 ,运行下面的命令:

# yum install sendmail

允许服务器可以发送邮件

如果在 CentOS 7 中使用了 SELinux, 你需要使用下面的命令允许 sendmail 发送邮件:

# setsebool -P httpd_can_sendmail=on

使用 PHP 发送一封测试邮件

使用这个命令进入 php 交互 shell 中:

php -a

在交互 shell 中,粘贴下面的代码:

mail('[email protected]', "Test email", "Test email from the Internet", null, "-f [email protected]");

不要忘记将 [email protected][email protected] 分别替换为你的收件地址和发件地址。

浏览 sendmail 日志

要监控邮件日志,你可以使用这个命令:

tail /var/log/maillog

在服务器上安装 sendmail 完成后,你可以允许你的用户通过联系栏通过邮件联系你了。


via: http://fasterland.net/sending-email-via-php-centos-7-using-sendmail.html

作者:Francesco Mondello 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

虽然 WD My Passport Wireless 本身就是一个相当有用的设备,但它有一个轻量级但完整的 Linux 发行版提供支持的事实意味着其功能可以进一步扩展。例如,在设备上部署 rclone,这样你可以将存储在磁盘上的照片和 RAW 文件备份到任何支持的云存储服务中。

在开始之前,你需要将设备连接到 Wi-Fi 网络并启用 SSH(以便你可以通过 SSH 访问底层 Linux 系统)。要将 WD My Passport Wireless 连接到当前的 Wi-Fi 网络中,请为设备供电并连接到从常规 Linux 计算机创建的无线热点。打开浏览器,进入 http://mypassport.local,然后登录到设备的 web 界面。切换到 Wi-Fi 一栏,并连接到现有的本地 Wi-Fi 网络。然后切换到管理员部分并启用 SSH 访问。

wd-mypassport-wireless-admin

在你的 Linux 机器上,打开终端并使用 ssh [email protected] 连接到设备。

使用下面的命令部署 rclone:

curl -O http://downloads.rclone.org/rclone-current-linux-arm.zip
unzip rclone-current-linux-arm.zip
cd rclone-*-linux-arm
cp rclone /usr/sbin/
chown root:root /usr/sbin/rclone
chmod 755 /usr/sbin/rclone
mkdir -p /usr/local/share/man/man1
sudo cp rclone.1 /usr/local/share/man/man1/
sudo mandb

完成后运行 rclone config 命令。由于在无外接显示器的机器上配置 rclone,请按照远程设置页面上的说明进行操作。你可以在 Linux Photography 这本书中找到有关配置和使用 rclone 的详细信息。

你也可以将 WD My Passport Wireless 用到其他实际用途。由于设备附带了 Python,因此你可以在设备上运行脚本和基于 Python 的 web 应用程序。例如,你可以部署简单的 What’s in My Bag 程序来跟踪你的照相设备。

curl -LOk https://github.com/dmpop/wimb/archive/master.zip
unzip master.zip
mv wimb-master/ wimb
cd wimb
curl -LOk https://github.com/bottlepy/bottle/raw/master/bottle.py

运行 ./wimb.py 启动应用,并在浏览器中打开 http://mypassport:8080/wimb 访问并使用程序。


via: https://scribblesandsnaps.com/2017/02/10/wd-my-passport-wireless-linux-hacks/

作者:Dmitri Popov 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

在互联网成为一个巨大的、世界性的现象之前,开发团队常常被限制在一个小的物理空间内。如果公司没有资金支持的话,与世界另一方的人合作是一个非常昂贵或几乎不可能的梦想。

幸运的是,情况不再是这样了。互联网诞生了基于网络的解决方案,允许公司组成合作团体,包括彼此相距数千英里的人。

自从 2008 年首次推出以来,Bitbucket 已成为使用 MercurialGit 版本控制系统(VCS)的开发人员团队中越来越受欢迎的选择。

它既提供免费帐户,带有不限数量的私人存储库(每个账户最多 5 个用户),也提供多种付费计划,允许每个帐户有更多用户。此外,标记为“公开”的仓库对可以编辑或读取其内容的人数没有限制。

注册 Bitbucket

要使用 Bitbucket,你需要建立一个免费帐户。要这样做,请进入 https://bitbucket.org/, 然后单击 免费开始 Get started for free 按钮。

首先,你需要输入有效的电子邮件地址,然后点击继续。 你的电子邮件帐户将被验证,如果一切正常,你将被提示输入所需的密码。完成后,再次点击 继续,然后检查你的电子邮件收件箱,以确认你的帐户是否已创建:

Bitbucket Singup

Bitbucket 注册

验证电子邮件地址后,系统会要求你确定用户名。 然后将创建你的帐户,你将会进入 Bitbucket 面板,在那里开始创建团队、项目和仓库:

Bitbucket Dashboard

Bitbucket 面板

如你所见,你可以在几分钟内注册 BitbucketAtlassian 的人简化了这个过程,以便你可以把你的时间真正用在 Bitbucket 上 - 我们下面会进一步讲。

使用 Bitbucket

让我们浏览下注册 Bitbucket 之后必须要做的事情。它们都在顶部菜单中:

Explore Bitbucket Features

探索 Bitbucket 功能

1). 创建一个团队,通过允许多个 Bitbucket 用户共享一个账号计划的方式鼓励协作。

这将允许他们轻松管理团队拥有的仓库。要创建团队,请输入团队名称,并确保团队标识不存在。接下来,输入你要添加到群组的人员的电子邮件地址,并指明是否要将其设为管理员。最后,单击创建

Bitbucket - Create a Team

Bitbucket – 创建一个团队

2) 创建或导入一个仓库

如果你已经使用基于 Git 的解决方案,你可以轻松地将你的仓库导入 Bitbucket。否则,你可以从头创建一个。让我们看看在每种情况下你需要做什么。

要创建新的仓库,请单击 仓库 Repositories 菜单中的 创建仓库 Create repository 选项。为新仓库和要分组到的项目选择一个名称。接下来,指明是否要将其设置为 private 并指定类型(Git 或 Mercurial)。最后,单击创建仓库

Bitbucket - Create a New Repository

Bitbucket – 创建一个新仓库

要导入已有仓库,请从仓库下拉菜单中选择 导入 Import 仓库。要开始导入,请指定源,输入 URL 和所需的登录凭据(如果需要)。

最后,选择新的仓库设置,然后单击导入仓库。忽略有关在指定 URL 处找不到仓库的警告,因为它是虚拟的,仅用于演示目的:

Bitbucket - Import Existing Code

Bitbucket – 导入已有代码

就是这样,很简单吧。

在 Bitbucket 中使用仓库

创建一个新仓库或者导入一个仓库后,它会在面板上展示出来。这时就能执行一些常规操作,如克隆、创建分支、pull request、提交修改、添加 README 文件等等:

Bitbucket - Repository Overview

Bitbucket – 仓库概览

如果想了解如何用仓库工作,或者想要提升你的 git 技能,可以参考 Bitbucket 官方文档

总结

如你所见,不管你是版本管理的新手还是老手,Bitbucket 都能使管理变得更简单。如果你对本文有任何疑问或评论,请不要犹豫让我们知道。我们期待听到你的声音!


作者简介:

我是 Ravi Saive,TecMint 的原创作者。一个喜爱在互联网上分享技巧和提示的计算机 geek 和 Linux 老手。我的大多数服务运行在 Linux 开源平台上。请在 Twitter、Facebook、Google+ 上关注我。


via: http://www.tecmint.com/bitbucket-for-version-control/

作者:Ravi Saive 译者:geekpi 校对:jasminepeng

本文由 LCTT 原创编译,Linux中国 荣誉推出

Nextcloud 是一款自由 (开源) 的类 Dropbox 软件,由 ownCloud 分支演化形成。它使用 PHP 和 JavaScript 编写,支持多种数据库系统,比如 MySQL/MariaDB、PostgreSQL、Oracle 数据库和 SQLite。它可以使你的桌面系统和云服务器中的文件保持同步,Nextcloud 为 Windows、Linux、Mac、安卓以及苹果手机都提供了客户端支持。Nextcloud 并非只是 Dropbox 的克隆,它还提供了很多附加特性,如日历、联系人、计划任务以及流媒体 Ampache。

在这篇文章中,我将向你展示如何在 CentOS 7 服务器中安装和配置最新版本的 Nextcloud 10。我会通过 Nginx 和 PHP7-FPM 来运行 Nextcloud,同时使用 MariaDB 做为数据库系统。

先决条件

  • 64 位的 CentOS 7
  • 服务器的 Root 权限

步骤 1 - 在 CentOS 7 中安装 Nginx 和 PHP7-FPM

在开始安装 Nginx 和 php7-fpm 之前,我们还学要先添加 EPEL 包的仓库源。使用如下命令:

yum -y install epel-release

现在开始从 EPEL 仓库来安装 Nginx:

yum -y install nginx

然后我们还需要为 php7-fpm 添加另外一个仓库。互联网中有很个远程仓库提供了 PHP 7 系列包,我在这里使用的是 webtatic。

添加 PHP7-FPM webtatic 仓库:

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

然后就是安装 PHP7-FPM 以及 Nextcloud 需要的一些包。

yum -y install php70w-fpm php70w-cli php70w-gd php70w-mcrypt php70w-mysql php70w-pear php70w-xml php70w-mbstring php70w-pdo php70w-json php70w-pecl-apcu php70w-pecl-apcu-devel

最后,从服务器终端里查看 PHP 的版本号,以便验证 PHP 是否正确安装。

php -v

查看 PHP 版本号

步骤 2 - 配置 PHP7-FPM

在这一个步骤中,我们将配置 php-fpm 与 Nginx 协同运行。Php7-fpm 将使用 nginx 用户来运行,并监听 9000 端口。

使用 vim 编辑默认的 php7-fpm 配置文件。

vim /etc/php-fpm.d/www.conf

在第 8 行和第 10行,usergroup 赋值为 nginx

user = nginx
group = nginx

在第 22 行,确保 php-fpm 运行在指定端口。

listen = 127.0.0.1:9000

取消第 366-370 行的注释,启用 php-fpm 的系统环境变量。

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

保存文件并退出 vim 编辑器。

下一步,就是在 /var/lib/ 目录下创建一个新的文件夹 session,并将其拥有者变更为 nginx 用户。

mkdir -p /var/lib/php/session
chown nginx:nginx -R /var/lib/php/session/

然后启动 php-fpm 和 Nginx,并且将它们设置为随开机启动的服务。

sudo systemctl start php-fpm
sudo systemctl start nginx

sudo systemctl enable php-fpm
sudo systemctl enable nginx

启动 php-fpm 和 Nginx

PHP7-FPM 配置完成

步骤 3 - 安装和配置 MariaDB

我这里使用 MariaDB 作为 Nextcloud 的数据库。可以直接使用 yum 命令从 CentOS 默认远程仓库中安装 mariadb-server 包。

yum -y install mariadb mariadb-server

启动 MariaDB,并将其添加到随系统启动的服务中去。

systemctl start mariadb
systemctl enable mariadb

现在开始配置 MariaDB 的 root 用户密码。

mysql_secure_installation

键入 Y ,然后设置 MariaDB 的 root 密码。

Set root password? [Y/n] Y
New password:
Re-enter new password:

Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

这样就设置好了密码,现在登录到 mysql shell 并为 Nextcloud 创建一个新的数据库和用户。这里我创建名为 nextcloud_db 的数据库以及名为 nextclouduser 的用户,用户密码为 nextclouduser@。当然了,要给你自己的系统选用一个更安全的密码。

mysql -u root -p

输入 MariaDB 的 root 密码,即可登录 mysql shell。

输入以下 mysql 查询语句来创建新的数据库和用户。

create database nextcloud_db;
create user nextclouduser@localhost identified by 'nextclouduser@';
grant all privileges on nextcloud_db.* to nextclouduser@localhost identified by 'nextclouduser@';
flush privileges;

为 Nextcloud 创建一个新的数据库和用户

nextcloud_db 数据库和 nextclouduser 数据库用户创建完成

步骤 4 - 为 Nextcloud 生成一个自签名 SSL 证书

在教程中,我会让客户端以 https 连接来运行 Nextcloud。你可以使用诸如 let's encrypt 等免费 SSL 证书,或者是自己创建自签名 (self signed) SSL 证书。这里我使用 OpenSSL 来创建自己的自签名 SSL 证书。

为 SSL 文件创建新目录:

mkdir -p /etc/nginx/cert/

如下,使用 openssl 生成一个新的 SSL 证书。

openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/nextcloud.crt -keyout /etc/nginx/cert/nextcloud.key

最后使用 chmod 命令将所有证书文件的权限设置为 600

chmod 700 /etc/nginx/cert
chmod 600 /etc/nginx/cert/*

为 Nextcloud 生成一个自签名 SSL 证书

步骤 5 - 下载和安装 Nextcloud

我直接使用 wget 命令下载 Nextcloud 到服务器上,因此需要先行安装 wget。此外,还需要安装 unzip 来进行解压。使用 yum 命令来安装这两个程序。

yum -y install wget unzip

先进入 /tmp 目录,然后使用 wget 从官网下载最新的 Nextcloud 10。

cd /tmp
wget https://download.nextcloud.com/server/releases/nextcloud-10.0.2.zip

解压 Nextcloud,并将其移动到 /usr/share/nginx/html/ 目录。

unzip nextcloud-10.0.2.zip
mv nextcloud/ /usr/share/nginx/html/

下一步,转到 Nginx 的 web 根目录为 Nextcloud 创建一个 data 文件夹。

cd /usr/share/nginx/html/
mkdir -p nextcloud/data/

变更 nextcloud 目录的拥有者为 nginx 用户和组。

chown nginx:nginx -R nextcloud/

步骤 6 - 在 Nginx 中为 Nextcloud 配置虚拟主机

在步骤 5 我们已经下载好了 Nextcloud 源码,并配置好了让它运行于 Nginx 服务器中,但我们还需要为它配置一个虚拟主机。在 Nginx 的 conf.d 目录下创建一个新的虚拟主机配置文件 nextcloud.conf

cd /etc/nginx/conf.d/
vim nextcloud.conf

将以下内容粘贴到虚拟主机配置文件中:

upstream php-handler {
    server 127.0.0.1:9000;
    #server unix:/var/run/php5-fpm.sock;
}

server {
    listen 80;
    server_name cloud.nextcloud.co;
    # enforce https
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name cloud.nextcloud.co;

    ssl_certificate /etc/nginx/cert/nextcloud.crt;
    ssl_certificate_key /etc/nginx/cert/nextcloud.key;

    # Add headers to serve security related headers
    # Before enabling Strict-Transport-Security headers please read into this
    # topic first.
    add_header Strict-Transport-Security "max-age=15768000;
    includeSubDomains; preload;";
    add_header X-Content-Type-Options nosniff;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;

    # Path to the root of your installation
    root /usr/share/nginx/html/nextcloud/;

    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    # The following 2 rules are only needed for the user_webfinger app.
    # Uncomment it if you're planning to use this app.
    #rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
    #rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json
    # last;

    location = /.well-known/carddav {
      return 301 $scheme://$host/remote.php/dav;
    }
    location = /.well-known/caldav {
      return 301 $scheme://$host/remote.php/dav;
    }

    # set max upload size
    client_max_body_size 512M;
    fastcgi_buffers 64 4K;

    # Disable gzip to avoid the removal of the ETag header
    gzip off;

    # Uncomment if your server is build with the ngx_pagespeed module
    # This module is currently not supported.
    #pagespeed off;

    error_page 403 /core/templates/403.php;
    error_page 404 /core/templates/404.php;

    location / {
        rewrite ^ /index.php$uri;
    }

    location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ {
        deny all;
    }
    location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) {
        deny all;
    }

    location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|core/templates/40[34])\.php(?:$|/) {
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param HTTPS on;
        #Avoid sending the security headers twice
        fastcgi_param modHeadersAvailable true;
        fastcgi_param front_controller_active true;
        fastcgi_pass php-handler;
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }

    location ~ ^/(?:updater|ocs-provider)(?:$|/) {
        try_files $uri/ =404;
        index index.php;
    }

    # Adding the cache control header for js and css files
    # Make sure it is BELOW the PHP block
    location ~* \.(?:css|js)$ {
        try_files $uri /index.php$uri$is_args$args;
        add_header Cache-Control "public, max-age=7200";
        # Add headers to serve security related headers (It is intended to
        # have those duplicated to the ones above)
        # Before enabling Strict-Transport-Security headers please read into
        # this topic first.
        add_header Strict-Transport-Security "max-age=15768000;
        includeSubDomains; preload;";
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        # Optional: Don't log access to assets
        access_log off;
    }

    location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
        try_files $uri /index.php$uri$is_args$args;
        # Optional: Don't log access to other assets
        access_log off;
    }
}

保存文件并退出 vim。

下载测试以下该 Nginx 配置文件是否有错误,没有的话就可以重启服务了。

nginx -t
systemctl restart nginx

在 Nginx 中为 Nextcloud 配置虚拟主机

步骤 7 - 为 Nextcloud 配置 SELinux 和 FirewallD 规则

本教程中,我们将以强制模式运行 SELinux,因此需要一个 SELinux 管理工具来为 Nextcloud 配置 SELinux。

使用以下命令安装 SELinux 管理工具。

yum -y install policycoreutils-python

然后以 root 用户来运行以下命令,以便让 Nextcloud 运行于 SELinux 环境之下。如果你是用的其他名称的目录,记得将 nextcloud 替换掉。

semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/data(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/apps(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/assets(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/.htaccess'
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/nextcloud/.user.ini'

restorecon -Rv '/usr/share/nginx/html/nextcloud/'

接下来,我们要启用 firewalld 服务,同时为 Nextcloud 开启 http 和 https 端口。

启动 firewalld 并设置随系统启动。

systemctl start firewalld
systemctl enable firewalld

现在使用 firewall-cmd 命令来开启 http 和 https 端口,然后重新加载防火墙。

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --reload

为 Nextcloud 配置 FirewallD 规则

至此,服务器配置完成。

步骤 8 - Nextcloud 安装

打开你的 Web 浏览器,输入你为 Nextcloud 设置的域名,我这里设置为 cloud.nextcloud.co,然后会重定向到安全性更好的 https 连接。

设置你的管理员用户名和密码,然后输入数据验证信息,点击 '完成安装 (Finish Setup)'。

Nextcloud 安装

Nextcloud 管理面板大致如下:

Nextcloud 管理面板

Nextcloud 用户设置:

Nextcloud 用户设置

管理设置:

管理设置

至此,我们在 CentOS 7 服务器上通过使用 Nginx、PHP7-FPM、MariaDB 完成了 Nextcloud 的安装。

参考链接


译者简介:

GHLandy —— 划不完粉腮柳眉泣别离。


via: https://www.howtoforge.com/tutorial/how-to-install-nextcloud-with-nginx-and-php-fpm-on-centos-7/

作者:Muhammad Arul 译者:GHLandy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

CoreFreq 是一个用于英特尔 64 位处理器的 CPU 监控程序,并且支持 Atom、Core2、Nehalem、SandyBridge 及以上、还有 AMD 0F 家族。

它的核心建立在内核模块上,用于从每个 CPU 核心检索内部性能计数器,并且与收集数据的守护进程一起工作,一个小型控制台客户端连接到该守护程序并显示收集的数据。

CoreFreq CPU Monitoring

它提供了高精度的重新捕获 CPU 数据的基础工作:

  1. 核心频率和比率;SpeedStep(EIST)、Turbo Boost、超线程(HTT)以及 基本时钟 Base Clock
  2. 性能计数器结合 时间戳计数器 Time Stamp Counter (TSC)、 非停机核心周期 Unhalted Core Cycles (UCC)、 非停机引用周期 Unhalted Reference Cycles (URC)。
  3. 每周期或每秒的指令数:IPS、IPC 或 CPI。
  4. CPU C 状态: C0 C1 C3 C6 C7 - C1E - C1、C3 的自动/ 非降级 UnDemotion
  5. 带有 Tjunction Max 的 DTS 温度、 热监测 Thermal Monitoring TM1、TM2 状态。
  6. 包括用于自举的高速缓存和应用程序 CPU 拓扑图。
  7. 处理器特性、品牌、架构字符串。

注意:此工具更适用于 Linux 专家用户和经验丰富的系统管理员,但新手用户可以逐步学习如何使用它。

CoreFreq 如何工作

它通过调用一个 Linux 内核模块实现,它使用了:

  1. 汇编代码保持尽可能接近性能计数器读数。
  2. 按每个 CPU 影响的 slab 数据内存加上高分辨率定时器。
  3. 支持 CPU 暂停/恢复和 CPU 热插拔。
  4. 使用共享内存来保护内核免受来自用户空间程序的损害。
  5. 使用原子级同步的线程来消除互斥和死锁。

如何在 Linux 中安装 CoreFreq

要安装 CoreFreq,你首先需要安装依赖程序(开发工具)来编译并从源码构建程序。

$ sudo yum group install 'Development Tools'           [On CentOS/RHEL]
$ sudo dnf  group install 'Development Tools'          [On Fedora 22+ Versions]
# sudo apt-get install dkms git libpthread-stubs0-dev  [On Debian/Ubuntu] 

接下来克隆 Github 上 CoreFreq 源码,进入下载文件夹并编译构建程序:

$ git clone https://github.com/cyring/CoreFreq.git
$ cd CoreFreq
$ make 

Build CoreFreq Program

构建 CoreFreq 程序

注意:Arch Linux 用户可以从 AUR 中安装 corefreq-git

现在运行以下命令从本地目录加载 Linux 内核模块,接着运行守护程序:

$ sudo insmod corefreqk.ko
$ sudo ./corefreqd

接着使用普通用户启动客户端。

$ ./corefreq-cli

CoreFreq Linux CPU Monitoring

CoreFreq Linux CPU 监控

在上面的界面中,你可以使用这些快捷键:

  1. 使用 F2 显示屏幕顶部显示的使用菜单。
  2. 使用 箭头移动菜单选项卡。
  3. 使用 箭头选择菜单项,然后单击回车。
  4. 使用 F4 关闭程序。
  5. 使用 h 打开快速参考。

要查看所有的使用选项,请输入以下命令:

$ ./corefreq-cli -h

CoreFreq 选项:

CoreFreq.  Copyright (C) 2015-2017 CYRIL INGENIERIE
usage:  corefreq-cli [-option <arguments>]
-t  Show Top (default)
-d  Show Dashboard
arguments: <left> <top> <marginWidth> <marginHeight>
-c  Monitor Counters
-i  Monitor Instructions
-s  Print System Information
-M  Print Memory Controller
-m  Print Topology
-u  Print CPUID
-k  Print Kernel
-h  Print out this message
Exit status:
0   if OK,
1   if problems,
>1  if serious trouble.
Report bugs to labs[at]cyring.fr

要打印内核的信息,运行:

$ ./corefreq-cli -k

打印 CPU 细节信息:

$ ./corefreq-cli -u

你也可以实时监控 CPU 指令:

$ ./corefreq-cli -i

如下启用计数器追踪:

$ ./corefreq-cli -c

有关更多信息和用法,请访问 CoreFreq 的 Github 仓库:https://github.com/cyring/CoreFreq

在本文中,我们评估了一个强大的 CPU 监控工具,这对于 Linux 专家或经验丰富的系统管理员来说可能比新手用户更有用。

通过下面的评论栏与我们分享你对这个工具或任何相关的想法。


作者简介:

Aaron Kili 是 Linux 和 F.O.S.S 爱好者,将来的 Linux 系统管理员和网络开发人员,目前是 TecMint 的内容创作者,他喜欢用电脑工作,并坚信分享知识。


via: http://www.tecmint.com/corefreq-linux-cpu-monitoring-tool/

作者:Aaron Kili 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出