いっそのこと再インストールしようと思っていたところ、丁度CentOS 8がリリースされるということで、これをインストールすることにしました。
情報が無く、手探りで構築することになるので、時間が大変掛かると思いますが、CentOS8には以下の魅力もあるため頑張ってみます。
- nftablesが速いらしい(iptablesの置き換え、習得には時間が掛かりそう)
- 普通にPHP7.2 、HTTP2が使える
インストールしたサーバはこの記事の物です。
量が増えてしまったので分割しました。
>>CentOS 8 構築メモ 2
インストールメディア作成
CentOS 8のISOが、DVDに入りきらないため、USBメモリをインストールメディアにしました。CentOS-8-x86_64-1905-dvd1.isoをダウンロードして、rufus 3.8で書きました。
特に問題は発生せず。
CentOS 8 インストール
USBブートをさせ、Intall CentOS Linux 8.0.1905を選択。CENTOS LINUX 8.0.1905 へようこそ。で、日本語を選択。
時刻と日付で、日本を選択。
ソフトウェアの選択で、最小限のインストールを選択。
インストール先で、標準パーティションを選択し、以下のように指定。
マウントポイント | 容量 |
---|---|
/boot/efi | 200MiB |
/boot | 1024MiB |
swap | 8GiB |
/ | 200GiB |
/home | 2.52TiB(残り) |
ネットワークとホスト名で、IPアドレス等を指定。
以上で、インストールを開始。
インストール中、rootのパスワードを設定。
インストールが終わったら、再起動をクリック。
CentOS 8 構築
SELinux無効化
忘れずにやっておく。忘れていたため数時間ハマった。firewalld停止
とりあえず停止。systemctl stop firewalld systemctl disable firewalld勉強不足のため、設定は今後実施。
nftablesは以下で記載しました。
>>CentOS 8 で nftables を設定してみた
rsyslog
バックアップしておいた、rsyslog.confの内容をマージ。systemctl restart rsyslog
DHCPサーバ
dnf install dhcp-serverバックアップしておいた、dhcpd.confを転送。
systemctl start dhcpd systemctl enable dhcpd
strongSwan
dnf install wget tar bzip2 make gcc gmp-devel openssl-devel wget https://download.strongswan.org/strongswan-5.8.1.tar.bz2 tar -jxvf strongswan-5.8.1.tar.bz2 cd strongswan-5.8.1 ./configure --prefix=/usr --sysconfdir=/etc --enable-eap-mschapv2 --enable-eap-peap --enable-eap-radius --enable-eap-tls --enable-eap-ttls --enable-openssl --enable-eap-identity --enable-aesni make make installバックアップしておいた証明書、.confファイルを転送。
ipsec start
chmod +x /etc/rc.d/rc.local
↑サービス化しました。 .serviceファイルが既にあったため、それを使用。
cp strongswan-5.8.1/init/systemd-starter/strongswan-starter.service /etc/systemd/system systemctl start strongswan-starter systemctl enable strongswan-starterルーティングの有効化
sysctl net.ipv4.ip_forward=1 echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
私の設定では、NATではなくルーティングしている。 するとサーバがICMP Redirectを送信してくるため、以下を設定する。
sysctl -w net.ipv4.conf.all.send_redirects=0 sysctl -w net.ipv4.conf.enp2s0.send_redirects=0 echo "net.ipv4.conf.all.send_redirects=0" >> /etc/sysctl.conf echo "net.ipv4.conf.enp2s0.send_redirects=0" >> /etc/sysctl.conf
nginx + PHP PHP-FPM
dnf install nginx dnf install php php-fpm
vi /etc/nginx/nginx.conf変更部分のみ記載。
http { server { server_name servername; root /var/www/html; location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } } ssl_protocols TLSv1.2 TLSv1.3; server { server_name servername; root /var/www/html; ssl_certificate "サーバ証明書のフルパス"; ssl_certificate_key "サーバ証明書のキーのフルパス"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers PROFILE=SYSTEM; ssl_prefer_server_ciphers on; location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/www.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } } }
vi /etc/php-fpm.d/www.conf変更部分のみ記載
user = nginx group = nginx listen = /run/php-fpm/www.sock listen.owner = nginx listen.group = nginx
systemctl start nginx systemctl enable nginx systemctl start php-fpm systemctl enable php-fpm
MySQL
dnf install mysql-server dnf install php-mysqlnd
vi /etc/my.cnf.d/mysql-server.cnf以下を追加。
character-set-server = utf8
systemctl start mysqld systemctl enable mysqld
mysql_secure_installationrootのパスワードのみ入力。