Matei Cezar 发布的文章

这一节的Samba4 AD DC 架构系列文章,我们将会讨论如何把 Windows 10 系统的电脑添加到 Samba4 域环境中,以及如何在 Windows 10 系统下管理域环境。

一旦 Windows 10 系统加入到 Samba4 AD DC ,我们就可以在 Windows 10 系统中创建、删除或者禁用域用户和组了,可以创建新的组织单元,创建、编辑和管理域策略,还可以管理 Samba4 域 DNS 服务。

上面所有的功能和其它一些复杂的与域管理相关的工作都可以通过 Windows 环境下的 RSAT 工具来完成—— Microsoft 远程服务器管理工具。

要求

1、 在 Ubuntu 系统上使用 Samba4 来创建活动目录架构(一)

2、 在 Linux 命令行下管理 Samba4 AD 架构(二)

第一步:配置域时间同步

1、在使用 Windows 10 系统的 RSAT 工具来管理 Samba4 ADDC 之前,我们需要了解与活动目录相关的一个很重要的服务,该服务要求精确的时间同步

在大多数的 Linux 发行版中,都由 NTP 进程提供时间同步机制。AD 环境默认允许最大的时间差距是 5 分钟。

如果时间差距超过 5 分钟,你将会遇到各种各样的异常报错,最严重的会影响到 AD 用户、域成员服务器或共享访问等。

为了在 Ubuntu 系统中安装网络时间协议进程和 NTP 客户端工具,可执行以下命令:

$ sudo apt-get install ntp ntpdate

Install NTP on Ubuntu

在 Ubuntu 系统下安装 NTP 服务

2、下一步,修改 NTP 配置文件,使用一个离你最近的 NTP 服务地址列表替换默认的 NTP 池服务列表。

NTP 服务器地址列表可以从 NTP 地址库项目官方网站获取:http://www.pool.ntp.org/en/

$ sudo nano /etc/ntp.conf

在每一行 pool 前添加一个 # 符号以注释默认的服务器列表,并替换为适合你的 NTP 服务器地址,如下图所示:

pool 0.ro.pool.ntp.org iburst
pool 1.ro.pool.ntp.org iburst
pool 2.ro.pool.ntp.org iburst
# Use Ubuntu's ntp server as a fallback.
pool 3.ro.pool.ntp.org

Configure NTP Server in Ubuntu

在 Ubuntu 系统下配置 NTP 服务

3、此时,先不要关闭该文件。移动光标到文件顶部,在 driftfile 参数后面添加下面一行内容。该设置是为了让客户端查询该服务时使用 AD 的 NTP 签署请求。

ntpsigndsocket /var/lib/samba/ntp_signd/

Sync AD with NTP

使用 NTP 来同步 AD

4、最后,移动光标到文件底部并添加如下一行内容,如截图所示,仅允许网络客户端查询该服务器上的时间。

restrict default kod nomodify notrap nopeer mssntp

Query Clients to NTP Server

限制 NTP 服务的查询客户端

5、设置完成之后,保存并关闭 NTP 配置文件,为了让 NTP 服务读取 ntp_signed 目录,需要授予 NTP 服务合适的权限。

以下是 Samba NTP socket 的系统路径。之后,重启 NTP 服务以应用更改,并使用 netstat 命令grep 过滤相接合来检查 NTP 服务是否正常。

$ sudo chown root:ntp /var/lib/samba/ntp_signd/
$ sudo chmod 750 /var/lib/samba/ntp_signd/
$ sudo systemctl restart ntp
$ sudo netstat –tulpn | grep ntp

Grant Permission to NTP

给 NTP 服务授权

使用 ntpq 命令行工具来监控 NTP 进程,加上 -p 参数来显示摘要信息。

$ ntpq -p

Monitor NTP Server Pool

监控 NTP 服务器池

第二步:处理 NTP 时间同步异常问题

6、有时候 NTP 进程在尝试与上游 ntp 服务端同步时间的计算过程中会卡住,导致客户端使用 ntpdate 工具手动强制同步时间时报如下错误:

# ntpdate -qu adc1
ntpdate[4472]: no server suitable for synchronization found

NTP Time Synchronization Error

NTP 时间同步异常

ntpdate 命令加上 -d 调试选项:

# ntpdate -d adc1.tecmint.lan
Server dropped: Leap not in sync

NTP Server Dropped Leap Not in Sync

NTP Server Dropped Leap Not in Sync

7、为了避免出现该问题,使用下面的方法来解决这个问题:在服务器上停止 NTP 服务,使用 ntpdate 客户端工具加上 -b 参数指定外部 peer 地址来手动强制同步时间,如下图所示:

# systemctl stop ntp.service
# ntpdate -b 2.ro.pool.ntp.org  [你的 ntp peer]
# systemctl start ntp.service
# systemctl status ntp.service

Force NTP Time Synchronization

强制 NTP 时间同步

8、当时间正确同步之后,启动服务器上的 NTP 服务,并且在客户端服务器上执行如下命令来验证 NTP 时间同步服务是否可用:

# ntpdate -du adc1.tecmint.lan    [你的 AD DC 服务器]

Verify NTP Time Synchronization

验证 NTP 时间同步

至此, NTP 服务应该已经工作正常了。

第三步:把 Windows 10 系统加入域环境

9、从我们的前一篇文章可以看出,Samba4 活动目录可以使用 samba-tool 工具在命令行下管理,可以直接在服务器上的 VTY 控制台或者通过 SSH 工具远程连接到服务器上进行管理。

另外,更直观更灵活的方式是使用已加入域的 Windows 电脑中的微软远程服务器管理工具(RSAT)来管理我们的 Samba4 AD 域控制器。这些工具在当前的大多数 Windows 系统中都可以使用。

把 Windows 10 或是之前版本的微软操作系统加入到 Samba4 AD DC 环境中的过程也是非常容易的。首先,确保你的 Windows 10 电脑已经设置了正确的 Samba4 DNS 服务器的 IP 地址,以查询出准确的域解析结果。

打开“控制面板 -> 网络和 Internet -> 网络和共享中心 -> 网卡设置 -> 属性 -> IPv4 -> 属性 -> 使用下面的 DNS 服务器地址”,并且手动输入 Samba4 AD 服务器的 IP 地址,如下图所示:

join Windows to Samba4 AD

把 Windows 10 加入到 Samba4 AD 环境

Add DNS and Samba4 AD IP Address

添加 DNS 和 Samba4 AD 服务器地址

这里的 192.168.1.254 是 Samba4 AD 域控服务器的地址,用于域名解析。相应替换该 IP 地址。

10、下一步,点击 OK 按钮以应用网络设置,打开 CMD 命令行窗口,通过 ping 域名和 Samba4 服务器的 FQDN 地址来测试通过 DNS 解析到域是否连通。

ping tecmint.lan
ping adc1.tecmint.lan

Check Network Connectivity Between Windows and Samba4 AD

