Let’s Encryptの導入手順(Rocky Linux 8, Apache 2.4)

今まで、本サイトでHTTPS対応をしてこなかったので、今更、導入をしました。本ページでは、無料で使用できる「Let’s Encrypt」の導入手順を記載します。

環境

  • Rocky Linux 8
  • Apache 2.4

インストール・設定

自動でSSL証明書を発行・設定変更を行う「certbot」インストールします。

dnf install epel-release
dnf install certbot python3-certbot-apache

「/etc/httpd/conf/httpd.conf」にVirtualHostの設定が無ければ追加します。

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/html
</VirtualHost>

「certbot」を使用し、SSL証明書を発行します。

certbot --apache -d example.com -d www.example.com

上記コマンド実行後、「/etc/httpd/conf/httpd.conf」に対して、自動的にHTTPSのための設定が追加されます。以下は、そのサンプルとなります。httpアクセス時、自動的にhttpsにリダイレクトされる動きとなります。

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/html
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.example.com [OR]
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Include /etc/httpd/conf/httpd-le-ssl.conf

上記コマンド実行後、「/etc/letsencrypt/」配下に、各種証明書が生成されます。ただ、有効期限が「90日間」と定められているため、自動的に更新するサービスを導入します。

systemctl enable certbot-renew.timer
systemctl start certbot-renew.timer

変更履歴

  • 2025/09/27
    • ページ作成

Proxmoxにて、ストレージにESXiを追加しようとすると「create storage failed: ‘NoneType’ object has no attribute ‘extraConfig’ (500)」エラーが発生する

エラー画面

create storage failed: ‘NoneType’ object has no attribute ‘extraConfig’ (500)

条件

  • 事象確認日 : 2025/06/15
  • Proxmoxバージョン : 8.4.0
  • ESXiバージョン : 6.7.0(5.1.0では本事象発生せず)

原因・対策

ESXi特定バージョンで、発生することを確認しました。細かい条件はその他あるのかもしれません。本事象は、「pve-esxi-import-tools」の「0.7.3」の不具合として、以下、報告がありました。

https://forum.proxmox.com/threads/errors-after-pve-esxi-import-tools-upgrade-to-0-7-3.165353/

以下コマンドでダウングレードすれば発生しないという記載がありましたが(「—reinstall」→「—reinstall」が正)、当方の環境では、「0.7.2」のバージョンが無い旨のエラーが出てダウングレードできませんでした(サブスクリプション無しなのも影響しているかもしれません)。

root@lagrange:~# apt install --reinstall pve-esxi-import-tools=0.7.2
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Package pve-esxi-import-tools is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Version '0.7.2' for 'pve-esxi-import-tools' was not found
root@lagrange:~#

そのため、以下のサイトのdiffを手動で「/usr/libexec/pve-esxi-import-tools/listvms.py」に適用した所、ストレージの追加に成功しました。

https://lore.proxmox.com/pve-devel/20250423130315.360403-1-d.herzig@proxmox.com/T/#Z2e.:..:20250423130315.360403-1-d.herzig::40proxmox.com:1listvms.py

本内容で、ストレージインポート後、実際にVMのインポート・起動迄確認出来ました。

MediaWikiのアップグレード手順(1.27→1.37)

MediaWikiを1.37にアップグレードしたのでその手順を記載します。過去のアップグレード手順は、MediaWikiのアップグレード手順にあります。基本的には、公式サイトの手順を確認すれば十分かと思います。

構成

  • 移行前
    • OS : CentOS 8.5
    • Apache : 2.4
    • PHP : 7.2
    • MariaDB : 10.5
    • MediaWiki : 1.27
  • 移行後
    • OS : Rocky Linux 8.5
    • Apache : 2.4
    • PHP : 7.4
    • MariaDB : 10.7
    • MediaWiki : 1.37

MediaWikiのサポートPHPが、7.3以上に変更となったのと、CentOS 8がサポート切れになったので、環境を作成し直しました。dnfの向け先を変えれば、CentOSをそのまま使用できる方法もあるようですが、今回は採用しませんでした。

バックアップ(移行前環境)

MySQLをバックアップします。

