さくらのVPSのCentOS9でLAMP環境とWordPressの導入の解説

さくらのVPSのcentOS Strem9でLAMP環境の構築とWordPressの導入までの流れの解説をしていきます。

こちらの記事は2023年5月での状況になります。

さくらのVPSの設定は初めてで、かなり苦戦しましたが、サーバーの知識が深まり、いい経験になりました。

構築環境は以下になります。

・Apache 2.4
・PHP 8.0
・MySQL 5.7
・WordPress 6.2

windowsで構築しましたので、macユーザーには当てはまらないこともあるかと思います。

1.サーバーへの接続

さくらのVPSのコンパネにあるVNCコンソールからでもサーバーへの接続ができますが、コピペができないので、今回は使いませんでした。

1.PuTTYのダウンロード

私がサーバーに接続するために使用したのがPuTTYです。

PuTTYとは、Windowsに対応しているSSH方式でサーバーへ接続することができるオープンソースのターミナルソフトウェアです。

下記からダウンロードすることができます。

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

2.サーバーへの接続

PuTTYを起動します。

「Host Name( or IP address)」欄にサーバーのIPアドレスを入力します。

「Port」欄にポート番号22が入力されていることを確認し、「Open」をクリックします。

ターミナルが立ちあがりますので、ログイン情報を入力します。

ユーザー名・・・centos
パスワード・・・サーバー作成時に設定したパスワード

コピペの方法も通常とは相違がありますので、下記を参照していただければと思います。

コピー・・・Ctrl + insert
ペースト・・・Shift + insert

今の場所の確認をしてみます。

$ pwd
/home/centos

2.Apacheのインストール

#Apacheのインストール
$ sudo yum -y install httpd

#Apacheのバージョン確認
$ httpd -v
Server version: Apache/2.4.57 (CentOS Stream)
Server built:   Apr 14 2023 00:00:00

#Apacheの自動起動設定
$ sudo systemctl enable httpd.service

#Apacheの起動
$ sudo systemctl start httpd.service

#Apacheの起動状況の確認
$ sudo systemctl status httpd.service
 Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled)
    Drop-In: /usr/lib/systemd/system/httpd.service.d
             └─php-fpm.conf
     Active: active (running) since Fri 2023-05-19 10:39:57 JST; 1h 41min ago

3.PHPのインストール

# remiの導入
$ sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
$ sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-9.rpm

# PHPのバージョンの確認
$ sudo yum module list reset php -y
php      remi-7.4        common [d], devel, minimal    PHP scripting language
php      remi-8.0 [e]    common [d], devel, minimal    PHP scripting language
php      remi-8.1        common [d], devel, minimal    PHP scripting language
php      remi-8.2        common [d], devel, minimal    PHP scripting language

# PHP8.0のインストール
$ sudo yum module enable php:remi-8.0
$ sudo yum install php

# PHPのバージョン確認
php -v
PHP 8.0.28 (cli) (built: Feb 14 2023 11:05:44) ( NTS gcc x86_64 )

# PHPでMySQLなどの外部モジュールを利用するためのRPMパッケージのインストール
$ sudo yum install php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt php-mysql

4.MySQLの導入

1.インストール

今回は最新のMySQL8.0ではなく、5.7をインストールしますので、少し手順が煩雑になります。

# mariaDBが既にインストールされていると競合するので、先に削除する
$ yum remove mariadb-libs
$ rm -rf /var/lib/mysql/

# 最新のMySQL8.0をインストールしたい場合
$ sudo yum -y install mysql
$ sudo yum -y install mysql-server

# MySQL5.7をインストールしたい場合
$ sudo yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
$ sudo yum info mysql-community-server
$ sudo yum -y install mysql-community-server

# ここから共通作業
#MySQLのバージョン確認
$ mysqld --version

# MySQLの起動
$ systemctl start mysqld

# MySQLの起動状況確認
$ systemctl status mysqld
mysqld.service - MySQL Server
     Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; preset: disabled)
     Active: active (running) since Thu 2023-05-18 20:01:14 JST; 16h ago