检查 Windows 和 Samb4 AD 服务器的网络连通性

11、如果 Windows 客户端 DNS 查询的结果解析正确,那么,你还需要确认客户端时间是否已跟域环境同步。

打开“控制面板 -> 时钟、语言和区域 -> 设置时间和日期 -> Internet 时间页 -> 更改设置”,输入你同步时间的域名和 Internet 时间服务器字段。

点击立即更新按钮来强制与域同步时间,点击 OK 关闭窗口。

Synchronize Time with Internet Server

与 Internet 服务器同步时间

12、最后,通过打开“系统属性 -> 更改 -> 域成员 -> 输入域名”,点击 OK,输入你的域管理员账号和密码,再次点击 OK。

应该弹出一个新的窗口通知你已经是一个域成员了。点击 OK 关闭弹出窗口,并且重启机器以应用域更改。

下面的截图将说明这些操作步骤。

Join Windows Domain to Samba4 AD

把 Windows 域加入到 Samba4 AD 环境

Enter Domain Administration Login

输入域管理员账号登录

Domain Joined to Samba4 AD Confirmation

确认域已加入到 Samba4 AD 环境

Restart Windows Server for Changes

重启 Windows 服务器以应用更改

13、重启之后,单击其它用户并且使用具有管理员权限的 Samba4 域账号登录到 Windows 系统,你已经准备好进入到后边几个步骤了。

Login to Windows Using Samba4 AD Account

使用 Samba4 AD 账号登录到 Windows

第四步:使用 RSAT 工具来管理 Samba4 AD DC

14、微软远程服务器管理工具(RSAT)被广泛地用来管理 Samba4 活动目录,你可以根据你的 Windows 系统版本从下面的地址来下载该工具:

  1. Windows 10: https://www.microsoft.com/en-us/download/details.aspx?id=45520
  2. Windows 8.1: http://www.microsoft.com/en-us/download/details.aspx?id=39296
  3. Windows 8: http://www.microsoft.com/en-us/download/details.aspx?id=28972
  4. Windows 7: http://www.microsoft.com/en-us/download/details.aspx?id=7887

一旦 Windows 10 独立安装包下载完成,运行安装包,等待安装完成并重启机器以应用所有更新。

重启之后,打开“控制面板 -> 程序(卸载程序) -> 启用或关闭 Windows 功能”,勾选所有的远程服务器管理工具。

点击 OK 开始安装,安装完成之后重启系统。

Administer Samba4 AD from Windows

从 Windows 系统下管理 Samba4 AD

15、要进入 RSAT 工具集,打开“控制面板 -> 系统和安全 -> 管理工具”。

这些工具也可以在开始工菜单的管理工具菜单中找到。另外,你也可以打开 Windows MMC 工具和管理单元,从“文件 -> 添加/删除管理单元”菜单中访问它们。

Access Remote Server Administration Tools

访问远程服务器管理工具集

最常用的工具,比如 AD UC ,DNS 和组策略管理工具可以通过从右键菜单发送到功能来新建快捷方式到桌面直接运行。

16、你可以通过 AD UC 和列出域里的电脑(新加入的 Windows 机器应该出现在列表中)来验证 RSAT 功能,创建一个组织单元或组。

在 Samba4 服务器上使用 wbinf 命令来检查用户和组是否已经创建成功。

Active Directory Users and Computers

活动目录用户和计算机

Create Organizational Units and New Users

创建组织单元和新用户

Confirm Samba4 AD Users

确认 Samba4 AD 用户

就这些吧!该主题的下一篇文章将包含其它 Samba4 活动目录的重要内容,包括通过 RSAT 工具来管理 Samba4 活动目录,比如,如何管理 DNS 服务器,添加 DNS 记录和创建 DNS 解析查询区,如何管理及应用域策略以及域用户如何创建交互式登录提示信息。


作者简介:我是一个电脑迷,开源软件及 Linux 系统爱好者,有近4年的 Linux 桌面和服务器系统及 bash 编程经验。


via: http://www.tecmint.com/manage-samba4-ad-from-windows-via-rsat/

作者:Matei Cezar 译者:rusking 校对:wxy

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

这篇文章包括了管理 Samba4 域控制器架构过程中的一些常用命令,比如添加、移除、禁用或者列出用户及用户组等。

我们也会关注一下如何配置域安全策略以及如何把 AD 用户绑定到本地的 PAM 认证中,以实现 AD 用户能够在 Linux 域控制器上进行本地登录。

要求

第一步:在命令行下管理

1、 可以通过 samba-tool 命令行工具来进行管理,这个工具为域管理工作提供了一个功能强大的管理接口。

通过 samba-tool 命令行接口,你可以直接管理域用户及用户组、域组策略、域站点,DNS 服务、域复制关系和其它重要的域功能。

使用 root 权限的账号,直接输入 samba-tool 命令,不要加任何参数选项来查看该工具能实现的所有功能。

# samba-tool -h

samba-tool - Manage Samba Administration Tool

samba-tool —— Samba 管理工具

2、 现在,让我们开始使用 samba-tool 工具来管理 Samba4 活动目录中的用户。

使用如下命令来创建 AD 用户:

# samba-tool user add your_domain_user

添加一个用户,包括 AD 可选的一些重要属性,如下所示:

--------- review all options --------- 
# samba-tool user add -h  
# samba-tool user add your_domain_user --given-name=your_name --surname=your_username [email protected] --login-shell=/bin/bash

Create User on Samba AD

在 Samba AD 上创建用户

3、 可以通过下面的命令来列出所有 Samba AD 域用户:

# samba-tool user list

List Samba AD Users

列出 Samba AD 用户信息

4、 使用下面的命令来删除 Samba AD 域用户:

# samba-tool user delete your_domain_user

5、 重置 Samba 域用户的密码:

# samba-tool user setpassword your_domain_user

6、 启用或禁用 Samba 域用户账号:

# samba-tool user disable your_domain_user
# samba-tool user enable your_domain_user

7、 同样地,可以使用下面的方法来管理 Samba 用户组:

--------- review all options --------- 
# samba-tool group add –h  
# samba-tool group add your_domain_group

8、 删除 samba 域用户组:

# samba-tool group delete your_domain_group

9、 显示所有的 Samba 域用户组信息:

# samba-tool group list

10、 列出指定组下的 Samba 域用户:

# samba-tool group listmembers "your_domain group"

List Samba Domain Members of Group

列出 Samba 域用户组

11、 从 Samba 域组中添加或删除某一用户:

# samba-tool group addmembers your_domain_group your_domain_user
# samba-tool group remove members your_domain_group your_domain_user

12、 如上面所提到的, samba-tool 命令行工具也可以用于管理 Samba 域策略及安全。

查看 samba 域密码设置:

# samba-tool domain passwordsettings show

Check Samba Domain Password

检查 Samba 域密码

13、 为了修改 samba 域密码策略,比如密码复杂度,密码失效时长,密码长度,密码重复次数以及其它域控制器要求的安全策略等,可参照如下命令来完成:

