RHEL構築(LAMPとか)で最初にやること | クズリーマンのカス備忘録

RHEL構築(LAMPとか)で最初にやること

スポンサーリンク

RHEL系のディストリビューションで、LAMPなど構築するときに最初にやることリスト。

 

ToDo代わりに使うでござる。

 

CentOSでサーバ構築する際に忘れがちなこと
久しぶりにやると忘れててちょっとハマったりして時間ロスになることがあるのでメモしておく。 作業前に検討すること OSバージョン何にするか CentOSとかRHELだと6と7で結構変わってるからね。 既に開発環境で構築してて...

 

以前にこちらでも似たようなこと書いたんだけど、状況と自分の知識が変わったので他のサイトも参考にしながら新たな内容で書いてみる。

 

OS選定

CentOS、サポートやめるってよ。。。代わりになるディストリビューションは
ポイント CentOS8のサポートが2021年末までと発表された CentOS7は2024年までサポートされる CentOS8の代わりにCentOS Stream8が登場 Oracle LinuxもCentOSと同じくRHEL...

以前に上記↑で書いたように、RHEL系のOSは一強だったCentOSのサポートが終了するので、他のディストリビューションを選ぶ必要がある。

どれを選ぶか。詳しくは上記の記事に書いているが、現時点では

  • Rocky Linux
  • AlmaLinux

のいずれかかなーという感じ。

どちらを選んでも大差ない。

これは、メーカーサポート(問い合わせ対応とか)を受けない前提。

 

メーカーサポートを受けたければ、

  • Red Hat Enterprise Linux
  • Oracle Linux

などをチョイスすればいいと思う。

 

 

それではOSのインストール迄終わった後にやること(本題)。↓

 

ミドルウェアの選定

 

Web

  • Apache
  • nginx

お固いところの業務だと未だにApacheが優勢な印象。

レンタルサーバなどはほとんどnginxに切り替えている。

個人で立てる場合はnginxでも良いと思う。

 

DB

RDBに限るけど、主要なものは以下の感じだと思う。

  • mariaDB
  • MySQL
  • PostgreSQL
  • Oracle

個人的に好きな順番に羅列した。

 

ftp(多分、不要)

ProFTPD、vsftpdなどあるが、

もう使わないかなー。

sftpでええやん。

ftpだとファイルが欠損する恐れもあるし。

 

え?CI/CD?なんすかそれ

 

OSのfirewall使うか(多分、不要)

 

  • iptables
  • firewalld

っていう選択肢があると思うが、標準はfirewalld。

 

RHEL7なのに、仕事で、iptablesがインストールされててファイアウォールが在ることに気づかなくて、ハマってるベンダーさんがいたので、他人が構築したサーバだと、iptablesがインストールされているパターンもあるんだなーと頭の片隅にはおいておきたい。

 

使わないなら、無効化する。

事前確認

systemctl status firewalld.service

停止

systemctl stop firewalld.service

自動起動停止

systemctl disable firewalld.service

事後確認

systemctl status firewalld.service

 

 

パーティションの配分(多分、不要)

これはほとんど気にしなくていいかなー。

最近のディスク容量は大きいので。

切りたい場合だけ。

 

ちなみに、Linuxはパーティションじゃなくてスライスだという主張をする方がおられたが、Linuxではパーティションと呼ぶ。スライスと呼ぶのはUnix(Solarisとか)ね。(蛇足)まーこまけぇこたぁ周りに合わせればいいと思う。

 

SELinux無効化

ちゃんと使ってる人どれくらいいるんだろうか。

ワシは無効化する。

 

確認

getenforce

無効化(一時的)

setenforce 0

 

無効化(恒久的)

vim /etc/selinux/config

 

SELINUX=disabled

 

OS再起動

 

 

事後確認

getenforce

Disabled と表示されること。

 

日本対応

 

タイムゾーン

確認コマンド:

$ timedatectl status
Local time: Wed 2022-05-25 19:04:23 JST
Universal time: Wed 2022-05-25 10:04:23 UTC
RTC time: Wed 2022-05-25 10:04:23
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no

 

参考記事

ロケール

参考記事

 

現在のロケール確認:

localectl status

 

ロケールについての知識:

現在は言語と地域と文字コードを組み合わせて「言語_地域.文字コード」と指定します。例えば、日本語は「ja」、日本は「JP」と表すので、「日本語」「日本」「UTF-8」という設定なら、「ja_JP.UTF-8」となります。
出典:@IT

 