2.データベースの作成

# MySQLへログイン
$ mysql -u root

# MySQL8.0でルートのパスワードの変更
mysql> set password for 'root'@'localhost' = 'パスワード';
# MySQL5.7でルートのパスワードの変更
mysql> update user set authentication_string= password('パスワード') where user='root';

# データベースの作成
mysql> create database データベース名;

# ユーザーの作成
mysql> create user 'ユーザー名'@'localhost' identified with mysql_native_password by 'パスワード';

# 作成したユーザーに権限を付与
mysql> grant all on `データベース名`.* to 'ユーザー名'@'localhost' with grant option;

# 変更を反映
mysql> flush privillages;

# MySQLを終了
mysql> exit

5.WordPressの導入

1.WordPressのファイルをアップロード

# wget(指定したURLのファイルをダウンロードするコマンド)のインストール
$ sudo yum install -y wget
# tar(圧縮ファイルを展開するコマンド)のインストール
$ sudo yum install tar

# 最新のWordPressの取得
$ wget https://ja.wordpress.org/latest-ja.tar.gz

# WordPressの解凍
$ tar -xvzf latest-ja.tar.gz

# Apacheのドキュメントルートに移動
$ sudo mv wordpress /var/www/

# ドキュメントルートに移動
$ cd /var/www/

# 既存のhtmlフォルダは削除
$ sudo rm -rf html

# wordpressフォルダをhtmlに変更
$ sudo mv wordpress html

2.インストール

グーグルなどでサーバーのIPアドレスにアクセスすると、お馴染みのWordPressの設定画面が表示されます。

データベースの設定を終えて、インストールを実行すると、「wp-config,phpファイルに書き込みができません。」と表示される可能性があります。

Linuxの標準のテキストエディタを起動するviコマンドで、wp-config.phpを作成します。

# wp-config.phpファイルの作成と編集
$ sudo vi wp-config.php

# 編集開始
# 「i」を入力すると編集することができます。
# Ctrl + insertで貼り付け

# Escキーを入力して、「:wq」を入力してエンターを押すと保存することができます。

以上でWordPressまでの導入が完了いたしました。

もし、httacessを使用したい場合は、デフォルトでは使用できないので、下記の書き換えが必要になります。

# httpd.confの編集
$ sudo vi /etc/httpd/conf/httpd.conf

# AllowOverride NoneをAllに変更する
<Directory "/var/www/html">
    #
    # Possible values for the Options directive are "None", "All",
    # or any combination of:
    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that "MultiViews" must be named *explicitly* --- "Options All"
    # doesn't give it to you.
    #
    # The Options directive is both complicated and important.  Please see
    # http://httpd.apache.org/docs/2.4/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride All

    #
    # Controls who can get stuff from this server.
    #
    Require all granted
</Directory>

6.phpMyAdminの導入

phpMyAdminの導入は、実施しなくても問題はないです。

必要のない方は飛ばしてください。

# phpMyAdminのインストール
$ sudo yum install phpMyAdmin

# phpMyAdmin.confファイルの複製と編集
$ cd /etc/httpd/conf.d/
$ cp phpMyAdmin.conf  phpMyAdmin.conf.old
$ sudo vi phpMyAdmin.conf

# 「Require local」から「Require all granted」に変更
<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   #Require local
   Require all granted
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
   Require local
</Directory>

# アパッチの再起動
$ sudo systemctl restart httpd

# ここからはセキュリティ対策(必須ではありません。)
# phpMyAdminのURLの変更
sudo vi /etc/httpd/conf.d/phpMyAdmin.conf

# Aliasに関する2行をコメントアウトして、3行目に新しいAlias行を追加します。
#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /phpMyAdminTestSite /usr/share/phpMyAdmin

# アパッチの再起動
$ sudo systemctl restart httpd

最後に下記にアクセス(Aliasを変更している場合は、phpmyadminが異なります)できれば、導入完了です。

http://ドメイン名/phpmyadmin