ECサイト基本システム

[CentOS] 不要PCにCentOS7.6をインストール

4年ほど前、サポートが切れて使わなくなったWindowsServer2003の本体を使って、テスト環境用にLinuxサーバを構築しました。

途中で何度かアップデートをし、現在はCentOS6.10+PHP5.6で動作しています。

しかし、このサーバ機がだいぶ老朽化してきたため、別の不要PCを使って3代目となるサーバ機を構築することにしました。

今回は、CentOSもPHPも7系にしましたが、今までと設定方法などがいろいろ変わっていたので、備忘録代わりに手順をメモメモしたいと思います。

スポンサーリンク

CentOS7.6のダウンロードと準備

今回用意したOSは、2019年2月現在で最新版の、CentOS 7.6.1810。以下のCentOS公式サイトからダウンロードしました。

ダウンロードしたISOイメージを、空のDVD-Rに書き込みます。

Windows7以上でしたら、標準でディスクイメージ書き込みツールが備わっていますので、それを利用します。Windows7の場合は、ISOファイルを右クリックして、以下のように選択します。

Windows7からISOイメージを書き込む

ディスクに書き込みができたら、CentOSをインストールするPCに入れて起動しましょう。

CentOS7.6のインストール

CentOSのインストーラーから、インストールを行います。

インストールディスクの起動

CentOSをディスクから起動すると、以下のような画面になります。

CentOS7インストーラー:起動画面

一番上の「Install CentOS 7」を選択すると、すぐにインストールが始まります。

二番目の「Test this media & install CentOS 7」を選択すると、DVD-Rに焼かれたインストールデータのチェックを行い、データが正常だったらインストールが開始されます。

とりあえず、一番上の「Install CentOS 7」を選択しましょう。そうそうデータが壊れていることも無いでしょうし。

言語の設定

しばらく読み込みが続いた後、まずは言語の設定から始まります。特に理由が無い限り「日本語」を選択しましょう。

CentOS7インストーラー:言語設定

左側のリストから「日本語」を選択すると、右側のリストは自動で「日本語(日本)」になります。選択できたら、右下の青いボタン「続行」をクリック。

インストールの概要

基本的な設定は自動で行われます。ここで確認および設定しておきたいのは、「ソフトウェアの選択」「インストール先」「ネットワークとホスト名」の3つ。

3つの確認および設定が終わったら、右下の「インストールの開始」ボタンをクリックします。

CentOS7インストーラー:インストールの概要

ソフトウェアの選択

CentOSを構成するベースとなる環境の選択と、追加インストールするパッケージの選択を行います。

CentOS7インストーラー:ソフトウェアの選択

今回は主にWebサーバとして使用するため、ベース環境を「ベーシックWebサーバ」とし、その他必要なパッケージを右側から選択しました。

インストール先

こちらは確認だけしておけばOKです。もしパーティション構成などを変更したい場合は、ここで設定します。

CentOS7インストーラー:インストール先

ネットワークとホスト名

イーサネットの設定とホスト名をここで指定できます。

CentOS7インストーラー:ネットワークとホスト名

右上のスイッチを「オン」にすることで、ネットワークが有効になります。デフォルトはDHCPで設定されるようになっていますので、固定IPなどを設定する場合は、右下の「設定」をクリックして表示されるウィンドウで設定します。

左下の「ホスト名」を変更して「適用」をクリックすることで、インストール時にホスト名も設定できます。

インストール中

インストールが開始されると、画面下の方で進捗具合が表示されます。

CentOS7インストーラー:ユーザーの設定

インストール中にrootユーザーのパスワード設定や、ユーザーの作成ができますので、必要に応じて設定しましょう。少なくともrootパスワードは、ここで設定しておいた方がいいでしょう。できるだけ強力なパスワードを設定しておくことをおすすめします。

CentOS7インストーラー:rootパスワード

インストール後の設定

インストールが終わったら、再起動されます。ディスクを取り出して、CentOSを起動しましょう。

インストール後に、まず設定しておくことがいくつかあります。以下に設定方法をメモメモ。全てルートユーザーで実行します。

ちなみに、社内テストサーバ用途での設定になりますので、セキュリティ関係はすっぱり切り落としています。

ホスト名の変更

インストール前に変更を忘れてしまった場合は、以下のように設定します。

# hostnamectl set-hostname [ホスト名]

ちなみに、CentOS7からは対話形式で設定できるNetworkManagerというものを使うことが推奨されているらしい。

# nmtui

一応、ファイルを直接変更する方法もある。

# vi /etc/hostname

SELinuxの無効化