設定:

環境変数LANGに設定したり、日本語バックインストールしたりで設定する。

 

さくらVPSのRocky Linux 8 は日本語パックインストールだけで済んだで。

dnf install langpacks-ja

 

ユーザーの追加

adduser

または

useradd

 

パスワード設定

 

su - ユーザー名
passwd

 

 

ユーザーディレクトリのパーミッション

ディレクトリのパーミッションを変える必要がある場合は変えておく。

chmod 755 /home/ユーザー名

 

 

 

ホストネーム変更

CentOS7でhostname設定
暫定 hostname hogehoge.example.com 恒久 hostnamectl set-hostname <HOSTNAME> または vim /etc/hostname 参考にしたサイト qiita コピ...

こちらで。

 

bashプロンプト($PS1)変更

ホストネーム部分の変更については上述を行う。

それ以外の部分を変えたい場合、

 

export PS1="[\u@\h \W]\$ "

みたいに設定する。

 

dotfilesで当てれるようならdotfilesで対応すると早い。

 

 

~/.bashrc設定

主に、aliasを設定する。

環境変数は~/.bash_profileで設定するので、ここでは設定しないことにする

やれる範囲で。

dotfilesで当てれるようならdotfilesで対応すると早い。

 

~/.bash_profile設定

環境変数を設定する。

export 変数名=内容

例)

export LANG=C

vimのインストール

個人的には「入れれるもんなら入れたいソフト」第一位。

 

 

rsyncのインストール

個人的には「入れれるもんなら入れたいソフト」第一位。(二回目)

 

あんだけ素晴らしい機能があって、容量404KB(2022年5月27日現在)って、、、素敵すぎる。

脆弱性には注意だが、SSH固めてれば大丈夫だろう運転。

SSH

 

 

など、適宜設定する。

 

例)

IP制限していれば、rootログイン禁止まではしない 等。

 

IPアドレスでアクセス制限

クラウドやVPSでやってる場合、たいてい、サービス側の管理画面で設定できるはず。

OSで設定する場合は、

などで対応する。

 

dnf update

RHEL7までのyum。新しくdnfに変わった

最初にパッケージ全体を最新化する。

 

 

時刻同期されているかの確認

仕事で他のベンダーさんが対応しているサーバで時刻同期されていないせいでサーバ内のアプリが予期しない動作をする不具合が発生したのを見たことが在る。

 

時刻同期されているか、確認する。

RHEL8なら:

$ chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp1.sakura.ad.jp 2 10 377 583 -881us[ -881us] +/- 15ms

「*」がついてるサーバと同期している。

最初の「^」は、サーバーって意味。

 

RHELの説明ページ

わかりやすい説明ブログ

 

 

古いOSなら:

ntpq -p

参考記事

 

rootユーザーのパスワード設定

su -
passwd

Apacheを入れる場合

  • DocumentRootは?
  • MPMは、eventのままにする?
  • logの名前
  • ログローテート設定確認
  • ssl化するためにmod_sslも入れる
    • dnf install mod_ssl
  • セキュリティ対策実施する
    • 参考
      • クリックジャッキングの動作確認のtelnetがうまく動かんのでその他の項に書いてあるtelnetのやり方でやる
      • 「安全性の低い暗号スイートのサポートの無効化」について、既存の設定がSSLCipherSuite PROFILE=SYSTEM のようになっていれば、わりかし十分と思われ(自己責任でヨロ)
        • 設定の内容は、 /etc/crypto-policies/back-ends/openssl.config に書いてある
        • 参考:> crypto policyという仕組みを使って、システム全体の設定を参照している
        • https://wiki.bit-hive.com/tomizoo/pg/Apache%E3%81%A7%E3%81%AEHTTP%2F2%E8%A8%AD%E5%AE%9A
      • 3-2-1. sslv2,v3無効化の確認 の、確認コマンドは使えない。
        • -ssl2 や -ssl3オプションが使えなくなっている

 

 

また、proxyを利用しない場合は、以下のconfもリネームすることでモジュールを読み込まないようにしておく。(リネームする理由は、後でproxyを利用することになった場合に即座に使えるようにするため。

  • proxy 関連のconf
    • /etc/httpd/conf.modules.d/00-proxy.conf
    • /etc/httpd/conf.modules.d/10-proxy_h2.conf
      • こっちはhttp2用のproxy

 

 

コメント

タイトルとURLをコピーしました