プロジェクト

全般

プロフィール

操作

構築手順

アップデート

yum update -y

ユーザー作成

useradd webadmin
passwd webadmin
cld3831#

全体設定

SELinuxの無効化

vi /etc/selinux/config
#SELINUX=enforcing

NGINX設定

NGINXインストール

dnf install nginx -y
systemctl start nginx && systemctl enable nginx

confファイル

公式を参考に記載

server {
    listen 80;
    listen [::]:80;
    server_name sys.globalgenetics.jp;
    root /var/www/hmtl/sys.globalgenetics.jp/public;
 
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";
 
    index index.php;
 
    charset utf-8;
 
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
 
    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }
 
    error_page 404 /index.php;
 
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
 
    location ~ /\.(?!well-known).* {
        deny all;
    }
}

PHP設定

インストールできるphpを確認
php8.1などをインストールする

dnf module list php #利用できるphpを検索
dnf module install php -y
dnf install php-bcmath php-pdo php-mysql php-gd -y

confファイル

user=nginx
group=nginx

pm = static
pm.max_children = 3
pm.max_requests = 1000

php.ini設定

max_execution_time = 300
memory_limit = 256M
upload_max_filesize = 20M
post_max_size = 128M

データベース設定

mysqlインストール

dnf install mysql -y
dnf install mysql-server -y

データベース名:globalgenetics

User Pass
root Clear.3831
db_admin Cld3831#
mysql -u root -p{DB_ROOT_PASS} -h ${DB_HOST}
CREATE DATABASE [DB_NAME] DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER '[DB_USER]'@'[DB_HOST]' identified by '[DB_PASS]';
GRANT ALL ON [DB_NAME].*TO '[DB_USER]'@'[DB_HOST]';
FLUSH PRIVILEGES;

composerインストール

cd ~
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === 'e21205b207c3ff031906575712edab6f13eb0b361f2085f1f1237b7126d785e826a450292b6cfd1d64d92e6563bbde02') { 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
composer -V

Node.jsインストール

バージョン指定してインストール(16.x)

yum install https://rpm.nodesource.com/pub_16.x/nodistro/repo/nodesource-release-nodistro-1.noarch.rpm -y
yum install nodejs -y --setopt=nodesource-nodejs.module_hotfixes=1

node -v
npm -v

サイトデータ配置

ディレクトリを作成

mkdir -p /var/www/html/sys.globalgenetics.jp/

cd /var/www/html/sys.globalgenetics.jp/
chmod -R 777 ./storage

envファイルの書き換え

  • APP_URL
  • DB_HOST
  • DB_USERNAME
  • DB_PASSWORD
chown -R nginx:nginx /var/www/html/sys.globalgenetics.jp/storage/app/public/uploads/

HTTPでアクセスして、アクセスできることを確認

SSL設定

epelリポジトリインストール

yum install epel-release.noarch -y

certbotインストールとSSL化

dnf install certbot -y
certbot certonly --webroot -w /var/www/html/sys.globalgenetics.jp/public -d sys.globalgenetics.jp --email wp@clear-design.jp --debug

nginx confファイルの作成と書き換え

vi /etc/nginx/conf.d/80.conf
server {
    listen 80;
    listen [::]:80;
    server_name sys.globalgenetics.jp;

    return 301 https://$host$request_uri;    
}
vi /etc/nginx/conf.d/sys_global.conf
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name sys.globalgenetics.jp;
    root /var/www/html/sys.globalgenetics.jp/public;
 
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";
 
    ssl_certificate /etc/letsencrypt/live/sys.globalgenetics.jp/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/sys.globalgenetics.jp/privkey.pem;

    index index.php;
 
    charset utf-8;
 
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
 
    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }
 
    error_page 404 /index.php;
 
    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php-fpm/www.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
 
#    location ~ /\.(?!well-known).* {
#        deny all;
#    }
}

メール設定

XSERVERにリレーし、メールを配信する

メールアドレスの作成

XSERVER(cld01)で、グローバルジェネティクスドメインでメールアドレスを作成する。

パスワードも設定する

postfixインストール

dnf install postfix -y
systemctl start postfix.service && systemctl enable postfix.service

その他、必要なものをインストール

dnf install cyrus-sasl-plain cyrus-sasl-lib cyrus-sasl-md5

postfix設定(補足)

vi /etc/postfix/main.cf

以下を書き換え

myhostname = globalgenetics.jp
mydomain = globalgenetics.jp

以下を末尾に追記

milter_default_action = accept
non_smtpd_milters = $smtpd_milters
smtpd_milters = inet:127.0.0.1:8891

relayhost = [sv1116.xserver.jp]:587
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_use_tls = yes
smtp_tls_note_starttls_offer = yes
vi /etc/postfix/sasl_passwd #メール認証情報の記載
[sv1116.xserver.jp]:587 作成したメールアドレス:パスワード
chmod 600 /etc/postfix/sasl_passwd
postmap /etc/postfix/sasl_passwd #認証情報のハッシュ化・登録
systemctl restart postfix.service

下記コマンドでテストメールの送信
迷惑メールに入らずに受信できていれば完了

sendmail -t << EOL
From: 送信元メールアドレス
To: 送信先メールアドレス
Subject: メールタイトル
本文
EOL

rootログイン禁止

PermitRootLogin no

zabbix-agentインストール

dnf install zabbix-agent.x86_64 -y

PHPキャッシュ

dnf install php-opcache php-pecl-apcu -y

負荷テスト

ab -n 100 -c 100 https://sys.globalgenetics.jp/

結果
before

Total transferred:      162500 bytes
HTML transferred:       38600 bytes
Requests per second:    27.75 [#/sec] (mean)
Time per request:       3603.657 [ms] (mean)
Time per request:       36.037 [ms] (mean, across all concurrent requests)
Transfer rate:          44.04 [Kbytes/sec] received

after

Total transferred:      162500 bytes
HTML transferred:       38600 bytes
Requests per second:    128.77 [#/sec] (mean)
Time per request:       776.571 [ms] (mean)
Time per request:       7.766 [ms] (mean, across all concurrent requests)
Transfer rate:          204.35 [Kbytes/sec] received

廣瀬 僚一 さんが1年以上前に更新 · 1件の履歴