操作
Wiki » 履歴 » リビジョン 1
リビジョン 1/3
| 次 »
廣瀬 僚一, 2024/01/30 19:05
サーバー情報¶
- ホスティング会社:xserver vps
- IP:162.43.32.188
- OS:Rocky Linux 9.2
- ログイン:root / clear!3831#
初期設定の段階で2GBのスワップ領域あり(xserver vpsの仕様?)
構築手順¶
アップデート¶
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)で、グローバルジェネティクスドメインでメールアドレスを作成する。
noreply@globalgenetics.jp
パスワードも設定する
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