さくらのクラウドでCentOS7を導入したメモ - その2

IPアドレスの設定(ローカルスイッチ)

ip addr
vi /etc/sysconfig/network-scripts/ifcfg-eth1

eth1の設定がなかったので追加

DEVICE=eth1
BOOTPROTO=static
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
GATEWAY=192.168.0.1
PREFIX=24
IPADDR=192.168.0.<*>

設定の反映と確認

systemctl restart NetworkManager
systemctl restart network
nmcli d

phpのインストールと設定

yum install -y epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum install -y --enablerepo=remi-php74 php php-fpm php-mysql php-pgsql httpd-tools php-curl php-dom php-gd php-pecl-imagick php-zip  php-mbstring php-openssl php-xml unzip ipa-gothic-fonts ipa-pgothic-fonts fontconfig
systemctl enable php-fpm
systemctl start php-fpm
mkdir /run/php
vi /etc/php-fpm.d/www.conf

以下変更

user = nginx
group = nginx
listen = /run/php/php7.4-fpm.sock
listen.owner = www
listen.group = www

ソースコンパイルのnginxだとlistenが違ってるが、yumで構築した環境からの移行なので、パスを揃える。起動時に /run/php が作られるように設定。

vi /etc/tmpfiles.d/php-fpm.conf

以下を記述。

d /run/php 0755 www www

yumの設定をそのままコピー

mkdir /etc/nginx/conf/snippets
vi /etc/nginx/conf/snippets/fastcgi-php.conf

phpの設定をコピペ

# regex to split $uri to $fastcgi_script_name and $fastcgi_path
fastcgi_split_path_info ^(.+?\.php)(/.*)$;

# Check that the PHP script exists before passing it
try_files $fastcgi_script_name =404;

# Bypass the fact that try_files resets $fastcgi_path_info
# see: http://trac.nginx.org/nginx/ticket/321
set $path_info $fastcgi_path_info;
fastcgi_param PATH_INFO $path_info;

fastcgi_index index.php;
include fastcgi.conf;

Let's Encryptのインストールと設定

yum -y install certbot

旧サーバーから /etc/letsencrypt ディレクトリ以下一式持ってくる。
*自動更新のcronはサイト移転終わってからやる。

nginxの設定

ユーザーの追加

useradd -s /sbin/nologin www
passwd www
mkdir /var/www
chown -R www:www /var/www
mkdir /etc/nginx/sites-available /etc/nginx/sites-enabled 
cd /etc/nginx
cp conf/nginx.conf conf/nginx.conf.org
vi conf/nginx.conf

追記、変更

user  www;
worker_processes  auto;
http {
server_tokens off;
##
# Gzip Settings
##

gzip on;

# gzip_vary on;
# gzip_proxied any;
# gzip_comp_level 6;
# gzip_buffers 16 8k;
# gzip_http_version 1.1;
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

##
# Virtual Host Configs
##

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

Basic認証

htpasswd -c /etc/nginx/.htpasswd username

nginxとphp-fpm再起動

systemctl restart nginx
systemctl restart php-fpm

composerインストール

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer