Linuxサーバーの構築手順

Winswos10の仮想化システムHyper-Vとストレージシステム記憶域の紹介。
CentOS 8に構築する各種サーバーの構築手順とLinuxコマンドを解説します。
Windows 10 のHyper-v・記憶域
個人運営のLinuxサーバーについて 一般的にLinuxサーバーの構築をする場合、概ね選択肢としては下記かなと思います。 1台のマシンに直接LinuxのOSをインストール VMwaerで仮想化システムを構築してバーチャルマシンとしてLinuxをインストール そもそもレンタルサーバーを使うからいらない サーバーというのはブログやメールなど、外部のNWに公開している場合は、常に稼働している必要があります。 そのうえでサーバー運営で一番大変なのは、故障や不具合が発生した際のメンテナンスと、ハードウ ...
Windows10の「記憶域」と「Hyper-v」で構築するLinuxサーバーの構成
Windows10で構築するサーバー構成の例 知らない人も多いかと思いますが、Windows8のころからWindowsは Hyper-v(ハイパーブイ)と呼ばれるハイパーバイザ型の仮想化システムと、 記憶域 と呼ばれるストレージシステムがバンドルされています。 仮想化システムとは、1台のOSの上にバーチャルマシンと呼ばれる仮想化システムを複数稼働させることが出来るシステムです。 仮想化システムとして有名なものだと、仮想化システムの構築に特化した VMware と呼ばれるものがあります。 Windows1 ...
Windows 10 でRAID相当の記憶域ストレージをを作成
記憶域について この記事ではWindows 10 の記憶域によるストレージの作成方法について解説します。 そもそも記憶域について詳しく知りたい方は、下記の記事で解説していますので、ご覧ください。 Studio ilia - スタジオ イリア2020.11.17Windows10の「記憶域」と「Hyper-v」で構築するLinuxサーバーの構成https://ilia.jp/centos8/hyper-v_centos8.htmlWindows10で構築するサーバー構成の例知らない人も多いかと思いますが、W ...
Hyper-vの詳細について この記事ではWindowsのHyper-vの仮想化システムに CentOS 8 をインストールの手順を解説します。 そもそもHyper-vについてもう少し詳しく知りたい方は、下記の記事でアーキテクチャーを解説していますので、ご覧ください。 Studio ilia - スタジオ イリア2020.11.17Windows10の「記憶域」と「Hyper-v」で構築するLinuxサーバーの構成https://ilia.jp/centos8/hyper-v_centos8.htmlWi ...
CentOS 8のインストールと設定
Windwos10のHyper-vにCentOS8をインストール
Hyper-vの詳細について この記事ではWindowsのHyper-vの仮想化システムに CentOS 8 をインストールの手順を解説します。 そもそもHyper-vについてもう少し詳しく知りたい方は、下記の記事でアーキテクチャーを解説していますので、ご覧ください。 Studio ilia - スタジオ イリア2020.11.17Windows10の「記憶域」と「Hyper-v」で構築するLinuxサーバーの構成https://ilia.jp/centos8/hyper-v_centos8.htmlWi ...
CentOS 8インストール後にSELinuxとファイアーウォールの解除 CentOS 8 のインストール直後は「SELinux」と「ファイアーウォール」の設定によりターミナル等でSSH接続などの通信が出来ない状況のため、まずこのあたりの設定を含め、サーバーが構築できるように準備します。 SELinuxとファイアーウォール解除による目的 CentOSからインターネットにつなげてソフトウェアをDL出来るようにする。 他PCからリモートログインを出来るようにする。 ▼SELinuxについて SE ...
現在のNW設定の状態確認 CentOS8のインストール中のGUIでネットワークの設置ができますが、その設定をスキップして後からコマンドラインで設定する場合の方法を解説します。 ▼認識しているネットワークデバイスを確認 command # nmcli device eth0 ethernet disconnected -- io loopback unmanaged -- 「eth0」にIPアドレスが設定されることで通常のPCと同じようにインターネットに接続が可能になります。 ▼ ...
Linuxノウハウ
dnfコマンドについて CentOS8 ではサーバーサービスやライブラリなどのパッケージを管理するために dnf と呼ばれるコマンドを主に利用します。 dfnコマンドはRed Hat系のLinuxディストリビューションで使われている『RPMパッケージ』と呼ばれるパッケージファイルを扱うコマンドで、install、update、removeのオプションを指定して実行することで、パッケージのインストールや削除等を行うことができます。 該当パッケージと依存関係にある必要なパッケージはコマンド実行時に自動で識別さ ...
RPMについて RPMとは、米レッドハット(Red Hat)社が開発した、ソフトウェアのパッケージ管理システムです。 Linuxコマンドや各種サーバー構築用のパッケージのファイルを「パッケージ名.バージョン番号.rpm」等のファイル名で構成されています。 構築環境 CentOS Linux release 8.2.2004 (Core) RPMパッケージの操作方法 ▼インストール command # rpm -ivh ファイル名 ▼更新(UPDATE ...
CentOS 8にてcron を利用して処理の時限設定を行う
概要 cron(クローン)はLinuxやMac等のUNIX系のOSに入っているプログラムです。 「この日時に、このプログラムを動かして!」と指示を出しておくと、その時間になったときに指定しておいたプログラムが実行されます。 Shell Script でコマンドの羅列や条件分岐などをスクリプトを作成して、cron に登録して自動起動させる場合などに使われることが多いのです。 毎週目標の夜中の4時にディスク容量を確認してメールで送って! 毎日1時にウィルスチェックツールの定義ファイルを更新して! ...
Shell Scriptの「#!/bin/sh」とシェルについて端的に説明
普段からLinuxやUnixOSを扱うエンジニアさんでも、Shell Scriptや、そもそもシェルって何だろう?という方は意外と多いかと思います。 多くのWEBサイトでこのあたりの説明を詳しく解説されていますが、もっと簡単に説明すると下記のような感じになるかと思います。 Shell UnixOSやLinuxでターミナルでのコマンドライン(CUI)で対話的に操作できるプログラム。 シェルの種類によって、コマンドの打ち方や、キーボードで使えるキー、コマンドの処理方法等が変わる感じです。 オペレ ...
nslookup、dig、host、nsupdate、tracerouteコマンドをインストール
nslookup、dig、host、nsupdate、tracerouteコマンドについて DNSサーバー構築などでホスト名やドメインの処理状況を確認するさいに、これらのコマンドが非常に便利です。 CentOS8を最小でセットアップすると、「nslookup、dig、host、nsupdate、traceroute」のコマンドはインストールされません。 「nslookup、dig、host、nsupdate」コマンドはDNSサーバーを構築するための「BIND」のユーティリティーである「bind-utils ...
SSHでのリモート接続
NTPサーバー
DNSサーバー(BIND)
MySQLデータベース
MySQLについて MySQL(マイ エスキューエル)は、オープンソースのリレーショナルデータベース管理システム(RDBMS)です。 その名前は、共同設立者のMichael Wideniusの娘の名前である「My」と、Structured Query Languageの略称である「SQL」を組み合わせたものらしいのです。 多くの企業や一般の方が利用するデータベースシステムで、本ブログでも解説しているWordpressでも記事や設定データの管理で利用しています。 構築環境 CentOS Lin ...
概要 MySQLのデータベースのバックアップ、リストアは mysqldump コマンドで行います。 テーブル単位やデータベース単位、全データベースを一気に処理するなど、用途に応じて使い分けが可能です。 一般的にはデータベース単位でバックアップを取得することが多いですが、大量のログデータやユーザーデータなどが格納されている場合は、バックアップに時間がかかりタイムアウト等で取得が失敗した際のリスクになるため、テーブル単位で行う事もあります。 構築環境 CentOS Linux release 8 ...
概要 MySQLの最高権限のログインアカウント root のパスワードを忘れてしまった場合は、一度MySQLサービスを停止後、セーフモードでログインしてから現在設定されている root のパスワードを再設定することで復旧させます。 尚、セーフモードのログイン方法はMySQLのバージョンにより異なりますが、本手順では MySQL 8 で行った際の手順を解説します。 構築環境 CentOS Linux release 8.2.2004 (Core) mysql Ver 8.0.21 ...
概要 古いVerのMySQLのDBを新しいVerのMySQLにdumpデータをインポートした後は、データベースのアップグレードが必要です。 構築環境 CentOS Linux release 8.2.2004 (Core) mysql Ver 8.0.21 エラー内容 ▼ログイン時にエラー内容が表示されます command # mysql_upgrade -u root -p Enter password: The mysql_upgrade client is ...
WEBサーバー(Apache)
Apacheについて Apache HTTP Server(アパッチ エイチティーティーピー サーバ)は、フリーのオープンソースのWebサーバです。 Apache はApacheソフトウェア財団の支援のもと、開発者のオープンコミュニティによって開発・保守されています。 Apacheは「httpd」というデーモンで構成されています。 構築環境 CentOS Linux release 8.2.2004 (Core) httpd 2.4.37-21:本体 httpd-tools 2.4.37-2 ...
CentOS 8に構築したApacheに無料SSL証明書の導入(Let's Encrypt)
Let’s Encryptについて サーバーとドメインさえあれば無料のSSL証明書を発行できるサービスです。 2016年4月に正式サービスが開始されて商用利用も可能なのです! ▼公式WEB https://letsencrypt.org/ 構築環境 CentOS Linux release 8.2.2004 (Core) httpd 2.4.37-21 mod_ssl x86_64 1:2.4.37-21 ルータで「ポート 443」を開放 ルータのポ ...
CentOS8にて構築したApacheでバーチャルドメインとリバースプロキシを利用
バーチャルホストの設定 1つのWEBサーバーで複数のドメインを利用してWEBページを公開する場合には「NameVirtualHost 」ディレクティブを利用しドて振り分ける必要があります。 ドメインが複数なければこの設定は必要ありません。 command # vi /etc/httpd/conf/httpd.conf メモ ▼「hoge1.com」の設定 ServerAdmin info@hoge1.com DocumentRoot /home/hoge1/public_htm ...
PHP
CentOS 8に構築したApacheにPHPとPHP-FPMの導入
PHPについて PHP(ピー・エイチ・ピー)は 「The PHP Group」 によってコミュニティベースで開発されているオープンソースの汎用プログラミング言語です。 サーバーサイドで動的なWEBページ作成するための機能を多いのが特徴です。 本手順ではWEBブログツールの「WordPress」を安定稼働させるためのPHPの構築を行います。 ▼公式WEB www.php.netPHP: Hypertext Preprocessor 7 Tweets 443 Usershttps://www.p ...
PHPのアップデートの背景 現在PHPのバージョンは7.2を利用しています。 Remiのリポジトリに7.4が上がっていますが、Wordpressの推奨と違うので今回は7.3にアップデートします。 尚、Remiのリポジトリからインストールする際は「dnf install php:remi-7.4」と指定。 構築環境 CentOS Linux release 8.2.2004 (Core) httpd 2.4.37-21 PHP 7.2 WordPress 5.5 mysql 8.0.21 &n ...
FTPサーバー
メールサーバー(Courier-MTA)
CentOS 8にメールサーバー構築(Courier-MTA)
Courier-MTAについて Courier-MTA(クーリエエムティーエー)は、メールサーバを構築する際に必要な「送信:SMTP」「受信:POP3」「受信:IMAP4」などの各種メールサービスのオールインワンでまとめたオープンソースのパッケージで、公式WEBでは「Courier Mail Server」と呼ばれています。 サーバーにメールを保存してPCやスマホなどのクライアントからメールを見に行く受信方法「IMAP」を提供するパッケージの「Courier-IMAP」は超有名(他にこれ以上のものが無い) ...
概要 「CentOS 8にメールサーバー構築(Courier-MTA)」の手順にて「userdb」に設定したユーザーデータをMySQLで管理できるようになります。 ▼Courier-MTA公式WEBのREADME www.courier-mta.orgCourier MySQL authentication modulehttps://www.courier-mta.org/authlib/README.authmysql.html 構築環境 CentOS Lin ...
CentOS 8にて構築したメールサーバー「CourierMTA」にClamAVを導入してウィルス対策
ClamAVについて Clam AntiVirus (クラム・アンチウイルス)は、オープンソース (GPL) で提供されているクロスプラットフォームのアンチウイルスソフトウェアです。 外部向けにサーバーを運営しているとウィルス対策等が気になると思います。 特にメールサーバーを運営していると、ウィルス感染のリスクも高まるので、「ClamAV」を導入しようと思います。 ClamAVの特徴 メールスキャンソフトとしてはスタンダード! ウィルス定義ファイルの更新が可能! コマンドラインでのスキャンが ...
CentOS 8にて構築したメールサーバー「CourierMTA」にSpammAssassinを導入してスパムメール対策
SpamAssassinについて SpamAssassin(スパムアサシン)はメールサーバに組み込んで、メールサーバーに到達した全メールをチェックすることで、スパムメールか否かを判別してフィルタリングする事が可能です。 スパムと判断されたメールの件名に [SPAM] と文字列を追加されるように設定をして、メーラーの振り分けで管理する方法等、好みの運用方法に合わせってセッティングが可能です。 スパムかどうかの判別は別途コマンドにて学習させることで制度が向上します。 現在はApacheソフトウェア財団のプロジ ...