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ファイルを右クリックして、以下のように選択します。
ディスクに書き込みができたら、CentOSをインストールするPCに入れて起動しましょう。
CentOS7.6のインストール
CentOSのインストーラーから、インストールを行います。
インストールディスクの起動
CentOSをディスクから起動すると、以下のような画面になります。
一番上の「Install CentOS 7」を選択すると、すぐにインストールが始まります。
二番目の「Test this media & install CentOS 7」を選択すると、DVD-Rに焼かれたインストールデータのチェックを行い、データが正常だったらインストールが開始されます。
とりあえず、一番上の「Install CentOS 7」を選択しましょう。そうそうデータが壊れていることも無いでしょうし。
言語の設定
しばらく読み込みが続いた後、まずは言語の設定から始まります。特に理由が無い限り「日本語」を選択しましょう。
左側のリストから「日本語」を選択すると、右側のリストは自動で「日本語(日本)」になります。選択できたら、右下の青いボタン「続行」をクリック。
インストールの概要
基本的な設定は自動で行われます。ここで確認および設定しておきたいのは、「ソフトウェアの選択」「インストール先」「ネットワークとホスト名」の3つ。
3つの確認および設定が終わったら、右下の「インストールの開始」ボタンをクリックします。
ソフトウェアの選択
CentOSを構成するベースとなる環境の選択と、追加インストールするパッケージの選択を行います。
今回は主にWebサーバとして使用するため、ベース環境を「ベーシックWebサーバ」とし、その他必要なパッケージを右側から選択しました。
インストール先
こちらは確認だけしておけばOKです。もしパーティション構成などを変更したい場合は、ここで設定します。
ネットワークとホスト名
イーサネットの設定とホスト名をここで指定できます。
右上のスイッチを「オン」にすることで、ネットワークが有効になります。デフォルトはDHCPで設定されるようになっていますので、固定IPなどを設定する場合は、右下の「設定」をクリックして表示されるウィンドウで設定します。
左下の「ホスト名」を変更して「適用」をクリックすることで、インストール時にホスト名も設定できます。
インストール中
インストールが開始されると、画面下の方で進捗具合が表示されます。
インストール中にrootユーザーのパスワード設定や、ユーザーの作成ができますので、必要に応じて設定しましょう。少なくともrootパスワードは、ここで設定しておいた方がいいでしょう。できるだけ強力なパスワードを設定しておくことをおすすめします。
インストール後の設定
インストールが終わったら、再起動されます。ディスクを取り出して、CentOSを起動しましょう。
インストール後に、まず設定しておくことがいくつかあります。以下に設定方法をメモメモ。全てルートユーザーで実行します。
ちなみに、社内テストサーバ用途での設定になりますので、セキュリティ関係はすっぱり切り落としています。
ホスト名の変更
インストール前に変更を忘れてしまった場合は、以下のように設定します。
# hostnamectl set-hostname [ホスト名]
ちなみに、CentOS7からは対話形式で設定できるNetworkManagerというものを使うことが推奨されているらしい。
# nmtui
一応、ファイルを直接変更する方法もある。
# vi /etc/hostname
SELinuxの無効化
今回はテストサーバなので、とにかく厄介なSELinuxは無効化する。セキュリティ的には、あまりおすすめしない方法です。
# vi /etc/sysconfig/selinux
SELINUX = disabled に変更
今すぐ SELinux を無効化するには、以下のコマンド。
# setenforce 0
IPV6の無効化
IPV6は当面使わないので、無効化する。
無効化しない方がいいかも。詳細は以下の記事で。
一応、無効化する場合は以下の手順で。
# 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を設定したりなどの作業もありますが、それはまた別の機会に。
コメント