「ゼロからはじめる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"
Discussion