🐡

「ゼロからはじめるLinuxサーバー構築・運用ガイド 第2版 動かしながら学ぶWebサーバーの作り方」で学んでみた

に公開

VPSのシステムアップデート

$ sudo dnf -y update

sshコマンドでログイン (さくらのVPS)

管理画面参照
$ ssh user名@Ipアドレス

nanoエディタインストール

$ sudo dnf -y install tar nano

OSの自動アップデート

$ sudo dnf -y install dnf-automatic
nanoエディタで編集
$ sudo nano /etc/dnf/automatic.confの中のapply_updates = yesに設定。
有効化
$ sudo systemctl start dnf-automatic.timer
$ sudo systemctl enable dnf-automatic.timer

システム負荷の確認

uptimeコマンド
$ uptime
23:05:17 up 2 days, 7:11, 1 user, load average: 0.10, 0.04, 0.01
load averageの横3つの数字が1分間、5分間、10分間におけるシステム負荷。CPUのコア数以下であれば問題ない。

ディスクの使用状況の確認

dfコマンド(-hで単位付き)
$ df -h

メモリとスワップの使用状況の確認

freeコマンド(-hで単位付き)
$ free -h

プロセス状況の確認

psコマンド(auxで全て表示)
$ ps aux

lessコマンドで指定したファイルを1画面ずつ表示
$ ps aux | less

grepコマンドで抜き出し
$ ps aux | grep ssh

システムの状態をモニタ

topコマンド
$ top

LAMPサーバーの構築

Apatchのインストール

$ sudo dnf -y install httpd
有効化
$ sudo systemctl start httpd
$ sudo systemctl enable httpd
設定ファイルは
/etc/httpd/conf/httpd.conf

HTML表示

$ cd /var/www/html
$ nano test.html
でHTMLを作成。

さくらのVPS管理画面で80番ポート解除

管理画面>パケットフィルター>Web(80/443)を追加。

MariaDBのインストール

$ sudo dnf -y install mariadb-server
$ sudo systemctl start mariadb
$ sudo systemctl enable mariadb

初期設定
$ sudo mysql_secure_installation

PHPのインストール

$ sudo dnf -y install php php-mbstring php-gd php-mysqlnd
php-mbstring:日本語などのマルチバイト文字を扱う為
php-gd:PHPで画像ライブラリを扱う為
php-mysqlnd:PHPとMariaDB/MySQLを連携させる為

phpのバージョン確認
$ sudo php --version

Apacheの再起動
$ sudo systemctl restart httpd

DBの準備

$ mysql -u root -p
-u:ユーザー指定
-p:パスワード

  • データベース名:wpdb
  • ユーザー名:wpuser

DB追加

CREATE DATABASE wpdb;

DB一覧表示

SHOW DATABASES;

DB一覧表示

GRANT ALL PRIVILEGES ON wpdb.* TO "wpuser"@"localhost" IDENTIFIED BY "任意のパスワード";

GRANT ALL PRIVILEGES ON wpdb.* → wpdb データベース内のすべてのテーブルに対して、全権限を付与
TO 'wpuser'@'localhost' → ユーザー wpuser を localhost に対して作成・設定
IDENTIFIED BY '任意のパスワード' → ユーザーのパスワードを設定

FLUSH PRIVILEGES; → 権限の変更を即座に反映
FLUSH PRIVILEGES;

WPのインストール

任意のディレクトリでインストール
今回は/var/www/html/blog内に配置
$ sudo curl -LO https://ja.wordpress.org/latest-ja.tar.gz

tarの展開

$ sudo tar zxf latest-ja.tar.gz

tarの展開

$ sudo tar zxf latest-ja.tar.gz

Apacheがアクセスできるように

$ sudo chown -R /var/www/html/blog

wp-config.phpの設定

$ sudo cp wp-config-sample.php wp-config.php
データベース名やユーザー名を記述

wp-config.phpのアクセス権変更

読み取り専用(400)にしておく。
$ sudo chmod 400 wp-config.php

アクセスして設定したらOK!

バックアップ作成

ファイル群とデータベースのバックアップをします。
ファイル群
$ sudo tar czvf wp-content.backup.20250313.tar.gz /var/www/html/blog/wordpress/wp-content

データベース
$ sudo mysqldump -u root -p wpdb > wpdb.backup
リダイレクトする際は現ユーザーで実行されるので、書き込み権限がないとエラーになる。
$ sudo sh -c "mysqldump -u root -p wpdb > wpdb.backup"
sh -cをつけることで複数のコマンドをsudoで実行できる。

データベースを復元する際は、空のデータベースを作り、そのデータベースにバックアップファイルを書き込む。

  • 新規データベース(wpdb2)
    $ mysql -u root -p
    CREATE DATABASE wpdb2;
  • 復元
    $ sudo sh -c "mysql -u root -p wpdb2 < wpdb.backup"
GitHubで編集を提案

Discussion