---------- List all command options ---------- 
# samba-tool domain passwordsettings -h 

Manage Samba Domain Password Settings

管理 Samba 域密码策略

不要把上图中的密码策略规则用于生产环境中。上面的策略仅仅是用于演示目的。

第二步:使用活动目录账号来完成 Samba 本地认证

14、 默认情况下,离开 Samba AD DC 环境,AD 用户不能从本地登录到 Linux 系统。

为了让活动目录账号也能登录到系统,你必须在 Linux 系统环境中做如下设置,并且要修改 Samba4 AD DC 配置。

首先,打开 Samba 主配置文件,如果以下内容不存在,则添加:

$ sudo nano /etc/samba/smb.conf

确保以下参数出现在配置文件中:

winbind enum users = yes
winbind enum groups = yes

Samba Authentication Using Active Directory User Accounts

Samba 通过 AD 用户账号来进行认证

15、 修改之后,使用 testparm 工具来验证配置文件没有错误,然后通过如下命令来重启 Samba 服务:

$ testparm
$ sudo systemctl restart samba-ad-dc.service

Check Samba Configuration for Errors

检查 Samba 配置文件是否报错

16、 下一步,我们需要修改本地 PAM 配置文件,以让 Samba4 活动目录账号能够完成本地认证、开启会话,并且在第一次登录系统时创建一个用户目录。

使用 pam-auth-update 命令来打开 PAM 配置提示界面,确保所有的 PAM 选项都已经使用 [空格] 键来启用,如下图所示:

完成之后,按 [Tab] 键跳转到 OK ,以启用修改。

$ sudo pam-auth-update

Configure PAM for Samba4 AD

为 Samba4 AD 配置 PAM 认证

Enable PAM Authentication Module for Samba4 AD Users

为 Samba4 AD 用户启用 PAM认证模块

17、 现在,使用文本编辑器打开 /etc/nsswitch.conf 配置文件,在 passwdgroup 参数的最后面添加 winbind 参数,如下图所示:

$ sudo vi /etc/nsswitch.conf

Add Windbind Service Switch for Samba

为 Samba 服务添加 Winbind Service Switch 设置

18、 最后,编辑 /etc/pam.d/common-password 文件,查找下图所示行并删除 user_authtok 参数。

该设置确保 AD 用户在通过 Linux 系统本地认证后,可以在命令行下修改他们的密码。有这个参数时,本地认证的 AD 用户不能在控制台下修改他们的密码。

password       [success=1 default=ignore]      pam_winbind.so try_first_pass

Allow Samba AD Users to Change Passwords

允许 Samba AD 用户修改密码

在每次 PAM 更新安装完成并应用到 PAM 模块,或者你每次执行 pam-auth-update 命令后,你都需要删除 use_authtok 参数。

19、 Samba4 的二进制文件会生成一个内建的 windindd 进程,并且默认是启用的。

因此,你没必要再次去启用并运行 Ubuntu 系统官方自带的 winbind 服务。

为了防止系统里原来已废弃的 winbind 服务被启动,确保执行以下命令来禁用并停止原来的 winbind 服务。

$ sudo systemctl disable winbind.service
$ sudo systemctl stop winbind.service

虽然我们不再需要运行原有的 winbind 进程,但是为了安装并使用 wbinfo 工具,我们还得从系统软件库中安装 Winbind 包。

wbinfo 工具可以用来从 winbindd 进程侧来查询活动目录用户和组。

以下命令显示了使用 wbinfo 命令如何查询 AD 用户及组信息。

$ wbinfo -g
$ wbinfo -u
$ wbinfo -i your_domain_user

Check Samba4 AD Information

检查 Samba4 AD 信息

Check Samba4 AD User Info

检查 Samba4 AD 用户信息

20、 除了 wbinfo 工具外,你也可以使用 getent 命令行工具从 Name Service Switch 库中查询活动目录信息库,在 /etc/nsswitch.conf 配置文件中有相关描述内容。

通过 grep 命令用管道符从 getent 命令过滤结果集,以获取信息库中 AD 域用户及组信息。

# getent passwd | grep TECMINT
# getent group | grep TECMINT

Get Samba4 AD Details

查看 Samba4 AD 详细信息

第三步:使用活动目录账号登录 Linux 系统

21、 为了使用 Samba4 AD 用户登录系统,使用 su - 命令切换到 AD 用户账号即可。

第一次登录系统后,控制台会有信息提示用户的 home 目录已创建完成,系统路径为 /home/$DOMAIN/ 之下,名字为用户的 AD 账号名。

使用 id 命令来查询其它已登录的用户信息。

# su - your_ad_user
$ id
$ exit

Check Samba4 AD User Authentication on Linux

检查 Linux 下 Samba4 AD 用户认证结果

22、 当你成功登入系统后,在控制台下输入 passwd 命令来修改已登录的 AD 用户密码。

$ su - your_ad_user
$ passwd

Change Samba4 AD User Password

修改 Samba4 AD 用户密码

23、 默认情况下,活动目录用户没有可以完成系统管理工作的 root 权限。

要授予 AD 用户 root 权限,你必须把用户名添加到本地 sudo 组中,可使用如下命令完成。

确保你已输入域 、斜杠和 AD 用户名,并且使用英文单引号括起来,如下所示:

# usermod -aG sudo 'DOMAIN\your_domain_user'

要检查 AD 用户在本地系统上是否有 root 权限,登录后执行一个命令,比如,使用 sudo 权限执行 apt-get update 命令。

# su - tecmint_user
$ sudo apt-get update

Grant sudo Permission to Samba4 AD User

授予 Samba4 AD 用户 sudo 权限

24、 如果你想把活动目录组中的所有账号都授予 root 权限,使用 visudo 命令来编辑 /etc/sudoers 配置文件,在 root 权限那一行添加如下内容:

%DOMAIN\\your_domain\  group ALL=(ALL:ALL) ALL

注意 /etc/sudoers 的格式,不要弄乱。

/etc/sudoers 配置文件对于 ASCII 引号字符处理的不是很好,因此务必使用 '%' 来标识用户组,使用反斜杠来转义域名后的第一个斜杠,如果你的组名中包含空格(大多数 AD 内建组默认情况下都包含空格)使用另外一个反斜杠来转义空格。并且域的名称要大写。

Give Sudo Access to All Samba4 AD Users

授予所有 Samba4 用户 sudo 权限

好了,差不多就这些了!管理 Samba4 AD 架构也可以使用 Windows 环境中的其它几个工具,比如 ADUC、DNS 管理器、 GPM 等等,这些工具可以通过安装从 Microsoft 官网下载的 RSAT 软件包来获得。

要通过 RSAT 工具来管理 Samba4 AD DC ,你必须要把 Windows 系统加入到 Samba4 活动目录。这将是我们下一篇文章的重点,在这之前,请继续关注。