今回はテストサーバなので、とにかく厄介なSELinuxは無効化する。セキュリティ的には、あまりおすすめしない方法です。

# vi /etc/sysconfig/selinux
SELINUX = disabled に変更

今すぐ SELinux を無効化するには、以下のコマンド。

# setenforce 0

IPV6の無効化

IPV6は当面使わないので、無効化する。
無効化しない方がいいかも。詳細は以下の記事で。

不要PCにCentOS7.6をインストールし、最低限の設定が終わったところまで、前回の記事でまとめました。 その日の作業が終わったところで、一旦PCの電源...

一応、無効化する場合は以下の手順で。

# vi /etc/sysctl.d/ipv6.conf

ファイルは存在しないので、新規作成する。以下の2行を記述。

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

設定を反映する。

# sysctl -p/etc/sysctl.d/ipv6.conf

設定が反映されているか確認するには、以下のコマンドを実行する。inet6という項目が消えていればOK。

# ip a

ネットワークを再起動し、現在の環境にも反映させる。

# systemctl restart network

必要なパッケージのインストール

サーバを管理していくうえで必要な、インストーラーではインストールできなかったパッケージをインストールします。

telnetサーバ

毎回コンソールで作業するのは効率が悪いので、telnetサーバを入れて、リモートで操作できるようにします。

いろいろ設定するのも面倒なので、レガシーなtelnet-serverをインストールします。セキュリティ的にはおすすめしませんので、通常はSSHなどをインストールしましょう。

# yum -y install telnet-server

インストールが終わったら、自動起動を有効化し、起動します。

# systemctl enable telnet.socket
# systemctl start telnet.socket

そのままでは他のマシンから接続ができないので、ファイアウォールに例外登録します。実際は改行せず、1行で入力&実行してください。

# firewall-cmd --permanent --zone=public --add-rich-rule "rule family="ipv4" source address="192.168.1.0/24" service name="telnet" log prefix="telnet" level="info" limit value="1/m" accept"

設定を反映させます。

# firewall-cmd --reload

telnet周りの設定は、以下のサイトを参考にさせていただきました。

FTPサーバ

Sambaを設定してしまうので、あまり使う機会がないかもしれませんが、一応FTPサーバも設定しておきます。まずはインストールから。

# yum -y install vsftpd

自動起動を有効化し、起動します。

# systemctl enable vsftpd
# systemctl start vsftpd

ファイアウォールに例外登録し、設定を反映させます。

# firewall-cmd --permanent --zone=public --add-service=vsftpd
# firewall-cmd --reload

Samba(ファイル共有)

Webサイト用のDocumentRootなんかは、毎回FTPで転送するよりSambaで共有してしまった方が楽なので、Sambaを設定します。まずはインストールから。

# yum -y install samba
# yum -y install samba-winbind

自動起動を有効化し、起動します。

# systemctl enable smb nmb
# systemctl start smb nmb

ファイアウォールに例外登録し、設定を反映させます。

# firewall-cmd --permanent --zone=public --add-service=samba
# firewall-cmd --reload

実際は起動する前にsmb.confの編集を行い、共有するディレクトリや共有条件などを設定しますが、ここでは割愛します。

Apache(httpd)Webサーバ

インストール時点でWebサーバ構成にしていますので、既にインストールされています。ここでは、自動起動を有効化し、起動します。

# systemctl enable httpd
# systemctl start httpd

80番ポートを開放するため、ファイアウォールに例外登録し、設定を反映させます。

# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --reload

実際は起動する前にhttpd.confの編集を行い、DocumentRootやWebサーバとしての設定を行いますが、ここでは割愛します。

とりあえずWebサーバとして稼働

ここまでの作業で、とりあえずCentOS7.6のインストールと管理用の設定、Webサーバとして最低限の設定が終わりました。

この後、デフォルトのPHP5.4を7.3に更新したり、MySQLを設定したりなどの作業もありますが、それはまた別の機会に。

初稿:2019年2月13日
CentOS7.6には、PHPが5.4、MySQLは互換DBのMariaDB5.5が入っていました。 今回構築している環境は、公開前のWebサイトを構築するテ...
CentOS7.6には、デフォルトでPHP5.4がインストールされます。 今となっては古いPHPになってしまいますが、商用ディストリビューションのRed Ha...
既存のCentOS6.10+Samba3.6の環境で、htdocsとshareのふたつのディレクトリを、認証なしで接続できるように設定しています。 その設定フ...
CentOS7.6でデフォルトでインストールできるMySQLは、MariaDBというMySQL派生のDBです。 MySQLとほぼ同じなので、そのまま使っても特...
スポンサーリンク

この記事をシェア

アカウントをフォロー