CentOS7初期設定(LAMP)備忘録

こんにちは、BoMです。

わからんって嘆いていた人がいたので

備忘録として記事にまとめました。

 

残り作業 下記のインストール(セキュリティ強化)

Snort+Barnyard2+BASE+Oinkmaster

 

【日本語環境設定】

・日本語関連パッケージ インストール

[root@localhost ~]# yum -y install ibus-kkc vlgothic-*

・日本語キーボート設定

[root@localhost ~]# localectl set-keymap jp106

・システムの文字セット変更

[root@localhost ~]# localectl set-locale LANG=ja_JP.UTF-8

[root@localhost ~]# source /etc/locale.conf

・設定確認 (ja_JP.UTF-8と表示されればOK)

[root@localhost ~]# echo $LANG

・タイムゾーン設定

[root@localhost ~]# timedatectl set-timezone Asia/Tokyo

・タイムゾーン設定確認

[root@localhost ~]# timedatectl

 

【ユーザー設定】

・一般ユーザー(centos)を追加

[root@localhost ~]# useradd centos

・一般ユーザーのパスワードを変更

[root@localhost ~]# passwd centos

・rootになれるユーザーを管理者のみにする

[root@localhost ~]# usermod -G wheel centos

[root@localhost ~]# vi /etc/pam.d/su

エディタにて#を削除し上書き

#auth       required     pam_wheel.so use_uid

→auth       required     pam_wheel.so use_uid

 

【パッケージ管理システム設定】

・インストール済みパッケージの一括アップデート(時間かかる)

[root@localhost ~]# yum -y update

・yum-cronインストール

[root@localhost ~]# yum -y install yum-cron

・yum-cronダウンロード自動アップデート設定

[root@localhost ~]# vi /etc/yum/yum-cron.conf

エディタにて下記設定 noをyesへ変更

# Whether updates should be applied when they are available.  Note

# that download_updates must also be yes for the update to be applied.

apply_updates = yes

・yum-cronの自動更新起動設定

[root@localhost ~]# systemctl start yum-cron

[root@localhost ~]# systemctl enable yum-cron

・ベース、開発ツールパッケージ群インストール

[root@localhost ~]# yum -y groupinstall base “Development tools”

 

【root宛ログをメール転送】

・メール転送設定削除

[root@localhost ~]# sed -i ‘/^root:/d’ /etc/aliases

・転送先新規設定

[root@localhost ~]# echo “root: XXXX@gmail.com” >> /etc/aliases

[root@localhost ~]# newaliases

・テストメール送信

[root@localhost ~]# echo test|mail root

テストメールが転送先メールアドレス宛に届いていることを確認する

※届かなければop25b対策設定 https://centossrv.com/op25b.shtml

 

【SELinuxの無効化】

[root@localhost ~]# setenforce 0

[root@localhost ~]# vi /etc/sysconfig/selinux

viエディタにて下記を enforcing→disabled に書き換え

SELINUX=disabled

 

【ファイアウォール設定】

・停止/自動起動解除(ルーター等で設定している場合)

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

・起動/自動起動 (デフォルトではポート空いてません)

[root@localhost ~]# systemctl start firewalld

[root@localhost ~]# systemctl enable firewalld

・設定例 ssh(22)許可/http(80)許可/https(473)許可/UDP500許可/

[root@localhost ~]# firewall-cmd –permanent –zone=public –add-service=ssh

[root@localhost ~]# firewall-cmd –permanent –zone=public –add-service=http

[root@localhost ~]# firewall-cmd –permanent –zone=public –add-service=https

[root@localhost ~]# firewall-cmd –permanent –zone=public –add-port=500/udp

・設定後リロード

[root@localhost ~]# firewall-cmd –reload

・詳しくは下記参照

https://qiita.com/kenjjiijjii/items/1057af2dddc34022b09e

 

【nkfコマンド インストール】

[root@localhost ~]# wget “http://sourceforge.jp/frs/redir.php?m=jaist&f=%2Fnkf%2F59912%2Fnkf-2.1.3.tar.gz” -O nkf-2.1.3.tar.gz