via: http://www.tecmint.com/manage-samba4-active-directory-linux-command-line

作者:Matei Cezar 译者:rusking 校对:wxy

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

RHEL 是由红帽公司开发维护的开源 Linux 发行版,可以运行在所有的主流 CPU 架构中。一般来说,多数的 Linux 发行版都可以免费下载、安装和使用,但对于 RHEL,只有在购买了订阅之后,你才能下载和使用,否则只能获取到试用期为 30 天的评估版。

本文会告诉你如何在你的机器上安装最新的 RHEL 7.3,当然了,使用的是期限 30 天的评估版 ISO 镜像,请自行到 https://access.redhat.com/downloads 下载。

如果你更喜欢使用 CentOS,请移步 CentOS 7.3 安装指南

欲了解 RHEL 7.3 的新特性,请参考 版本更新日志

先决条件

本次安装是在支持 UEFI 的虚拟机固件上进行的。为了完成安装,你首先需要进入主板的 EFI 固件更改启动顺序为已刻录好 ISO 镜像的对应设备(DVD 或者 U 盘)。

如果是通过 USB 介质来安装,你需要确保这个可以启动的 USB 设备是用支持 UEFI 兼容的工具来创建的,比如 Rufus,它能将你的 USB 设备设置为 UEFI 固件所需要的 GPT 分区方案。

为了进入主板的 UEFI 固件设置面板,你需要在电脑初始化 POST ( 通电自检 Power on Self Test ) 的时候按下一个特殊键。

关于该设置需要用到特殊键,你可以向主板厂商进行咨询获取。通常来说,在笔记本上,可能是这些键:F2、F9、F10、F11 或者 F12,也可能是 Fn 与这些键的组合。

此外,更改 UEFI 启动顺序前,你要确保 快速启动选项 QuickBoot/FastBoot 安全启动选项 Secure Boot 处于关闭状态,这样才能在 EFI 固件中运行 RHEL。

有一些 UEFI 固件主板模型有这样一个选项,它让你能够以传统的 BIOS 或者 EFI CSM ( 兼容支持模块 Compatibility Support Module ) 两种模式来安装操作系统,其中 CSM 是主板固件中一个用来模拟 BIOS 环境的模块。这种类型的安装需要 U 盘以 MBR 而非 GPT 来进行分区。

此外,一旦在你的 UEFI 机器中以这两种模式之一成功安装好 RHEL 或者类似的 OS,那么安装好的系统就必须以你安装时使用的模式来运行。而且,你也不能够从 UEFI 模式变更到传统的 BIOS 模式,反之亦然。强行变更这两种模式会让你的系统变得不稳定、无法启动,同时还需要重新安装系统。

RHEL 7.3 安装指南

1、 首先,下载并使用合适的工具刻录 RHEL 7.3 ISO 镜像到 DVD 或者创建一个可启动的 U 盘。

给机器加电启动,把 DVD/U 盘放入合适驱动器中,并根据你的 UEFI/BIOS 类型,按下特定的启动键变更启动顺序来启动安装介质。

当安装介质被检测到之后,它会启动到 RHEL 的 grub 菜单。选择“Install red hat Enterprise Linux 7.3” 并按回车继续。

RHEL 7.3 Boot Menu

RHEL 7.3 启动菜单

2、 之后屏幕就会显示 RHEL 7.3 欢迎界面。该界面选择安装过程中使用的语言 (LCTT 译注:这里选的只是安装过程中使用的语言,之后的安装中才会进行最终使用的系统语言环境) ,然后按回车到下一界面。

Select RHEL 7.3 Language

选择 RHEL 7.3 安装过程使用的语言

3、 下一界面中显示的是安装 RHEL 时你需要设置的所有事项的总体概览。首先点击 日期和时间 DATE & TIME 并在地图中选择你的设备所在地区。

点击最上面的 完成 Done 按钮来保持你的设置,并进行下一步系统设置。

RHEL 7.3 Installation Summary

RHEL 7.3 安装概览

Select RHEL 7.3 Date and Time

选择 RHEL 7.3 日期和时间

4、 接下来,就是配置你的 键盘 keyboard 布局并再次点击 完成 Done 按钮返回安装主菜单。

Configure Keyboard Layout

配置键盘布局

5、 紧接着,选择你使用的 语言支持 language support ,并点击 完成 Done ,然后进行下一步。

Choose Language Support

选择语言支持

6、 安装源 Installation Source 保持默认就好,因为本例中我们使用本地安装 (DVD/USB 镜像),然后进行 软件集选择 Software Selection

此处你可以选择 基本环境 base environment 附件 Add-ons 。由于 RHEL 常用作 Linux 服务器, 最小化安装 Minimal Installation 对于系统管理员来说则是最佳选择。

对于生产环境来说,这也是官方极力推荐的安装方式,因为我们只需要在 OS 中安装极少量软件就好了。

这也意味着高安全性、可伸缩性以及占用极少的磁盘空间。同时,通过购买 订阅 subscription 或使用 DVD 镜像源,这里列出的的其它环境和附件都是可以在命令行中很容易地安装。

RHEL 7.3 Software Selection

RHEL 7.3 软件集选择

7、 万一你想要安装预定义的基本环境之一,比方说 Web 服务器、文件 & 打印服务器、架构服务器、虚拟化主机、带 GUI 的服务器等,直接点击选择它们,然后在右边的框选择附件,最后点击 完成 Done 结束这一步操作即可。

Select Server with GUI on RHEL 7.3

选择带 GUI 的服务器

8、 在接下来点击 安装目标 Installation Destination ,这个步骤要求你为将要安装的系统进行分区、格式化文件系统并设置挂载点。

最安全的做法就是让安装器自动配置硬盘分区,这样会创建 Linux 系统所有需要用到的基本分区 (在 LVM 中创建 /boot/boot/efi/(root) 以及 swap 等分区),并格式化为 RHEL 7.3 默认的 XFS 文件系统。

请记住:如果安装过程是从 UEFI 固件中启动的,那么硬盘的分区表则是 GPT 分区方案。否则,如果你以 CSM 或传统 BIOS 来启动,硬盘的分区表则使用老旧的 MBR 分区方案。

假如不喜欢自动分区,你也可以选择配置你的硬盘分区表,手动创建自己需要的分区。

不论如何,本文推荐你选择自动配置分区。最后点击 完成 Done 继续下一步。

Choose RHEL 7.3 Installation Drive

选择 RHEL 7.3 的安装硬盘

9、 下一步是禁用 Kdump 服务,然后配置网络。

Disable Kdump Feature

禁用 Kdump 特性

10、 在 网络和主机名 Network and Hostname 中,设置你机器使用的主机名和一个描述性名称,同时拖动 Ethernet 开关按钮到 ON 来启用网络功能。

如果你在自己的网络中有一个 DHCP 服务器,那么网络 IP 设置会自动获取和使用。

Configure Network Hostname

配置网络主机名称