mysqldump -u <MYSQL_USER> -p <DB_NAME> > <DUMP_NAME>

HTMLファイルをバックアップします。

cd /var/www
tar zcf <BACKUP_FILE_NAME> html

移行後環境でのミドルウェアインストール

ApacheとMariaDBのインストール手順を記載します。PHPは7.4をインストールします。

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo yum install MariaDB-server

yum install httpd httpd-tools httpd-devel
dnf module install php:7.4
dnf install php-mysqlnd php-gd php-pecl-zip php-intl

systemctl start mysqld
systemctl enable mysqld

systemctl start httpd
systemctl enable httpd

1.27では不要だったのですが、1.37では、php-intlがインストールされていないとアップグレードに失敗するので、dnfに追加しています。

リストア(移行後環境)・ファイル更新

MariaDBのデータをリストアします。

mysqladmin -u root password <PASSWORD>

mysql -u root -p

mysqlコマンドにて以下を実行します。

grant all privileges on *.* to <MYSQL_USER>@localhost identified by '<PASSWORD>' with grant option;

create database <DB_NAME> default character set utf8;

「/etc/httpd/conf/httpd.conf」に以下を追加します。

Alias /w/index.php /var/www/html/w/index.php
Alias /wiki /var/www/html/w/index.php
Alias /index.php /var/www/html/w/index.php

DBダンプからインポートします。

mysql <DB_NAME> < <DUMP_NAME> -u <MYSQL_USER> -p

MediaWikiをアップデートします。「/var/www/html」配下に移行前環境のバックアップファイルを展開している前提です。

wget https://releases.wikimedia.org/mediawiki/1.37/mediawiki-1.37.1.tar.gz
tar zxvf mediawiki-1.37.1.tar.gz -C /var/www/html/w/ --strip-components=1

「/var/www/html/LocalSettings.php」に「$wgServer」の項目を追加します。本設定が無いとアップグレードに失敗します。

$wgServer = "http://<HOST_NAME>";

MediaWikiのアップグレードを実施します。

cd /var/www/html/w/maintenance/
php update.php

本内容でアップグレードは完了です。

WordPressの導入手順(CentOS 7.9, Apache 2.4, PHP7.4, MariaDB 10.5)

10年前位に、WordPressの導入手順としてページを作成しましたが、最新のバージョンに置き換える際、手順が色々と変更になったので改めて記載します。

CentOSにWordpressをインストールする手順は、探せば結構あるのですが、CentOS7.9にPHP7.4をインストールする際、そのままの内容ではうまくいかなかったりしたので、備忘として残した次第です。

環境

  • CentOS 7.9
  • MariaDB 10.5.9
  • PHP 7.4
  • Apache 2.4.6
  • WordPress 5.7.1

今回、Apache、PHP、MariaDBは、yumでインストールします。

インストール

Apacheをインストールします。

yum install httpd

PHPをインストールします。CentOS7.9の標準リポジトリでは、5.4がインストールされてしまうので、Wordpressが対応しているバージョンである7.4をインストールするため、EPELを使用します。

yum install epel-release
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum install --enablerepo=remi-php74 php
yum install --enablerepo=remi-php74 php-mysql
yum install --enablerepo=remi-php74 php-ldap
yum install --enablerepo=remi-php74 php-mbstring

MariaDBのインストールも公式のリポジトリを使用します。「/etc/yum.repos.d/MariaDB.repo」ファイルを生成し、以下の内容を記載します。

# MariaDB 10.5 CentOS repository list - created 2021-04-27 08:44 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=0

編集後、MariaDBをインストールします。

yum install MariaDB-server MariaDB-client

設定

以下はDB設定の参考例です。「mysql」コマンド実行後、以下のようにDB・ユーザ作成を行います。パスワードは適宜指定してください。

create database wordpress default character set utf8;
GRANT ALL ON wordpress.* TO wordpress@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

HTTP接続を許可するようにファイアウォール設定を変更します。

firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

Apache起動後、ブラウザアクセスをすれば、Wordpressの初期インストールが出来るようになります。これ以降の作業は一般的な流れになるので、ここまでの記載とします。

変更履歴

  • 2021/05/10
    • ページ作成