[root@localhost ~]# tar zxvf nkf-2.1.3.tar.gz

[root@localhost ~]# cd nkf-2.1.3/

[root@localhost nkf-2.1.3]# make && make install

[root@localhost nkf-2.1.3]# cd

[root@localhost ~]# rm -rf nkf-2.1.3

[root@localhost ~]# rm -f nkf-2.1.3.tar.gz

[root@localhost ~]# ln -s /usr/local/bin/nkf /usr/bin/nkf

 

【EPELリポジトリ インストール】

[root@localhost ~]# rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

・バージョンロックプラグイン

[root@localhost ~]# yum -y install yum-plugin-versionlock

 

【NTPサーバー構築(chrony)】

下記参照

https://centossrv.com/chrony.shtml

 

【Webサーバー構築(Apache2.4)】

・サーバー設定

https://centossrv.com/apache.shtml

・SSL設定

https://centossrv.com/apache-certbot.shtml

・https自動リダイレクト設定(SSL設定後)

[root@localhost ~]# vi /etc/httpd/conf/httpd.conf

</Directory>の後に下記を記述

#httpsへリダイレクト

<ifModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTPS} off

RewriteRule ^(.*)$ エラー! ハイパーリンクの参照に誤りがあります。 [R=301,L]

</ifModule>

[root@localhost ~]# systemctl restart httpd

・ユーザーディレクトリ作成

https://centossrv.com/apache-userdir.shtml

 

【PHP7.2インストール】

・remiリポジトリの公開鍵を取り込む

[root@localhost ~]# rpm –import https://rpms.remirepo.net/RPM-GPG-KEY-remi

・remiリポジトリのインストール

[root@localhost ~]# yum install yum-utils https://rpms.remirepo.net/enterprise/remi-release-7.rpm

・既存PHPの削除→PHP7.2のインストール

[root@localhost ~]# yum remove php-*

[root@localhost ~]# yum -y install –enablerepo=remi,remi-php72 php

[root@localhost ~]# yum -y install –enablerepo=remi,remi-php72 php-opcache php-devel php-mbstring php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-gd php-intl php-symfony php php-pdo php-xml php-tokenizer php-pear php-zip

 

【MariaDB10.3インストール】

・MariaDBリポジトリの作成

[root@localhost ~]# vi /etc/yum.repos.d/maria.repo

下記アドレスにてCentOS>CentOS7>10.3と選択し、表示された内容をエディタにてコピペ保存。

https://downloads.mariadb.org/mariadb/repositories/#mirror=yamagata-university

例)

# MariaDB 10.3 CentOS repository list – created 2018-07-14 14:59 UTC

# http://downloads.mariadb.org/mariadb/repositories/

[mariadb]

name = MariaDB

baseurl = http://yum.mariadb.org/10.3/centos7-amd64

gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

gpgcheck=1

・インストール

[root@localhost ~]# systemctl stop mariadb

[root@localhost ~]# yum install MariaDB-server MariaDB-client

[root@localhost ~]# systemctl start mariadb

[root@localhost ~]# systemctl enable mariadb

 

【データベースサーバー構築(MariaDB)】

下記参照

https://centossrv.com/mariadb.shtml

 

【phpMyAdminインストール】

[root@localhost ~]# yum –enablerepo=remi-php72 install phpmyadmin

・アクセス設定

[root@localhost ~]# vi /etc/httpd/conf.d/phpMyAdmin.conf

<IfModule mod_authz_core.c>内編集 不要部分は#でコメントアウト

設定例 どこからでもアクセス可能/指定IPから接続可能

Require all granted

Require ip xxx.xxx.xxx.xxx

[root@localhost ~]# systemctl restart httpd

 

【Clam AntiVirus インストール】

下記参照

https://gtrt7.com/blog/linux/clamav

 

【rootkit検知ツール導入(chkrootkit)】

下記参照

https://centossrv.com/chkrootkit.shtml

 

【ファイル改竄検知システム導入(Tripwire)】

下記参照

https://centossrv.com/tripwire.shtml

 

【参考・引用】

https://www.server-world.info/

https://centossrv.com/

https://gtrt7.com/blog/linux/clamav