11、 如果要为网络接口设置静态 IP,点击 配置 Configure 按钮,然后手动设置 IP,如下方截图所示。

设置好网络接口的 IP 地址之后,点击 保存 Save 按钮,最后切换一下网络接口的 OFFON 状态已应用刚刚设置的静态 IP。

最后,点击 完成 Done 按钮返回到安装设置主界面。

Configure Network IP Address

配置网络 IP 地址

12、 最后,在安装配置主界面需要你配置的最后一项就是 安全策略配置 Security Policy 文件了。选择并应用 默认的 Default 安全策略,然后点击 完成 Done 返回主界面。

回顾所有的安装设置项并点击 开始安装 Begin Installation 按钮来启动安装过程,这个过程启动之后,你就没有办法停止它了。

Apply Security Policy for RHEL 7.3

为 RHEL 7.3 启用安全策略

Begin Installation of RHEL 7.3

开始安装 RHEL 7.3

13、 在安装过程中,你的显示器会出现 用户设置 User Settings 。首先点击 Root 密码 Root Password 为 root 账户设置一个高强度密码。

Configure User Settings

配置用户选项

Set Root Account Password

设置 Root 账户密码

14、 最后,创建一个新用户,通过选中 使该用户成为管理员 Make this user administrator 为新建的用户授权 root 权限。同时还要为这个账户设置一个高强度密码,点击 完成 Done 返回用户设置菜单,就可以等待安装过程完成了。

Create New User Account

创建新用户账户

RHEL 7.3 Installation Process

RHEL 7.3 安装过程

15、 安装过程结束并成功安装后,弹出或拔掉 DVD/USB 设备,重启机器。

RHEL 7.3 Installation Complete

RHEL 7.3 安装完成

Booting Up RHEL 7.3

启动 RHEL 7.3

至此,安装完成。为了后期一直使用 RHEL,你需要从 Red Hat 消费者门户购买一个订阅,然后在命令行 使用订阅管理器来注册你的 RHEL 系统


作者简介:

Matei Cezar

我是一个终日沉溺于电脑的家伙,对开源的 Linux 软件非常着迷,有着 4 年 Linux 桌面发行版、服务器和 bash 编程经验。


via: http://www.tecmint.com/red-hat-enterprise-linux-7-3-installation-guide/

作者:Matei Cezar 译者:GHLandy 校对:wxy

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

Samba 是一个自由的开源软件套件,用于实现 Windows 操作系统与 Linux/Unix 系统之间的无缝连接及共享资源。

Samba 不仅可以通过 SMB/CIFS 协议组件来为 Windows 与 Linux 系统之间提供独立的文件及打印机共享服务,它还能实现 活动目录 Active Directory 域控制器 Domain Controller 的功能,或者让 Linux 主机加入到域环境中作为域成员服务器。当前的 Samba4 版本实现的 AD DC 域及林功能级别可以取代 Windows 2008 R2 系统的域相关功能。

本系列的文章的主要内容是使用 Samba4 软件来配置活动目录域控制器,涉及到 Ubuntu、CentOS 和 Windows 系统相关的以下主题:

  • 第 1 节:在 Ubuntu 系统上使用 Samba4 来创建活动目录架构
  • 第 2 节:在 Linux 命令行下管理 Samba4 AD 架构
  • 第 3 节:在 Windows 10 操作系统上安装 RSAT 工具来管理 Samba4 AD
  • 第 4 节:从 Windows 中管理 Samba4 AD 域控制器 DNS 和组策略
  • 第 5 节:使用 Sysvol Replication 复制功能把 Samba 4 DC 加入到已有的 AD
  • 第 6 节:从 Linux DC 服务器通过 GOP 来添加一个共享磁盘并映射到 AD
  • 第 7 节:把 Ubuntu 16.04 系统主机作为域成员服务器添加到 AD
  • 第 8 节:把 CenterOS 7 系统主机作为域成员服务器添加到 AD
  • 第 9 节:在 AD Intranet 区域创建使用 kerberos 认证的 Apache Website

这篇指南将阐明在 Ubuntu 16.04 和 Ubuntu 14.04 操作系统上安装配置 Samba4 作为域控服务器组件的过程中,你需要注意的每一个步骤。

以下安装配置文档将会说明在 Windows 和 Linux 的混合系统环境中,关于用户、机器、共享卷、权限及其它资源信息的主要配置点。

环境要求:

  1. Ubuntu 16.04 服务器安装
  2. Ubuntu 14.04 服务器安装
  3. 为你的 AD DC 服务器设置静态IP地址

第一步:初始化 Samba4 安装环境

1、 在开始安装 Samba4 AD DC 之前,让我们先做一些准备工作。首先运行以下命令来确保系统已更新了最新的安全特性,内核及其它补丁:

$ sudo apt-get update 
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade

2、 其次,打开服务器上的 /etc/fstab 文件,确保文件系统分区的 ACL 已经启用 ,如下图所示。

通常情况下,当前常见的 Linux 文件系统,比如 ext3、ext4、xfs 或 btrfs 都默认支持并已经启用了 ACL 。如果未设置,则打开并编辑 /etc/fstab 文件,在第三列添加 acl,然后重启系统以使用修改的配置生效。

Enable ACL's on Linux Filesystem

启动 Linux 文件系统的 ACL 功能

3、 最后使用一个具有描述性的名称来设置主机名 ,比如这往篇文章所使用的 adc1。通过编辑 /etc/hostname 文件或使用使用下图所示的命令来设置主机名。

$ sudo hostnamectl set-hostname adc1

为了使修改的主机名生效必须重启服务器。

第二步: 为 Samba4 AD DC 服务器安装必需的软件包

4、 为了让你的服务器转变为域控制器,你需要在服务器上使用具有 root 权限的账号执行以下命令来安装 Samba 套件及所有必需的软件包。

$ sudo apt-get install samba krb5-user krb5-config winbind libpam-winbind libnss-winbind

Install Samba on Ubuntu

在 Ubuntu 系统上安装 Samba 套件

5、 安装包在执行的过程中将会询问你一系列的问题以便完成域控制器的配置。

在第一屏中你需要以大写为 Kerberos 默认 REALM 输入一个名字。以大写为你的域环境输入名字,然后单击回车继续。

Configuring Kerberos Authentication

配置 Kerosene 认证服务

6、 下一步,输入你的域中 Kerberos 服务器的主机名。使用和上面相同的名字,这一次使用小写,然后单击回车继续。

Set Hostname Kerberos Server

设置 Kerberos 服务器的主机名

7、 最后,指定 Kerberos realm 管理服务器的主机名。使用更上面相同的名字,单击回车安装完成。

Set Hostname Administrative Server

设置管理服务器的主机名

第三步:为你的域环境开启 Samba AD DC 服务

8、 在为域服务器配置 Samba 服务之前,先运行如下命令来停止并禁用所有 Samba 进程。

