CentOS8服务器建设(安装)
首先
我以前写过关于在お名前.com VPS上安装CentOS7等服务器搭建的文章,但是由于2019年9月发布了CentOS8(1905),所以我想重新利用CentOS8进行服务器搭建。
请参阅下面的文章,了解在CentOS7上进行服务器搭建的步骤。
(2020.5 Update)
2020年1月份已发布CentOS8.1(1911)。
如果已经安装了CentOS8(1905),可以通过dnf update命令进行升级。
可以使用 ‘cat /etc/system-release’ 命令来确认安装的操作系统版本。
可以使用 ‘cat /proc/version’ 命令来确认安装的内核版本。
CentOS8.1的内核版本是Linux 4.18。
过去的文章
-
- CentOS 7 でサーバー構築(インストール編)
-
- CentOS 7 でサーバー構築(論理ボリュームマウント編)
-
- CentOS 7 でサーバー構築(ユーザー作成~SSH開通編)
- CentOS 7 でサーバー構築(パッケージ管理編)
与CentOS7的差异
从网络文章等中找出差异,总体印象是变化点较少。
大致看来,可能存在以下变化点。
-
- パフォーマンスが向上した。
-
- パッケージ管理が yum から dnf に変更された。
-
- ファイヤーウォール機能が iptables から nftables に変更された。
- 時刻同期ソフトウェアが chrony に一本化された。
由于 CentOS7 使用 firewalld 来实现防火墙功能,所以我们继续使用它就可以了。
考虑到包管理方面的好处,我打算借此机会开始使用 dnf。
下载 CentOS8
可以从以下网址下载:
https://www.centos.org/download/
请下载 CentOS Linux DVD ISO。
根据判断,CentOS Stream DVD ISO似乎更适用于开发人员,对于简单的服务器构建用途可能不太合适。
安装服务器
本次也将安装在お名前.com VPS上。
VPS计划是2GB内存计划。
如果只是试用的话,也可以考虑使用HyperV或Virtual Box等虚拟机软件。
安装
将下载的 CentOS8 ISO映像插入服务器,并启动服务器。
选择安装 CentOS Linux 8.0.1905。
请在语言选择页面中选择日本语。
点击“继续”按钮,然后进行下一步操作。
将显示安装概要画面。安装目标项带有一个感叹号标记,需要进行设置。点击安装目标。
安装屏幕将显示。在示例中,已经为200GiB的存储创建了一个20GiB的分区,因此需要删除这20GiB的空间,并将其设置为可用于200GiB的全部空间。
屏幕底部有一个“存储设置”的选项。请将“添加可用空间”复选框设置为打开状态,然后按下左上角的“完成”按钮。
会弹出磁盘区域重新利用对话框。请点击右下方的“全部删除”按钮。
确认所有列表部分的操作项目都被标记为 “删除”,然后按下右下角的 “再利用” 按钮。
返回到安装概览界面。您可以继续安装,但由于希望在服务器上使用,请按下软件选择按钮以更改基础环境。默认选项是服务器(带图形界面),所以我们要更改为不使用图形界面。
从服务器(使用GUI)到服务器进行更改,并点击完成。
所选择的环境插件栏可以保持不变,不需要改动。(之后再安装所需的内容。)
安装目标的设置已经完成。
问题已经解决,所以请点击右下方的“开始安装”按钮。
目前正顯示設定畫面,但背景正在進行安裝程序。
作為用戶設定,您需要設置 root 密碼。請點選 root 密碼。
显示根密码页面。输入根密码。显示密码强度,尽量选择被认定为强大的字符组合。确认输入,如果没有错误显示,则表示OK。点击完成按钮。
我已经返回到设置界面。在这里我们不会创建普通用户。现在请等待后台安装完成。
安装过程已完成。右下角会显示重新启动按钮,请点击。
在重新启动时,需要拔掉插入服务器的CentOS8 ISO图像,但在进行本次作业的 お名前.com VPS 上,在进行重启之前先取出图像,屏幕会卡住。(我猜想在类似的虚拟机环境中,如 HyperV也会出现类似的情况。)手动重新启动后问题得以解决,所以我认为安装工作本身没问题。
如果在控制台界面上启动并显示登录命令提示符,则表示安装已完成。与CentOS 7相比,安装过程本身没有太大的差异,所以不会遇到太多问题。
以后,我打算进行详细的设置等工作。
串行控制台的设置。
目前进行操作的是 お名前.com的VPS,控制面板上配备了控制台界面,使得可以通过浏览器对服务器进行维护。
然而,在浏览器的控制台界面中无法进行字符串的复制和粘贴等操作,这样继续操作稍显不便。
为了避免这种情况,お名前.com的VPS配备了用于串行控制台连接的功能。
但是,如果安装了除お名前.com提供的标准操作系统以外的系统,则无法直接进行串行控制台连接。
因此,首先需要进行串行控制台连接的设置。
现在开始使用root用户登录。
我们将更改/etc/default/grub文件。请按照以下步骤先进行备份,然后再进行操作。
[root@localhost ~]# cp /etc/default/grub /etc/default/grub.org
[root@localhost ~]# vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet console=tty0 console=ttyS0,115200"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
(2020.5 追記)
在开头提到了 CentOS8.1(1911) 的问题,但在我执行 dnf update 后,当尝试使用串行控制台连接时,只显示”read-only”,导致无法连接串行控制台。
于是我重新检查了上述设置,并删除了”GRUB_TERMINAL_OUTPUT=”serial console””的定义。
因为设置值会被”GRUB_TERMINAL=”console serial””覆盖,我认为这是不必要的。
虽然通过这种解决方案情况得以恢复,但真正的原因尚不确定。。。
使用以下命令应用配置。
[root@localhost ~]# /usr/sbin/grub2-mkconfig -o /boot/grub2/grub.cfg
只要没有错误,就可以了。
串行控制台的设置本身就可以,只要重新启动,就会生效,但是屏幕大小会变为默认的24×80,所以事先要更改设置。
串行控制台连接只能由root进行,所以我们假设更改root的.bash_profile。
[root@localhost ~]# vi /root/.bash_profile
请在最后一行添加以下一行。
只需要设置行数(rows)和字符数(columns),根据需要进行相应更改即可。
stty rows 40 columns 130
我完成了设置。
进行重启。
在重启完成后,您将能够通过串口控制台连接。
对于お名前.com VPS用户来说,您可以使用SSH客户端通过SSH进行串口控制台连接。
在出现由于网络设置错误等导致无法直接通过SSH连接服务器的情况下,串口控制台连接将成为连接服务器的可行方式。
在普通用户设置和SSH连接设置完成之前,您可以通过串口控制台连接进行操作。
禁用SELinux
个人认为,与其被卷入繁琐的设置中,还不如果断地禁用SELinux。虽然可能有赞成和反对的声音,但我认为禁用它更好。
用下面的命令来确认当前状态。
[root@localhost ~]# getenforce
Enforcing
由于正在执行强制策略,因此 SELinux 已启用。
更改 SELinux 的配置文件 /etc/selinux/config。
[root@localhost ~]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
完成修改之后,重新启动系统。
重新启动后,登录并使用 getenforce 命令进行确认,结果如下所示:已禁用。
[root@localhost ~]# getenforce
Disabled
一旦到达这个地方
我想在 CentOS 8 的安装过程中,在这里先告一段落。
接下来,我想要开通网络。
相关文章
-
- CentOS8 サーバー構築(インストール) ←今回の記事
CentOS8 サーバー構築(ネットワーク開通とパッケージ更新)
CentOS8 サーバー構築(Open LDAP インストール) ←予定