WebArena Indigo環境設定10) サーバ再起動時の設定

WebArena Indigo環境設定9)コマンドのインストール
https://qiita.com/naga_kt/items/700448615fdea51194b7
の続き。

　VPSを再起動したときにもサービスなどが自動起動するように設定する方法について述べる。

## サービスの再起動の設定

　デフォルトで自動起動するサービスは以下のようにしてリストアップできる。

(CentOS7)
~~~linux
$ systemctl list-unit-files | grep enabled
acpid.service                                 enabled
auditd.service                                enabled
autovt@.service                               enabled
chronyd.service                               enabled
cloud-config.service                          enabled
cloud-final.service                           enabled
cloud-init-local.service                      enabled
cloud-init.service                            enabled
crond.service                                 enabled
getty@.service                                enabled
irqbalance.service                            enabled
kdump.service                                 enabled
microcode.service                             enabled
postfix.service                               enabled
postgresql.service                            enabled
qemu-guest-agent.service                      enabled
rhel-autorelabel.service                      enabled
rhel-configure.service                        enabled
rhel-dmesg.service                            enabled
rhel-domainname.service                       enabled
rhel-import-state.service                     enabled
rhel-loadmodules.service                      enabled
rhel-readonly.service                         enabled
rpcbind.service                               enabled
rsyslog.service                               enabled
sshd.service                                  enabled
systemd-readahead-collect.service             enabled
systemd-readahead-drop.service                enabled
systemd-readahead-replay.service              enabled
tuned.service                                 enabled
rpcbind.socket                                enabled
default.target                                enabled
multi-user.target                             enabled
nfs-client.target                             enabled
remote-fs.target                              enabled
runlevel2.target                              enabled
runlevel3.target                              enabled
runlevel4.target                              enabled
~~~

(RockyLinux8)
~~~linux
$ systemctl list-unit-files | grep enabled
auditd.service                             enabled
autovt@.service                            enabled
chronyd.service                            enabled
cloud-config.service                       enabled
cloud-final.service                        enabled
cloud-init-local.service                   enabled
cloud-init.service                         enabled
crond.service                              enabled
dbus-org.freedesktop.nm-dispatcher.service enabled
dbus-org.freedesktop.timedate1.service     enabled
getty@.service                             enabled
import-state.service                       enabled
irqbalance.service                         enabled
kdump.service                              enabled
loadmodules.service                        enabled
microcode.service                          enabled
NetworkManager-dispatcher.service          enabled
NetworkManager-wait-online.service         enabled
NetworkManager.service                     enabled
nis-domainname.service                     enabled
qemu-guest-agent.service                   enabled
rngd.service                               enabled
rpcbind.service                            enabled
rsyslog.service                            enabled
selinux-autorelabel-mark.service           enabled
sshd.service                               enabled
sssd.service                               enabled
syslog.service                             enabled
timedatex.service                          enabled
tuned.service                              enabled
rpcbind.socket                             enabled
sssd-kcm.socket                            enabled
cloud-init.target                          enabled-runtime
nfs-client.target                          enabled
remote-fs.target                           enabled
dnf-makecache.timer                        enabled
unbound-anchor.timer                       enabled
~~~

　自動起動設定するサービスとしてhttpdを例にする。デフォルトでは以下のようになっている。

(CentOS7/RockyLinux8)
~~~linux
$ systemctl list-unit-files | grep httpd.service
httpd.service                              disabled
~~~

　以下のようにして自動起動設定する。

(CentOS7)
~~~linux
$ sudo systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
~~~

(RockyLinux8)
~~~linux
$ sudo systemctl enable httpd.service
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
~~~

　設定確認するとenableになっている。

(CentOS7/RockyLinux8)
~~~linux
$ systemctl list-unit-files | grep httpd.service
httpd.service                              enabled
~~~

## /etc/rc.d/rc.localの設定

　/etc/rc.d/rc.localファイルはサーバが再起動したときの動作を指定する。サーバが再起動したときに各アカウントでさせたい動作を追記する。デフォルトは以下のようになっている。

(CentOS7)
~~~linux
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

~~~

(RockyLinux8)
~~~linux
!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local

~~~

---

WebArena Indigo環境設定11) ファイアウォールのポート設定
https://qiita.com/naga_kt/items/d9890aef7a188694e43f
に続く。

---

## 参考記事
---

【新旧対応】Linuxでの自動起動の設定方法を解説
https://eng-entrance.com/linux_startup

CentOS8で起動時にプログラムを実行する(rc.localからの置き換え)
https://tire-retire.blogspot.com/2020/05/centos8rclocal.html