$ sudo systemctl stop samba-ad-dc.service smbd.service nmbd.service winbind.service
$ sudo systemctl disable samba-ad-dc.service smbd.service nmbd.service winbind.service

9、 下一步,重命名或删除 Samba 原始配置文件。在开启 Samba 服务之前,必须执行这一步操作,因为在开启服务的过程中 Samba 将会创建一个新的配置文件,如果检测到原有的 smb.conf 配置文件则会报错。

$ sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.initial

10、 现在,使用 root 权限的账号并接受 Samba 提示的默认选项,以交互方式启动 域供给 domain provision

还有,输入正确的 DNS 服务器地址并且为 Administrator 账号设置强密码。如果使用的是弱密码,则域供给过程会失败。

$ sudo samba-tool domain provision --use-rfc2307 –interactive

Samba Domain Provisioning

Samba 域供给

11、 最后,使用以下命令重命名或删除 Kerberos 认证在 /etc 目录下的主配置文件,并且把 Samba 新生成的 Kerberos 配置文件创建一个软链接指向 /etc 目录。

$ sudo mv /etc/krb6.conf /etc/krb5.conf.initial
$ sudo ln –s /var/lib/samba/private/krb5.conf /etc/

Create Kerberos Configuration

创建 Kerberos 配置文件

12、 启动并开启 Samba 活动目录域控制器后台进程

$ sudo systemctl start samba-ad-dc.service
$ sudo systemctl status samba-ad-dc.service
$ sudo systemctl enable samba-ad-dc.service

Enable Samba Active Directory Domain Controller

开启 Samba 活动目录域控制器服务

13、 下一步,使用 netstat 命令 来验证活动目录启动的服务是否正常。

$ sudo netstat –tulpn| egrep ‘smbd|samba’

Verify Samba Active Directory

验证 Samba 活动目录

第四步: Samba 最后的配置

14、 此刻,Samba 应该跟你想像的一样,完全运行正常。Samba 现在实现的域功能级别可以完全跟 Windows AD DC 2008 R2 相媲美。

可以使用 samba-tool 工具来验证 Samba 服务是否正常:

$ sudo samba-tool domain level show

Verify Samba Domain Level

验证 Samba 域服务级别

15、 为了满足 DNS 本地解析的需求,你可以编辑网卡配置文件,修改 dns-nameservers 参数的值为域控制器地址(使用 127.0.0.1 作为本地 DNS 解析地址),并且设置 dns-search 参数为你的 realm 值。

$ sudo cat /etc/network/interfaces
$ sudo cat /etc/resolv.conf

Configure DNS for Samba AD

为 Samba 配置 DNS 服务器地址

设置完成后,重启服务器并检查解析文件是否指向正确的 DNS 服务器地址。

16、 最后,通过 ping 命令查询结果来检查某些重要的 AD DC 记录是否正常,使用类似下面的命令,替换对应的域名。

$ ping –c3 tecmint.lan       # 域名
$ ping –c3 adc1.tecmint.lan  # FQDN
$ ping –c3 adc1              # 主机

Check Samba AD DNS Records

检查 Samba AD DNS 记录

执行下面的一些查询命令来检查 Samba 活动目录域控制器是否正常。

$ host –t A tecmint.lan
$ host –t A adc1.tecmint.lan
$ host –t SRV _kerberos._udp.tecmint.lan  # UDP Kerberos SRV record
$ host -t SRV _ldap._tcp.tecmint.lan # TCP LDAP SRV record

17、 并且,通过请求一个域管理员账号的身份来列出缓存的票据信息以验证 Kerberos 认证是否正常。注意域名部分使用大写。

$ kinit [email protected]
$ klist

Check Kerberos Authentication on Domain

检查域环境中的 Kerberos 认证是否正确

至此! 你当前的网络环境中已经完全运行着一个 AD 域控制器,你现在可以把 Windows 或 Linux 系统的主机集成到 Samba AD 中了。

在下一期的文章中将会包括其它 Samba AD 域的主题,比如,在 Samba 命令行下如何管理你的域控制器,如何把 Windows 10 系统主机添加到同一个域环境中,如何使用 RSAT 工具远程管理 Samba AD 域,以及其它重要的主题。


via: http://www.tecmint.com/install-samba4-active-directory-ubuntu/

作者:Matei Cezar 译者:rusking 校对:wxy

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

基于 Red Hat 企业版的源代码的最新版本的 CentOS 7 在今年的 12月发布了 CentOS Linux 7 (1611) ,包含了许多 bug 修复、新的包更新,比如 Samba、Squid、libreoffice、SELinux、systemd 及其它软件,并支持第七代 Intel 酷睿 i3、i5、i7 处理器。

本指南会向你展示如何在 UEFI 的机器上使用 DVD ISO 镜像来安装 CentOS 7.3。

如果你要是用 RHEL,看下我们的 RHEL 7.3 安装指南

要求

要在 UEFI 的机器上正确安装 CentOS 7.3,首先按下键(F2F11F12,取决与你的主板类型)进入主板的 UEFI 设置,并且确保 QuickBoot/FastBoot 以及 Secure Boot 已被禁用。

CentOS 7.3 安装

1、 在你从上面的链接下载完成镜像之后,使用 Rufus将它烧录到 DVD 或者创建一个可启动的 UEFI 兼容 USB 盘。

将 USB/DVD 放入主板上连接的驱动器中,重启电脑并用特定的功能键(F12F10,取决于主板类型)让 BIOS/UEFI 从 DVD/USB 启动。

ISO 镜像启动完成后,你机器上会显示如下首屏。在菜单中选择 “Install CentOS 7”并按下回车继续。

CentOS 7.3 Boot Menu

CentOS 7.3 启动菜单

2、 在安装镜像加载到内存完成后,会显示一个欢迎页面。选择你在安装中使用的语言并按下“ 继续 Continue ”按钮。

Select CentOS 7.3 Installation Language

选择 CentOS 7.3 安装语言

3、 在下一个页面点击“ 日期和时间 Date and Time ”,从地图中选择你的地理位置。确认日期和时间正确配置了并点击“ 完成 Done ”按钮来回到主安装界面。

CentOS 7.3 Installation Summary

CentOS 7.3 安装总结

Select Date and Time

选择日期和时间

4、 点击“ 键盘 Keyboard ”菜单进入键盘布局页面。选择或者添加一个键盘布局并点击“ 完成 Done ”按钮继续。

Select Keyboard Layout

选择键盘布局

5、 接下来,为你的系统添加或者配置一个语言并点击“ 完成 Done ”按钮进入下一步。

Select Language Support

选择语言支持

6、 在这步中,你可以通过选择列表中安全配置来设置你的系统“ 安全策略 Security Policy ”。

点击选择配置按钮来选择你想要的安全配置并点击“ 应用安全策略 Apply security policy ”按钮到 On。点击“ 完成 Done ”按钮后继续安装流程。

Enable CentOS 7.3 Security Policy

启用 CentOS 7.3 安全策略

7、 下一步中你可以点击“ 软件选择 Software Selection ”按钮来配置你的基础机器环境。

左边的列表是你可以选择安装桌面环境(Gnome、KDE Plasma 或者创意工作站)或者安装一个服务器环境(Web 服务器、计算节点、虚拟化主机、基础设施服务器、带图形界面的服务器或者文件及打印服务器)或者执行一个最小化的安装。

为了随后能自定义你的系统,选择最小化安装并附加兼容库,点击“ 完成 Done ”按钮继续。

CentOS 7.3 Software Selection

CentOS 7.3 软件选择

对于完整的 Gnome 或者 KDE 桌面环境,使用下面的截图作为指引。

Gnome Desktop Software Selection

Gnome 桌面软件选择

KDE Desktop Software Selection

KDE 桌面软件选择

8、 假设你要在服务器上安装一个图形界面,选择左边那栏“ 带 GUI 的服务器 Server with GUI ”那项,并在右边那栏中根据你需要提供给客户端的服务选择合适的附加软件。

你可以选择的服务是非常多样化的,从备份、DNS 或者 e-mail 服务到文件存储服务、FTP、HA 或者监控工具。只选择对你网络设置最重要的服务。

Select Server with GUI

选择带 GUI 的服务器

9、 如果你不使用特定的网络协议比如 HTTP、HTTPS、FTP 或者 NFS 的额外仓库,安装源保持默认,并点击“ 安装位置 Installation Destination ”来创建一个磁盘分区。

在“ 设备选择 Device selection ”页面,确保你已经选择了本地磁盘。同样,在“ 其他存储选项 Other Storage Options ”中确保选择了“ 自动配置分区 Automatically configure partitioning ”。

这个选项可以确保你的磁盘会恰当地根据磁盘空间和 Linux 文件系统层次结构进行分区。它会为你自动创建 /(root)/home和 swap 分区。点击“ 完成 Done ”来应用磁盘分区方案并回到主安装界面。

重要提醒:如果你想要创建自定义分区及自定义分区大小,你可以选择“ 我要配置分区 I will configure partitioning ”选项来创建自定义分区。

Select CentOS 7.3 Installation Destination

安装 CentOS 7.3 安装位置

10、 接下来,如果你想要释放系统内存,点击 KDUMP 选项并禁用它。点击“ 完成 Done ”并回到主安装界面。

Kdump Selection

Kdump 选择

11、 在下一步中设置你的主机名并启用网络服务。点击“ 网络和主机名 Network & Hostname ”,在主机名中输入你的 FQDN(完整限定网域名称),如果你在局域网中有一个 DHCP 服务器,将以太网按钮从 OFF 切换到 ON 来激活网络接口。

Set Network and Hostname

设置网络及主机名

12、 为了静态配置你的网络接口,点击“ 配置 Configure ”按钮,手动如截图所示添加 IP 设置,并点击“ 保存 Save ”按钮来应用更改。完成后,点击“ 完成 Done ”按钮来回到主安装菜单。

Configure Network and IP Address

配置网络和 IP 地址

13、 最后检查下所有到目前为止的配置,如果一切没问题,点击“ 开始安装 Begin Installation ”按钮开始安装。

Begin CentOS 7.3 Installation Guide

开始 CentOS 7.3 安装向导

14、 开始安装后,一个新的设置用户界面会显示出来。首先点击 “ root 密码 ROOT PASSWORD ”并添加一个强密码。

root 账户是每个 Linux 系统的最高管理账户密码,它拥有所有的权限。设置完成后点击完成按回到用户设置界面。

Select Root Password

选择 root 密码

Set Root Password

设置 root 密码

15、 用 root 账户运行系统是非常不安全和危险的,因此建议你点击“ 创建用户 User Creation ”按钮创建一个新的系统账户来执行每日的系统任务

添加新的用户,并同时选择下面的两个选项来授予用户 root 权限以及每次在登录系统时手动输入密码。

当你完成最后一项点击“ 完成 Done ”按钮并等待安装完成。

Create User Account

创建用户账户

16、 几分钟后安装程序会报告 CentOS 已经成功安装在你机器中。要使用系统,你只需要移除安装媒介并重启机器。

CentOS 7.3 Installation Complete

CentOS 7.3 安装完成

17、 重启之后,使用安装中创建的用户登录系统,并且用 root 权限执行下面的命令来执行系统更新。

$ sudo yum update

Update CentOS 7.3

更新 CentOS 7.3

所有 yum 管理器的问题都选择yes,最后再次重启电脑(使用 sudo init 6)来应用新的内核升级。

$ sudo init 6

就是这样!在你的机器中享受最新的 CentOS 7.3 吧。


作者简介:

Matei Cezar

我是一个电脑上瘾的家伙,一个开源和 Linux 系统软件的粉丝,有大约 4 年的 Linux 桌面、服务器和 bash 脚本的经验。


via: http://www.tecmint.com/centos-7-3-installation-guide/

作者:Matei Cezar 译者:geekpi 校对:wxy

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

LEMP 是个缩写,代表一组软件包(L:Linux OS,E:Nginx 网络服务器,M:MySQL/MariaDB 数据库和 P:PHP 服务端动态编程语言),它被用来搭建动态的网络应用和网页。

(LCTT 译注:为何采用 LEMP 而不是 LNMP 的缩写?据 https://lemp.io/ 的解释:Nginx 的发音是 Engine-X,重要的发音而不是首字母,而且 LEMP 实际上是可读的,而 LNMP 看起来只是字母表。)

在 Ubuntu 16.04 安装 Nginx 以及 MariaDB,PHP7 并且支持 HTTP 2.0

这篇教程会教你怎么在 Ubuntu 16.04 的服务器上安装 LEMP (Nginx 和 MariaDB 以及 PHP7)。

前置准备

步骤 1:安装 Nginx 服务器

1、Nginx 是一个先进的、资源优化的 Web 服务器程序,用来向因特网上的访客展示网页。我们从 Nginx 服务器的安装开始介绍,使用 apt 命令 从 Ubuntu 的官方软件仓库中获取 Nginx 程序。

$ sudo apt-get install nginx

在 Ubuntu 16.04 安装 Nginx

2、 然后输入 netstatsystemctl 命令,确认 Nginx 进程已经启动并且绑定在 80 端口。

$ netstat -tlpn

检查 Nginx 网络端口连接

$ sudo systemctl status nginx.service

检查 Nginx 服务状态

当你确认服务进程已经启动了,你可以打开一个浏览器,使用 HTTP 协议访问你的服务器 IP 地址或者域名,浏览 Nginx 的默认网页。

http://IP-Address

验证 Nginx 网页

步骤 2:启用 Nginx HTTP/2.0 协议

3、 对 HTTP/2.0 协议的支持默认包含在 Ubuntu 16.04 最新发行版的 Nginx 二进制文件中了,它只能通过 SSL 连接并且保证加载网页的速度有巨大提升。

要启用Nginx 的这个协议,首先找到 Nginx 提供的网站配置文件,输入下面这个命令备份配置文件。

$ cd /etc/nginx/sites-available/
$ sudo mv default default.backup

备份 Nginx 的网站配置文件

4、然后,用文本编辑器新建一个默认文件,输入以下内容:

server {
        listen 443 ssl http2 default_server;
        listen [::]:443 ssl http2 default_server;

        root /var/www/html;

        index index.html index.htm index.php;

        server_name 192.168.1.13;

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

        ssl_certificate /etc/nginx/ssl/nginx.crt;
        ssl_certificate_key /etc/nginx/ssl/nginx.key;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
        ssl_dhparam  /etc/nginx/ssl/dhparam.pem;
        ssl_session_cache shared:SSL:20m;
        ssl_session_timeout 180m;
        resolver 8.8.8.8 8.8.4.4;
        add_header Strict-Transport-Security "max-age=31536000;
        #includeSubDomains" always;


        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }

}

server {
       listen         80;
       listen    [::]:80;
       server_name    192.168.1.13;
       return         301 https://$server_name$request_uri;
}

启用 Nginx HTTP 2 协议

上面的配置片段向所有的 SSL 监听指令中添加 http2 参数来启用 HTTP/2.0

上述添加到服务器配置的最后一段,是用来将所有非 SSL 的流量重定向到 SSL/TLS 默认主机。然后用你主机的 IP 地址或者 DNS 记录(最好用 FQDN 名称)替换掉 server_name 选项的参数。

5、 当你按照以上步骤编辑完 Nginx 的默认配置文件之后,用下面这些命令来生成、查看 SSL 证书和密钥。

用你自定义的设置完成证书的制作,注意 Common Name 设置成和你的 DNS FQDN 记录或者服务器 IP 地址相匹配。

$ sudo mkdir /etc/nginx/ssl
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
$ ls /etc/nginx/ssl/

生成 Nginx 的 SSL 证书和密钥

6、 通过输入以下命令使用一个强 DH 加密算法,这会修改之前的配置文件 ssl_dhparam 所配置的文件。

$ sudo openssl dhparam -out /etc/nginx/ssl/dhparam.pem 2048

创建 Diffie-Hellman 密钥

7、 当 Diffie-Hellman 密钥生成之后,验证 Nginx 的配置文件是否正确、能否被 Nginx 网络服务程序应用。然后运行以下命令重启守护进程来观察有什么变化。

$ sudo nginx -t
$ sudo systemctl restart nginx.service

检查 Nginx 的配置

8、 键入下面的命令来测试 Nginx 使用的是 HTTP/2.0 协议。看到协议中有 h2 的话,表明 Nginx 已经成功配置使用 HTTP/2.0 协议。所有最新的浏览器默认都能够支持这个协议。

$ openssl s_client -connect localhost:443 -nextprotoneg ''

测试 Nginx HTTP 2.0 协议

第 3 步:安装 PHP 7 解释器

通过 FastCGI 进程管理程序的协助,Nginx 能够使用 PHP 动态语言解释器生成动态网络内容。FastCGI 能够从 Ubuntu 官方仓库中安装 php-fpm 二进制包来获取。

9、 在你的服务器控制台里输入下面的命令来获取 PHP7.0 和扩展包,这能够让 PHP 与 Nginx 网络服务进程通信。

$ sudo apt install php7.0 php7.0-fpm 

安装 PHP 7 以及 PHP-FPM

10、 当 PHP7.0 解释器安装成功后,输入以下命令启动或者检查 php7.0-fpm 守护进程:

$ sudo systemctl start php7.0-fpm
$ sudo systemctl status php7.0-fpm

开启、验证 php-fpm 服务

11、 当前的 Nginx 配置文件已经配置了使用 PHP FPM 来提供动态内容。

下面给出的这部分服务器配置让 Nginx 能够使用 PHP 解释器,所以不需要对 Nginx 配置文件作别的修改。

location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

下面是的截图是 Nginx 默认配置文件的内容。你可能需要对其中的代码进行修改或者取消注释。

启用 PHP FastCGI

12、 要测试启用了 PHP-FPM 的 Nginx 服务器,用下面的命令创建一个 PHP 测试配置文件 info.php。接着用 http://IP_or domain/info.php 这个网址来查看配置。

$ sudo su -c 'echo "<?php phpinfo(); ?>" |tee /var/www/html/info.php'

创建 PHP Info 文件

检查 PHP FastCGI 的信息

检查服务器是否宣告支持 HTTP/2.0 协议,定位到 PHP 变量区域中的 $_SERVER[‘SERVER_PROTOCOL’] 就像下面这张截图一样。

检查 HTTP2.0 协议信息

13、 为了安装其它的 PHP7.0 模块,使用 apt search php7.0 命令查找 php 的模块然后安装。

如果你想要 安装 WordPress 或者别的 CMS,需要安装以下的 PHP 模块,这些模块迟早有用。

$ sudo apt install php7.0-mcrypt php7.0-mbstring

安装 PHP 7 模块

14、 要注册这些额外的 PHP 模块,输入下面的命令重启 PHP-FPM 守护进程。

$ sudo systemctl restart php7.0-fpm.service

第 4 步:安装 MariaDB 数据库

15、 最后,我们需要 MariaDB 数据库来存储、管理网站数据,才算完成 LEMP 的搭建。

运行下面的命令安装 MariaDB 数据库管理系统,重启 PHP-FPM 服务以便使用 MySQL 模块与数据库通信。

$ sudo apt install mariadb-server mariadb-client php7.0-mysql
$ sudo systemctl restart php7.0-fpm.service

安装 MariaDB

16、 为了安全加固 MariaDB,运行来自 Ubuntu 软件仓库中的二进制包提供的安全脚本,这会询问你设置一个 root 密码,移除匿名用户,禁用 root 用户远程登录,移除测试数据库。

输入下面的命令运行脚本,并且确认所有的选择。参照下面的截图。

$ sudo mysql_secure_installation

MariaDB 的安全安装

17、 配置 MariaDB 以便普通用户能够不使用系统的 sudo 权限来访问数据库。用 root 用户权限打开 MySQL 命令行界面,运行下面的命令:

$ sudo mysql 
MariaDB> use mysql;
MariaDB> update user set plugin=’‘ where User=’root’;
MariaDB> flush privileges;
MariaDB> exit

MariaDB 的用户权限

最后通过执行以下命令登录到 MariaDB 数据库,就可以不需要 root 权限而执行任意数据库内的命令:

$ mysql -u root -p -e 'show databases'

查看 MariaDB 数据库

好了!现在你拥有了配置在 Ubuntu 16.04 服务器上的 LEMP 环境,你能够部署能够与数据库交互的复杂动态网络应用。


via: http://www.tecmint.com/install-nginx-mariadb-php7-http2-on-ubuntu-16-04/

作者:Matei Cezar 译者:GitFuture 校对:wxy

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