<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>覚書 | じじぃの引出し</title>
	<atom:link href="https://www.kazuban.com/blog/tag/memo/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.kazuban.com/blog</link>
	<description>なにかしら、皆さんの参考になれば幸いです！</description>
	<lastBuildDate>Fri, 03 Apr 2026 01:16:26 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://www.kazuban.com/blog/wp-content/uploads/2020/05/cropped-ICON-1-32x32.png</url>
	<title>覚書 | じじぃの引出し</title>
	<link>https://www.kazuban.com/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>C++Builder 10.4 Community Edition　のライセンス更新 2023</title>
		<link>https://www.kazuban.com/blog/cbuilder-10-4-update/</link>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Fri, 31 Mar 2023 01:12:53 +0000</pubDate>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[C++Builder更新]]></category>
		<category><![CDATA[Community Edition]]></category>
		<category><![CDATA[覚書]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=7703</guid>

					<description><![CDATA[昨年は、再度新しいバージョンをダウンロードし、再インストールする事で、再度１年間使用できました。 今年は、延長の方法が変わっているようです。検索してみると、今までは新しいバージョンをインストールする事で、再度一年間使用で [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>昨年は、再度新しいバージョンをダウンロードし、再インストールする事で、再度１年間使用できました。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-じじぃの引出し wp-block-embed-じじぃの引出し"><div class="wp-block-embed__wrapper">

<a href="https://www.kazuban.com/blog/cbuilder-license-update/" title="C++Builder Community Edition　のライセンス更新" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" width="160" height="35" src="https://www.kazuban.com/blog/wp-content/uploads/2019/07/10_3_1.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/07/10_3_1.png 630w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/10_3_1-300x65.png 300w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">C++Builder Community Edition　のライセンス更新</div><div class="blogcard-snippet internal-blogcard-snippet">会社では開発環境として、「C++Builder EX6」を使用しています私はソフトウェア開発が商売ではなく、加工が楽になるような、NCデータやNC機械や測定器などのユーティリティソフトを作成していますC++の統合開発環境としては、やはりMSのVisual C++ がメジャーだと思いますが私は、二昔以...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.kazuban.com/blog" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.kazuban.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2019.07.29</div></div></div></div></a>
</div></figure>



<p>今年は、延長の方法が変わっているようです。<br>検索してみると、今までは新しいバージョンをインストールする事で、<br>再度一年間使用できたようですが、「10.4」より新しいバージョンが公開されていない現在<br>ダウンロード・インストールの方法では、延長できないみたいです。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">サポートページ</a></li><li><a href="#toc2" tabindex="0">更新</a></li><li><a href="#toc3" tabindex="0">登録完了</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">サポートページ</span></h2>



<p><a href="https://blogs.embarcadero.com/ja/delphi-cbuilder-community-editions-10-4-2-license-extension-ja/">「embarcadero」のサポートページに情報がありました。</a><br>このページをみると</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>使用されているCommunity Editionの<strong>ライセンスの期限が切れた後に</strong>、新しいCommunity Editionのライセンスを取得していただくことで、継続してお使いいただくことができます。 </p>
</blockquote>



<p>とありますから、今までは１か月程度早い時期から更新していましたが、期限がきれるまで待つことにしました。</p>



<h2 class="wp-block-heading"><span id="toc2">更新</span></h2>



<p>ライセンス期限が切れた後に、C++Builderを起動すると、いきなりライセンス登録画面になりました</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="538" height="395" src="https://www.kazuban.com/blog/wp-content/uploads/2023/03/License.png" alt="" class="wp-image-7715" srcset="https://www.kazuban.com/blog/wp-content/uploads/2023/03/License.png 538w, https://www.kazuban.com/blog/wp-content/uploads/2023/03/License-300x220.png 300w" sizes="(max-width: 538px) 100vw, 538px" /></figure>



<p>Enbarcadero Developer Network のアカウントは作っていないので、どうしたものか？と思いながら<br>「詳細」をクリックすると、やはりライセンスは期限切れ状態です。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="785" src="https://www.kazuban.com/blog/wp-content/uploads/2023/03/License3-1024x785.png" alt="" class="wp-image-7717" srcset="https://www.kazuban.com/blog/wp-content/uploads/2023/03/License3-1024x785.png 1024w, https://www.kazuban.com/blog/wp-content/uploads/2023/03/License3-300x230.png 300w, https://www.kazuban.com/blog/wp-content/uploads/2023/03/License3-768x589.png 768w, https://www.kazuban.com/blog/wp-content/uploads/2023/03/License3.png 1047w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p><br>とりあえず、キャンセルして<a href="https://www.embarcadero.com/jp/products/cbuilder/starter/free-download">C++Builder Community Edition 無料ダウンロードのページへ</a><br>ここで、「トライアル版」と「Community Edition」は別物なので注意してください。<br>「トライアル版」は、あくまで「有料製品版」の試用です。<br>「Community Edition」は「無料」ですが、<a href="https://www.embarcadero.com/jp/products/cbuilder/starter">利用資格</a>がありますので注意してください。</p>



<p>ダウンロードページでは必要事項を入力し「ダウンロード」すると、ほどなくＥメールが届きます。<br>Ｅメールには、Serial Number　が書かれているので、再度上記の製品登録画面の「Serial Number」に<br>入力します。<br>すると、気になっていた「Enbarcadero Developer Network」の入力項目は無効になり<br>「登録」ボタンが有効になりました。</p>



<h2 class="wp-block-heading"><span id="toc3">登録完了</span></h2>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="788" src="https://www.kazuban.com/blog/wp-content/uploads/2023/03/License4-1024x788.png" alt="" class="wp-image-7719" srcset="https://www.kazuban.com/blog/wp-content/uploads/2023/03/License4-1024x788.png 1024w, https://www.kazuban.com/blog/wp-content/uploads/2023/03/License4-300x231.png 300w, https://www.kazuban.com/blog/wp-content/uploads/2023/03/License4-768x591.png 768w, https://www.kazuban.com/blog/wp-content/uploads/2023/03/License4.png 1040w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p>これで、後１年遊べます。<br>「C++Builder Community Edition」は、無料ながら、ランタイムを必要としないWindowsネイティブな「exe」実行ファイル作成できます。<br>場面まわりもの簡単にレイアウトできますし、C++言語でプログラムできます。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CentOS8 でミラーサイトを作る／WordPress のバックアップ</title>
		<link>https://www.kazuban.com/blog/mirror-site-v2/</link>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Sun, 22 Mar 2020 00:36:31 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Linux (CentOS、Rocky、Ubuntu)]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[バックアップ]]></category>
		<category><![CDATA[覚書]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=1992</guid>

					<description><![CDATA[前回、Webサーバーの設定まで終了したので、WordPress をインストールして、このサイトのミラーサイトにしておこうと思っていますまずはWordPress を動作させるに、PHP と　MySql　をインストールします [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="https://www.kazuban.com/blog/mirror-site-v1/">前回、Webサーバーの設定まで終了</a>したので、WordPress をインストールして、このサイトのミラーサイトにしておこうと思っています<br>まずはWordPress を動作させるに、PHP  と　MySql　をインストールしますが、<a href="https://www.kazuban.com/blog/php7-3/">以前</a>とそれほど変わらないと思っています。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">WordPress インストール</a><ol><li><a href="#toc2" tabindex="0">PHP7.3 のインストール</a></li><li><a href="#toc3" tabindex="0">php-fpmの起動</a></li><li><a href="#toc4" tabindex="0">PHP 基本的な設定</a></li><li><a href="#toc5" tabindex="0">MariaDB 10 のインストール</a></li><li><a href="#toc6" tabindex="0">mysql_secure_installationの実行</a></li><li><a href="#toc7" tabindex="0">文字コードの設定</a></li><li><a href="#toc8" tabindex="0"> WordPress インストール </a></li></ol></li><li><a href="#toc9" tabindex="0">バックアップ</a><ol><li><a href="#toc10" tabindex="0">WordPress データベースのバックアップ</a></li><li><a href="#toc11" tabindex="0">「mysqldump」でバックアップ</a><ol><li><a href="#toc12" tabindex="0">ミラーサイトのURL情報を変更：①mysql で設定の情報を書き換える</a></li><li><a href="#toc13" tabindex="0">ミラーサイトのURL情報を変更：②wp-config.phpを編集する</a></li><li><a href="#toc14" tabindex="0">メニューの「カスタムリンク」でうまく設定できない場合がありました</a></li></ol></li><li><a href="#toc15" tabindex="0">wp-content をバックアップ</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">WordPress インストール</span></h2>



<p>PHP 、MariaDB、WordPress とインストールしていきます</p>



<h3 class="wp-block-heading"><span id="toc2">PHP7.3 のインストール</span></h3>



<p>centOS8 のデフォルトは、PHP7.2なので、remiレポジトリを導入しPHP7,3をインストール</p>



<pre class="wp-block-preformatted"># dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm
# dnf module disable php
# dnf module install -y php:remi-7.3
# php -v</pre>



<h3 class="wp-block-heading"><span id="toc3">php-fpmの起動</span></h3>



<pre class="wp-block-preformatted"># cp -p /etc/php-fpm.d/www.conf /etc/php-fpm.d/www.conf.org
# vi /etc/php-fpm.d/www.conf
  ・
  ・
 listen.owner = apache
 listen.group = apache
 listen.mode = 0666


# systemctl start php-fpm
# systemctl enable php-fpm
# systemctl is-enabled php-fpm
 enabled</pre>



<h3 class="wp-block-heading"><span id="toc4">PHP 基本的な設定</span></h3>



<pre class="wp-block-preformatted"># cp -p /etc/php.ini /etc/php.ini.org
# vi /etc/php.ini
 expose_php = Off
 post_max_size = 80M
 upload_max_filesize = 80M
 date.timezone = "Asia/Tokyo"
 mbstring.language = Japanese
 mbstring.internal_encoding = UTF-8
 mbstring.http_input = UTF-8
 mbstring.http_output = pass
 mbstring.encoding_translation = On
 mbstring.substitute_character = none 

$ php -r 'phpinfo();' |  grep 'PHP Version'
PHP Version =&gt; 7.3.15</pre>



<h3 class="wp-block-heading"><span id="toc5">MariaDB 10 のインストール</span></h3>



<pre class="wp-block-preformatted">$ dnf list | grep maria</pre>



<p>centOS8 になり、デフォルトで「MariaDB 10」が導入されているので、そのままインストール</p>



<pre class="wp-block-preformatted"># dnf install -y mariadb-server mariadb mariadb-devel
 完了しました!

# systemctl restart mariadb
# systemctl status mariadb
# systemctl enable mariadb</pre>



<h3 class="wp-block-heading"><span id="toc6">mysql_secure_installationの実行</span></h3>



<p>管理者パスワードは、事前に決めてメモしておく<br>　　 ★管理者パスワード　：　 hogehoge_passwd<br>このパスワードは、mysql コマンドで「root」ユーザーのパスワード となる</p>



<pre class="wp-block-preformatted">$ sudo mysql_secure_installation
・
Set root password? [Y/n] y                &lt;--------------- 管理者パスワード
Remove anonymous users? [Y/n] y       &lt;--------- 匿名ユーザー削除
Disallow root login remotely? [Y/n] y     &lt;----- リモート管理者ログイン拒否
Remove test database and access to it? [Y/n] y &lt;---- test データベース削除
Thanks for using MariaDB! </pre>



<h3 class="wp-block-heading"><span id="toc7">文字コードの設定</span></h3>



<pre class="wp-block-preformatted"># cp -p /etc/my.cnf.d/mariadb-server.cnf /etc/my.cnf.d/mariadb-server.cnf.org 
# vi mariadb-server.cnf
   ・
   ・
 [mariadb]                 &lt;------ 追加  character-set-server = utf8mb4 
 [client-mariadb]          &lt;------ 追加  default-character-set =　utf8mb4 

# systemctl start mariadb 
# systemctl status mariadb</pre>



<p>データベースにアクセスし、確認</p>



<pre class="wp-block-preformatted">$ mysql -uroot -p「★管理者パスワード」</pre>



<pre class="wp-block-preformatted">MariaDB [(none)]&gt; show variables like "chara%";
 +--------------------------+------------------------------+
 | Variable_name            | Value                        |
 +--------------------------+------------------------------+
 | character_set_client     | utf8mb4                      |
 | character_set_connection | utf8mb4                      |
 | character_set_database   | utf8mb4                      |
 | character_set_filesystem | binary                       |
 | character_set_results    | utf8mb4                      |
 | character_set_server     | utf8mb4                      |
 | character_set_system     | utf8                         |
 | character_sets_dir       | /usr/share/mariadb/charsets/ |
 +--------------------------+------------------------------+

MariaDB [(none)]&gt; quit
 Bye</pre>



<h3 class="wp-block-heading"><span id="toc8"> WordPress インストール </span></h3>



<p>centOS7時の記事を参考に、インストール</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-じじぃの引出し"><div class="wp-block-embed__wrapper">

<a href="https://www.kazuban.com/blog/wordpress-install/" title="自宅サーバでWordPressを動かそう。インストール" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="121" height="90" src="https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPressLogo.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPressLogo.jpg 497w, https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPressLogo-300x223.jpg 300w" sizes="(max-width: 121px) 100vw, 121px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">自宅サーバでWordPressを動かそう。インストール</div><div class="blogcard-snippet internal-blogcard-snippet">前回までで、WordPress要求の PHPバージョン7.3以上、MySQLバージョン5.6またはMariaDBバージョン10.0以上の環境は出来上がっています。いよいよ、WordPress をインストールしようと思います。環境の確認インストール状況を確認するには、「rpm -qa 」や「yum l...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.kazuban.com/blog" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.kazuban.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2019.11.12</div></div></div></div></a>
</div></figure>



<h2 class="wp-block-heading"><span id="toc9">バックアップ</span></h2>



<p>とりあえず、WordPress は動作したと思うので、本サーバーのバックアップをしていきます、</p>



<h3 class="wp-block-heading"><span id="toc10">WordPress データベースのバックアップ</span></h3>



<p>本サーバー側で作業していきます<br>まずは、バックアップを保存するディレクトリを作成し、データベースをバックアップ。データバースの、ユーザ名、ホスト名、パスワードは事前に明確にしておきます</p>



<ul class="wp-block-list">
<li>データベース名　　　　　｜ WpDb</li>



<li>ユーザー名　　　　　　　｜ WpAdmin</li>



<li>パスワード　　　　　　　｜ WpPasswd</li>



<li>データベースのホスト名　｜ localhost</li>
</ul>



<h3 class="wp-block-heading"><span id="toc11">「mysqldump」でバックアップ</span></h3>



<p>・バックアップ作業用ディレクトリを作成<br>・本サーバーでデータベースをすべてバックアップ<br>・ミラーサーバーへコピー<br>・ミラーサーバーのデータベースをリストア<br>・WordPress の設定をミラーサーバー用に変更</p>



<pre class="wp-block-preformatted">//バックアップ作業用ディレクトリ作成
$ cd ~
$ mkdir ./Backup
$ cd ./Backup/

//本サーバーでバックアップ
$ mysqldump -u  WpAdmin -pWpPasswd  -h localhost -A &gt; WordPress.bak

//バックアップファイルをミラーＰＣへコピー
// SSH のポート番号　54321 の場合
$ scp -P 54321 ./WordPress.bak 192.168.0.100:
Enter passphrase for key '/home/hogehoge/.ssh/id_ecdsa':

//ミラーサーバーのデータベースをリストア 
$ mysql -u root -p WpDb  &lt; WordPress.bak
 パスワード：  &lt;-- データベースのパスワードではなく、mysql の　root パスワード</pre>



<p>これで、データベースのコピーは終了したが、WordPress の設定情報も更新されています。<br>したがって、本サーバーとミラーサーバーでは、アドレスが違うためミラーサイトへ直接のアクセスしても、内部的には本サーバーのURLで動作するので、正常に表示されません<br>データベースのWordPresのURL設定を変更する必要があります<br>変更方法は、mysqlのデータバース内容を直接変更する方法と、wordpressの設定ファイルで変更する方法を紹介します。<br>後者の方が簡単です</p>



<h4 class="wp-block-heading"><span id="toc12">ミラーサイトのURL情報を変更：①mysql で設定の情報を書き換える</span></h4>



<pre class="wp-block-code"><code>//ミラーサイトでの作業
$ mysql -u root -p「rootパスワード」
 MariaDB &#91;(none)]&gt; show databases;
 +--------------------+
 | Database           |
 +--------------------+
 |  WpDb              |
 | information_schema |
 | mysql              |
 | performance_schema |
 +--------------------+
 4 rows in set (0.001 sec)
 MariaDB &#91;(none)]&gt; use WpDb
 MariaDB &#91;WpDb]&gt; select * from wp_options where option_name = "siteurl";
 +-----------+-------------+------------------------------+----------+
 | option_id | option_name | option_value                 | autoload |
 +-----------+-------------+------------------------------+----------+
 |         1 | siteurl     | http://www.hogehoge.com/blog | yes      |
 +-----------+-------------+------------------------------+----------+
 1 row in set (0.000 sec)
 MariaDB &#91;WpDb]&gt; select * from wp_options where option_name = "home";
 +-----------+-------------+------------------------------+----------+
 | option_id | option_name | option_value                 | autoload |
 +-----------+-------------+------------------------------+----------+
 |         2 | home        | http://www.hogehoge.com/blog | yes      |
 +-----------+-------------+------------------------------+----------+
 1 row in set (0.000 sec)

//次のコマンドで、www.hogehoge.com を www2.hogehoge.com に変更する
 MariaDB &#91;WpDatabase]&gt;update wp_options SET option_value = "http://www2.hogehoge.com/blog" where option_id = 1 OR option_id = 2;</code></pre>



<h4 class="wp-block-heading"><span id="toc13">ミラーサイトのURL情報を変更：②wp-config.phpを編集する</span></h4>



<pre class="wp-block-code"><code>#サーバーでの作業
#ブログのディレクトリへ移動
cd /home/www/html/blog/
# wp-config のバックアップを取る
sudo cp -p wp-config.php wp-config.php.bak

#編集
vi ./wp-config.php

#最後の行に、URL情報を追加
####
####
define('WP_HOME', 'http://www2.hogehoge.com/blog/');
define('WP_SITEURL', 'http://www2.hogehoge.com/blog/');
###
###
#保存
</code></pre>



<p><strong>確認:</strong> 新しいURLで管理画面にログインし、「設定」>「一般」でURLが正しく認識されているか確認します。 </p>



<h4 class="wp-block-heading"><span id="toc14">メニューの「カスタムリンク」でうまく設定できない場合がありました</span></h4>



<p>私の環境では、バックアップURLでほぼ正常に動作しましたが、一部のリンクで本サーバーURLへリンクされる場合が確認されました<br>調べてみると、必ずＮＧではないですが「カスタムリンク」でそのような現象が起きてます<br>カスタムリンクでは、「URL」項目に直接リンク先URLを設定しますが、そこに本サーバーのURLを設定している場合、うまく変換されず本サーバーへリンクしてしまう現象です<br>このリンク先のURLを相対パスにすることで、とりあえずは治りました</p>



<pre class="wp-block-code"><code>#カスタムリンク
https:&#47;&#47;www.hogehoge.com/blog/
    #　↓
    #相対アドレスへ変更
<strong>/blog/</strong></code></pre>



<ol class="wp-block-list"></ol>



<p>これで、ミラーサイト（www2.hogehoge.com）でも本サーバーと同様にWordPress にアクセスできるようになりました</p>



<h3 class="wp-block-heading"><span id="toc15">wp-content をバックアップ</span></h3>



<p>投稿記事内容は、mysql に保存されていますが、テーマやアップロードしたメディアなどは、wp-content ディレクトリに保存されているようなので、これもバックアップします。<br>・WordPress インストールディレクトリへ移動<br>・tar コマンドで圧縮<br>・ミラーサイトへコピー<br>・ファイルをミラーサイトの作業ディレクトリへ移動<br>・展開<br>・展開された、wp-content ディレクトリをhttpd ユーザーアカウントに変更<br>・ミラーサイトのwp-contentディレクトリの名前変更<br>・作業ディレクトリのwp-content を移動</p>



<pre class="wp-block-preformatted">// wp-content をバックアップ
# cd /home/www/html/blog
# tar cvzf blog.tar.gz ./wp-content/

// blog.tar.gzを作業用のディレクトリに移動
# mv blog.tar.gz /home/hogehoge/Backup/

// アカウントの変更
# chown hogehoge.hogehoge blog.tar.gz

// ミラーサイトへコピー
# exit
$ cd /home/hogehoge/Backup/
$ scp -P 54321 ./blog.tar.gz 192.168.0.100:
Enter passphrase for key '/home/kazu/.ssh/id_ecdsa':

// ミラーサイトで作業
// ユーザーホームディレクトリにコピーされている
// 作業ディレクトリへ移動
$ mv ./blog.tar.gz ./Backup/
$ cd ./Backup/

// 展開
$ tar xvzf ./blog.tar.gz

// 展開されたディレクトリをhttpd ユーザーアカウントに変更
 $ sudo chown -R apache.apache ./wp-content/

// wordpress ディレクトリへ移動し、バックアップディレクトリ名を変更
$ cd /home/www/html/hogehoge.com/blog/
$ sudo mv wp-content wp-content.org

// オリジナルのディレクトリを移動
$ sudo mv ./wp-content /home/www/html/hogehoge.com/blog/
</pre>



<p>これでミラーサイトのWordPress にログインできるはずなので<br> wordpress の「設定」⇒「一般設定」を確認</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>C++Builder TMemo の操作</title>
		<link>https://www.kazuban.com/blog/cbuilder-tmemo/</link>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Wed, 01 Jan 2020 05:58:42 +0000</pubDate>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[RichEdit]]></category>
		<category><![CDATA[TMemo]]></category>
		<category><![CDATA[カーソル操作]]></category>
		<category><![CDATA[行選択]]></category>
		<category><![CDATA[覚書]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=1606</guid>

					<description><![CDATA[&#160;C++Builder 10.3 Community Edition を使用して、趣味でプログラミングをしていますが、ＮＣデータを扱うソフトを作ってみようと計画しています。 &#160;C++Builderの「 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>&nbsp;C++Builder 10.3 Community Edition を使用して、趣味でプログラミングをしていますが、ＮＣデータを扱うソフトを作ってみようと計画しています。<br> &nbsp;C++Builderの「Memoコンポーメント」を利用すると、簡易なエディタ的な処理をさせる事ができますが、マウスを使わないでのカーソル操作や選択、検索などの処理をさせたかったので、調べてみたところある程度はできそうです。<br>関数化したので、覚書きとして、残しておきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">EMBACADERO サポートサイト</a></li><li><a href="#toc2" tabindex="0">関数プロトタイプ</a></li><li><a href="#toc3" tabindex="0">関数の実装</a></li><li><a href="#toc4" tabindex="0">完成</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1"><a href="http://support.embarcadero.com/jp/article/35940"><span style="color:Blue">EMBACADERO サポートサイト</span></a></span></h2>



<p><a href="http://support.embarcadero.com/jp/article/35940">発売元のサポートサイト</a>に情報がありました。<br>C++Builderがサポートしていない機能は、 Performメソッド を使って、Windowsクラスへのメッセージを利用して実現させるようです。</p>



<h2 class="wp-block-heading"><span id="toc2">関数プロトタイプ</span></h2>



<p>上記のメッセージを参考に、関数を作成しました。</p>



<pre class="wp-block-preformatted"> //-----------------------------------------------------------------
 // Memo
 // http://support.embarcadero.com/jp/article/35940
 //---------------------------------------------------------------
 // Memoの行数を返す
 int kMemoLineCount(TCustomMemo *memo);

 // Memoのカーソル行番号を返す
 int kMemoCurrentRowNumber(TCustomMemo *memo);

 // Memoの先頭にカーソルを移動する
 void kMemoMoveTop(TCustomMemo *memo);

 // Memoの指定行番号にカーソルを移動する、省略＝トップ
 void kMemoMoveRowNumber(TCustomMemo *memo,int row=1);

 // Memoのカーソル行を指定行だけ下に移動する、省略＝１行
 void kMemoMoveDown(TCustomMemo *memo,int number=1);

 // Memoのカーソル行を指定行だけ上に移動する、省略＝１行
 void kMemoMoveUp(TCustomMemo *memo,int number=1);

 // Memoの指定行を選択する、省略＝トップ
 void kMemoSelectRowNumber(TCustomMemo *memo,int row=1);

 // Memoの指定行の文字数、省略＝カレント行
 int kMemoGetCharCount(TCustomMemo *memo,int row=0);

 // Memoのカーソル行の指定位置から指定文字数を選択する、省略＝すべて
 void kMemoSelectCurrentRow(TCustomMemo *memo,int start=0,int length=0);

 // Memoの1行下が見えるようにスクロールします。
 void kMemoScrollLineDown(TCustomMemo *memo);

 // Memoの1行下が見えるようにスクロールします。
 void kMemoScrollLineDown(TCustomMemo *memo);

 // Memoの1行上が見えるようにスクロールします
 void kMemoScrollLineUp(TCustomMemo *memo);

 // Memoの1ページ下が見えるようにスクロールします。
 void kMemoScrollPageDown(TCustomMemo *memo);

 // Memoの1ページ上が見えるようにスクロールします。
 void kMemoScrollPageUp(TCustomMemo *memo)
;
 // Memoの左右上下にスクロールさせます。
 void kMemoScrollRowCol(TCustomMemo *memo,int col,int row);

 // Memoのカーソルより次へ文字列を検索します。
 void kMemoSearchNext(TCustomMemo *memo,UnicodeString Key,bool select=true);

 // Memoのカーソルより前方向に文字列を検索します。
 void kMemoSearchPrevious(TCustomMemo *memo,UnicodeString Key,bool select=true);

 // Memoの実際に目にみえている最初の行の行番号を返します（最初の行は0）
 int kMemoGetPageTopRow(TCustomMemo *memo);

 // RichEditの指定行の色を変更する
 TColor kRichEditChangeColor(TRichEdit *richedit,TColor color,int row=1);
</pre>



<h2 class="wp-block-heading"><span id="toc3">関数の実装</span></h2>



<pre class="wp-block-preformatted"> //--------------------------------------------------------------
 //-------- Memo ------------------------
 //-------------------------------------------------------------
 // TMemo の行数
 int kMemoLineCount(TCustomMemo *memo)
 {
     int count = memo-&gt;Lines-&gt;Count;
     return count;
 }

 // TMemo の現在のカーソル行位置（最初は１）
 int kMemoCurrentRowNumber(TCustomMemo *memo)
 {
     int row = memo-&gt;Perform(EM_LINEFROMCHAR,-1,0)+1;
     return row;
 }

 // Memoの先頭にカーソルを移動する
 void kMemoMoveTop(TCustomMemo *memo)
 {
     memo-&gt;SelStart = memo-&gt;Perform(EM_LINEINDEX,0,0);
 }

 // Memoの指定行番号にカーソルを移動する、省略＝トップ
 void kMemoMoveRowNumber(TCustomMemo *memo,int row)
 {
     memo-&gt;SelStart = memo-&gt;Perform(EM_LINEINDEX,row-1,0);
     memo-&gt;SetFocus();
 }

 // Memoのカーソル行を指定行だけ下に移動する、省略＝１行
 void kMemoMoveDown(TCustomMemo *memo,int number)
 {
     int current = kMemoCurrentRowNumber(memo);
     kMemoMoveRowNumber(memo,current+number);
 }

 // Memoのカーソル行を指定行だけ上に移動する、省略＝１行
 void kMemoMoveUp(TCustomMemo *memo,int number)
 {
     int current = kMemoCurrentRowNumber(memo);
     kMemoMoveRowNumber(memo,current-number);
 }

 // Memoの指定行を選択する、省略＝トップ
 void kMemoSelectRowNumber(TCustomMemo *memo,int row)
 {
     int count = memo-&gt;Lines-&gt;Count;
     if(count&lt;1) return;    
     UnicodeString str = memo-&gt;Lines-&gt;Strings[row-1];
     int len = str.Length();
     kMemoMoveRowNumber(memo,row);
     memo-&gt;SelLength = len;
 }

 // Memoの指定行の文字数、省略＝カレント行
 int kMemoGetCharCount(TCustomMemo *memo,int row)
 {
     int rength = 0;
     if(row == 0){
         row = kMemoCurrentRowNumber(memo);
     }
     if(row&gt;0){
         rength = memo-&gt;Lines-&gt;Strings[row-1].Length();
     }
     return rength;
 }

 // Memoのカーソル行の指定位置から指定文字数を選択する、省略＝すべて
 void kMemoSelectCurrentRow(TCustomMemo *memo,int start,int length)
 {
     if(start==0 &amp;&amp; length==0){
         kMemoSelectRowNumber(memo);
         return;
     }
     int row = kMemoCurrentRowNumber(memo);
     int len = kMemoGetCharCount(memo,row);
     kMemoMoveRowNumber(memo,row);
     if((start+length)&gt;len){
         length = len-start+1;
     }
     memo-&gt;SelStart += (start-1);
     memo-&gt;SelLength = length;
 }

 // Memoの1行下が見えるようにスクロールします。
 void kMemoScrollLineDown(TCustomMemo *memo)
 {
     memo-&gt;Perform(EM_SCROLL, SB_LINEDOWN, 0);
 }

 // Memoの1行上が見えるようにスクロールします
 void kMemoScrollLineUp(TCustomMemo *memo)
 {
     memo-&gt;Perform(EM_SCROLL, SB_LINEUP, 0);
 }

 // Memoの1ページ下が見えるようにスクロールします。
 void kMemoScrollPageDown(TCustomMemo *memo)
 {
     memo-&gt;Perform(EM_SCROLL, SB_PAGEDOWN, 0);
 }

 // Memoの1ページ上が見えるようにスクロールします。
 void kMemoScrollPageUp(TCustomMemo *memo)
 {
     memo-&gt;Perform(EM_SCROLL, SB_PAGEUP, 0);
 }

 // Memoの上下左右にスクロールさせます。
 void kMemoScrollRowCol(TCustomMemo *memo,int row,int col)
 {
     memo-&gt;Perform(EM_LINESCROLL, row, col);
 }

 // Memoの実際に目にみえている最初の行の行番号を返します（最初の行は1）
 int kMemoGetPageTopRow(TCustomMemo *memo)
 {
     int row = memo-&gt;Perform(EM_GETFIRSTVISIBLELINE, 0, 0);
     return row+1;
 }

 // Memoのカーソルより次へ文字列を検索します。
 void kMemoSearchNext(TCustomMemo *memo,UnicodeString Key,bool select)
 {
     int count = memo-&gt;Lines-&gt;Count;
     int current = kMemoCurrentRowNumber(memo);
     UnicodeString str;
     int pos;
     int len = Key.Length();
     for(int i= current;iLines-&gt;Strings[i];
         pos = str.Pos(Key);
         if(pos){
             kMemoMoveRowNumber(memo,i+1);
             if(select){
                 kMemoSelectCurrentRow(memo,pos,len);
             }
             break;
         }
     }
 }

 // Memoのカーソルより手前に文字列を検索します。
 void kMemoSearchPrevious(TCustomMemo *memo,UnicodeString Key,bool select)
 {
     int count = memo-&gt;Lines-&gt;Count;
     int current = kMemoCurrentRowNumber(memo)-1;
     UnicodeString str;
     int pos;
     int len = Key.Length();
     for(int i= current;i&gt;=0;i--){
         str = memo-&gt;Lines-&gt;Strings[i-1];
         pos = str.Pos(Key);
         if(pos){
             kMemoMoveRowNumber(memo,i);
             if(select){
                 kMemoSelectCurrentRow(memo,pos,len);
             }
             break;
         }
     }
 }

 // RichEditの指定行の色を変更する
 TColor kRichEditChangeColor(TRichEdit *redit,TColor color,int row)
 {
     TColor cl = redit-&gt;SelAttributes-&gt;Color;
     kMemoSelectRowNumber(redit,row);
     redit-&gt;SelAttributes-&gt;Color = color;
     redit-&gt;SelLength = 0;
   return cl;
 }</pre>



<h2 class="wp-block-heading"><span id="toc4">完成</span></h2>



<p>とりあえず、作ってみましたが、簡単にしか検証していません。<br>もし、使用する場合には、ご注意ください。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>自宅サーバでWordPressを動かそう。インストール</title>
		<link>https://www.kazuban.com/blog/wordpress-install/</link>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Tue, 12 Nov 2019 12:25:14 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Linux (CentOS、Rocky、Ubuntu)]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[覚書]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=1265</guid>

					<description><![CDATA[前回までで、WordPress要求の PHP&#160;バージョン7.3以上、MySQL&#160;バージョン5.6または&#160;MariaDB&#160;バージョン10.0以上の環境は出来上がっています。いよいよ、 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>前回までで、<a href="https://ja.wordpress.org/download/">WordPress要求</a>の PHP&nbsp;バージョン7.3以上、MySQL&nbsp;バージョン5.6<strong>または</strong>&nbsp;MariaDB&nbsp;バージョン10.0以上の環境は出来上がっています。<br>いよいよ、WordPress をインストールしようと思います。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">環境の確認</a></li><li><a href="#toc2" tabindex="0">WordPressの準備</a><ol><li><a href="#toc3" tabindex="0"> WordPress のダウンロード</a></li><li><a href="#toc4" tabindex="0">ダウンロードしたファイルを展開</a></li><li><a href="#toc5" tabindex="0">wordpress ソフトの移動</a></li><li><a href="#toc6" tabindex="0">wordpress へのアクセス権限の設定</a></li><li><a href="#toc7" tabindex="0">データベースの作成</a></li><li><a href="#toc8" tabindex="0">データベースの管理者の作成</a></li><li><a href="#toc9" tabindex="0">管理者の確認</a></li><li><a href="#toc10" tabindex="0">インストーラで必要情報設定</a></li></ol></li><li><a href="#toc11" tabindex="0">インストール完了</a><ol><ol><li><a href="#toc12" tabindex="0">自宅でWordPressを動かそう！</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">環境の確認</span></h2>



<p>インストール状況を確認するには、「rpm -qa  」や「yum list installed 」コマンドで確認できます。<br>両方とも、インストール済みパッケージの一覧が表示されるので、すごい数が表示されます。<br>その中から、確認したいキーワードのみを表示するのに「grep -i」コマンドに結果を渡して絞り込む事ができます。<br>ちなみに「-i」は、大文字小文字を区別しない オプション です。</p>



<pre class="wp-block-preformatted">$ rpm -qa | grep -i php
 php-pecl-mcrypt-1.0.2-2.el7.remi.7.3.x86_64
 php-xmlrpc-7.3.5-1.el7.remi.x86_64
 php-json-7.3.5-1.el7.remi.x86_64
 php-xml-7.3.5-1.el7.remi.x86_64
 php-gd-7.3.5-1.el7.remi.x86_64
 php-pecl-mysql-1.0.0-0.20.20180226.647c933.el7.remi.7.3.x86_64
 php-pdo-7.3.5-1.el7.remi.x86_64
 php-mbstring-7.3.5-1.el7.remi.x86_64
 php-cli-7.3.5-1.el7.remi.x86_64
 php-7.3.5-1.el7.remi.x86_64
 php-common-7.3.5-1.el7.remi.x86_64
 php-mysqlnd-7.3.5-1.el7.remi.x86_64

 $ rpm -qa | grep -i mariaDB
 MariaDB-common-10.3.15-1.el7.centos.x86_64
 MariaDB-server-10.3.15-1.el7.centos.x86_64
 MariaDB-compat-10.3.15-1.el7.centos.x86_64
 MariaDB-devel-10.3.15-1.el7.centos.x86_64
 MariaDB-client-10.3.15-1.el7.centos.x86_64

 $ rpm -qa | grep -i http
 httpd-2.4.6-89.el7.centos.x86_64
 perl-HTTP-Tiny-0.033-3.el7.noarch
 httpd-tools-2.4.6-89.el7.centos.x86_64
 python-ndg_httpsclient-0.3.2-1.el7.noarch</pre>



<h2 class="wp-block-heading"><span id="toc2">WordPressの準備</span></h2>



<p>WordPressは、公式サイトから無料で入手できます<br><a href="https://ja.wordpress.org/download/">日本語のページ</a>も用意されています。</p>



<h3 class="wp-block-heading"><span id="toc3"> WordPress のダウンロード</span></h3>



<p>ダウンロードは、ウェブブラウザが使用できる環境であれば、<a href="https://ja.wordpress.org/download/">公式サイト</a>のページの「tar.gzをダウンロード」からダウンロードしていいですが、コマンドラインからであれば、「<strong>wget</strong>」コマンドを使用します。<br>インストールされていなければ、「yum install wget」でインストールします。<br>ダウンロード先は、どこでもいいですが、とりあえずユーザーホームディレクトリの「Downloads」ディレクトリにします。<br>また、WordPress のファイル名は、「latest-ja.tar.gz」と指定する事で、その時点の最新版を入手できます。</p>



<pre class="wp-block-preformatted">$ cd ~/Downloads/
$ wget https://ja.wordpress.org/latest-ja.tar.gz
・
・
$ ls　　　&lt;------------- ls コマンドでダウンロードファイルの確認
 latest-ja.tar.gz</pre>



<h3 class="wp-block-heading"><span id="toc4">ダウンロードしたファイルを展開</span></h3>



<p>ダウンロードされたファイルは、必要なファイル群が圧縮された状態のファイルです。使用するには、展開する必要があります。<br>展開には、「tar」コマンドを使います。パラメータは「xvzf」を指定します。<br>意味は、「圧縮された：z」「ファイルを：f」「状況を表示しながら：v」「展開：x」となります。<br>展開が完了すると、「wordpress」というディレクトリのなかに必要なファイルが出来上がっています。</p>



<pre class="wp-block-preformatted">$ tar xvzf latest-ja.tar.gz
・
・             &lt;--------------- 展開状況が表示される
・
$ ls
 latest-ja.tar.gz  wordpress   &lt;-- wordpress ディレクトリが作成されている</pre>



<h3 class="wp-block-heading"><span id="toc5">wordpress ソフトの移動</span></h3>



<p>このディレクトリまたはその中身のファイル群を、ドキュメントルート「/home/www/html/」に移動します。<br>場所を移動するには、「mv」コマンドを使用します。<br>基本的には、WordPress のファイル群が保存されているディレクトリが実際のＷｅｂブラウザから呼び出すアドレスに影響します。<br> 「/home/www/html/」直下に中身のみ配置した場合には、Ｗｅｂブラウザのアドレス指定でサーバー名のみ（例えば、https://www.hogehoge.com/」）で「WordPress」の画面が表示されるようになります。<br>「wordpress」ディレクトリを保存した場合には、<br>https://サーバー名/wordpress/ で呼び出す事になります。<br>また、「wordpress」のアドレス名を変更したい場合には、このディレクトリの名前を変更するのが簡単です。<br>私は「blog」という名前に変更しました。<br>ディレクトリ名を変更する場合も、「mv」コマンドを使用します</p>



<pre class="wp-block-preformatted">$ sudo mv ./wordpress/ /home/www/html/  &lt;-------- 移動
$ cd /home/www/html/
$ sudo mv  ./wordpress/ ./blog/  &lt;-------- ディレクトリ名変更</pre>



<h3 class="wp-block-heading"><span id="toc6">wordpress へのアクセス権限の設定</span></h3>



<p>現状では、ダウンロードしたユーザーの権限になっています。<br>実際の動作では、Webサーバーである、apache が作業するため、 Webサーバー のユーザーに権限を設定します。<br>apacheのデフォルトでは、「グループ：オーナー」は「apache : apache」です。<br>グループやオーナーを変更していない場合には、apacheに変更します。<br>オーナーの変更は、「chown」コマンドにすべてのファイルに適応させるの意味で「-R」オプションを付加して設定します</p>



<pre class="wp-block-preformatted">$ cd /home/www/html/
$ sudo chown -R apache.apache ./blog/
$ cd blog/
$ ls -la       &lt;------------- 確認すると、すべて「apache」になっています
 合計 204
 drwxr-xr-x   5 apache apache  4096  5月 22 05:10 .
 drwxr-xr-x.  4 apache apache    95  5月 22 10:50 ..
 -rw-r--r--   1 apache apache   420 12月  1  2017 index.php
 -rw-r--r--   1 apache apache 19935  5月 22 05:10 license.txt
　・
　・
 -rw-r--r--   1 apache apache  4764 12月  1  2017 wp-trackback.php
 -rw-r--r--   1 apache apache  3068  8月 17  2018 xmlrpc.php</pre>



<h3 class="wp-block-heading"><span id="toc7">データベースの作成</span></h3>



<p>mariaDBにwordpress用のデータベースを作成しますが、その前に必要な情報をまとめておきます。<br>この情報は、これから行うデータベース設定とその後のWordPressインストーラーでも使用しますので、メモを残しておいたほうが無難です<br>名前やパスワードは任意で決定してください。<br>ここでは、下記で設定します</p>



<ul class="wp-block-list"><li>データベース名：WpDb</li><li>ユーザー名:WpAdmin</li><li>パスワード:WpPasswd</li><li>データベースホスト:localhost</li></ul>



<p>データベースを作成するには、まず「mysql -u root -pパスワード」でmariaDBに接続します</p>



<pre class="wp-block-preformatted">$ mysql -uroot -pパスワード   &lt;------ -pの後にスペースを入れない
 Welcome to the MariaDB monitor.  Commands end with ; or \g.
 Your MariaDB connection id is 28
 Server version: 10.3.15-MariaDB MariaDB Server
 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 MariaDB [(none)]&gt; </pre>



<p>ここからは、mariaDBのコマンド作業になります。<br>まずは、wordpress用のデータベースを「CREATE DATABASE」で作成します<br>作成後は、「SHOW DATABASES」で確認できます。<br>コマンドの最後には「;」を忘れないようにしてください。</p>



<pre class="wp-block-preformatted"> MariaDB [(none)]&gt; CREATE DATABASE WpDb;
 Query OK, 1 row affected (0.001 sec)
 MariaDB [(none)]&gt; SHOW DATABASES;
 +--------------------+
 | Database           |
 +--------------------+
 | WpDb         |             &lt;----------- 作成されている
 | information_schema |
 | mysql              |
 | performance_schema |
 +--------------------+
 4 rows in set (0.001 sec)</pre>



<h3 class="wp-block-heading"><span id="toc8">データベースの管理者の作成</span></h3>



<p>管理者は「GRANT ALL ON」構文で作成します。</p>



<pre class="wp-block-preformatted">MariaDB [(none)]&gt; GRANT ALL ON WpDb.* TO 'WpAdmin'@'localhost' IDENTIFIED By 'WpPasswd';
 Query OK, 0 rows affected (0.001 sec)</pre>



<h3 class="wp-block-heading"><span id="toc9">管理者の確認</span></h3>



<p>作成されたユーザー情報は、mariaDBインストール時に自動的に作成されているmysqlデータベースに入るようです。上で作成したwordpress用データベースではないので注意です。<br>作成済みユーザーの確認は、「USE mysql」でmysqlデータベースに接続し「SELECT」構文で確認できます。<br>また、権限の確認は「SHOW GRANTS」で確認でします。<br>marinaDBの終了は「quit」です。</p>



<pre class="wp-block-preformatted"> MariaDB [(none)]&gt; USE mysql
 Reading table information for completion of table and column names
 You can turn off this feature to get a quicker startup with -A
 Database changed
 MariaDB [mysql]&gt; SELECT user,host from user;
 +-----------------+-----------+
 | user            | host      |
 +-----------------+-----------+
 | root            | 127.0.0.1 |
 | root            | ::1       |
 | WpAdmin         | localhost |
 | root            | localhost |
 +-----------------+-----------+
 4 rows in set (0.001 sec)

　MariaDB [mysql]&gt; SHOW GRANTS FOR 'WpAdmin'@'localhost';
 +------------------------------------------------------------------------------------------------------------------------+
 | Grants for WpAdmin@localhost                                                                                   |
 +------------------------------------------------------------------------------------------------------------------------+
 | GRANT USAGE ON <em>.</em> TO 'WpAdmin'@'localhost' IDENTIFIED BY PASSWORD '<em>04868598BBEEEE2011D1F12C1136CC10500C2371F' | | GRANT ALL PRIVILEGES ON <code>WpDb</code>.</em> TO 'WpAdmin'@'localhost'                                                |
 +------------------------------------------------------------------------------------------------------------------------+
 2 rows in set (0.000 sec)
 MariaDB [mysql]&gt; quit
 Bye</pre>



<h3 class="wp-block-heading"><span id="toc10">インストーラで必要情報設定</span></h3>



<p>WordPress本体をインストールしたアドレスへアクセスすると、専用の設定画面が表示されます。<br>ここでの例では、https://www.hogehoge.com/blog/<br>そこへ、データベース作成時に使用した情報を設定していきます</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1017" height="748" src="https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress01.jpg" alt="" class="wp-image-1278" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress01.jpg 1017w, https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress01-300x221.jpg 300w, https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress01-768x565.jpg 768w" sizes="(max-width: 1017px) 100vw, 1017px" /></figure>



<p>次のダイアログで、作成したデータベース情報を入力します<br> 「テーブル接頭辞」はデフォルトの「wp_」でいいようです </p>



<ul class="wp-block-list"><li>データベース名　　　　　｜  WpDb</li><li>ユーザー名　　　　　　　｜  WpAdmin</li><li>パスワード　　　　　　　｜  WpPasswd</li><li>データベースのホスト名　｜  localhost</li><li>テーブル接頭辞　　　　　｜  wp_</li></ul>



<p>設定が終わったら、「送信」⇒「インストール実行」をすすみ</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1084" height="451" src="https://i2.wp.com/www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress03.jpg?fit=1024%2C426&amp;ssl=1" alt="" class="wp-image-1279" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress03.jpg 1084w, https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress03-300x125.jpg 300w, https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress03-768x320.jpg 768w, https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress03-1024x426.jpg 1024w" sizes="(max-width: 1084px) 100vw, 1084px" /></figure>



<p>「ようこそ」画面で、</p>



<ul class="wp-block-list"><li>サイトのタイトル</li><li>ユーザー名</li><li>パスワード</li><li>メールアドレス</li></ul>



<p>各項目を設定し、「WordPressをインストール」</p>



<figure class="wp-block-image is-resized"><img loading="lazy" decoding="async" src="https://i0.wp.com/www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress07.jpg?fit=1024%2C607&amp;ssl=1" alt="" class="wp-image-1280" width="580" height="343" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress07.jpg 1040w, https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress07-300x178.jpg 300w, https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress07-768x455.jpg 768w, https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress07-1024x607.jpg 1024w" sizes="(max-width: 580px) 100vw, 580px" /></figure>



<p>「ログイン」でログイン画面がでれば、成功です</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="695" height="661" src="https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress08.jpg" alt="" class="wp-image-1281" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress08.jpg 695w, https://www.kazuban.com/blog/wp-content/uploads/2019/11/WordPress08-300x285.jpg 300w" sizes="(max-width: 695px) 100vw, 695px" /></figure>



<h2 class="wp-block-heading"><span id="toc11">インストール完了</span></h2>



<p>ログインできたら、ダッシュボード画面が表示されます。<br>WordPress はテーマを選択したり、カスタマイズする事で、いろんなサイトを作成する事ができます。<br>これが無料で使用できるのは驚きですし、ネット上にも情報はたくさんあるので、是非自分好みのサイトを作成してください</p>



<h4 class="wp-block-heading"><span id="toc12">自宅でWordPressを動かそう！</span></h4>



<br>
<div class="pager">
  <a class="prev page-numbers" href="https://www.kazuban.com/blog/mariadb-10/">PREV</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/centos7-install/">1</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/ssh-teraterm/">2</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/apache-install/">3</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/apache-install/">4</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/httpd-setting/">5</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/to-https/">6</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/postfix-install/">7</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/ssl-for-mail/">8</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/php7-3/">9</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/mariadb-10/">10</a>
  <span aria-current="page" class="page-numbers current">11</span>
  <!-- <a class="next page-numbers" href="https://www.kazuban.com/blog/wordpress-install/">NEXT</a> -->
</div>
<hr>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>自宅サーバでWordPressを動かそう。 MariaDB 10のインストール。</title>
		<link>https://www.kazuban.com/blog/mariadb-10/</link>
					<comments>https://www.kazuban.com/blog/mariadb-10/#comments</comments>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Thu, 07 Nov 2019 12:12:41 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Linux (CentOS、Rocky、Ubuntu)]]></category>
		<category><![CDATA[覚書]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=1231</guid>

					<description><![CDATA[WordPress の動作条件として、前回「php7.3」をインストールしました。今回は、MySQLの互換データベースと言う事で、MariaDB バージョン10 のインストールをしようと思います。今回もこちらを参考にさせ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="https://ja.wordpress.org/download/">WordPress の動作条件</a>として、<a href="https://www.kazuban.com/blog/php7-3/">前回</a>「php7.3」をインストールしました。<br>今回は、MySQLの互換データベースと言う事で、<a href="https://mariadb.org/">MariaDB </a>バージョン10 のインストールをしようと思います。<br><a href="https://www.rem-system.com/centos-mariadb-install/">今回もこちらを参考にさせていただきました</a></p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">インストール</a><ol><li><a href="#toc2" tabindex="0">インストール状況確認と下位バージョンの削除</a></li><li><a href="#toc3" tabindex="0">これ注意！</a></li><li><a href="#toc4" tabindex="0">MariaDB用レポジトリ追加</a></li><li><a href="#toc5" tabindex="0">インストール</a></li><li><a href="#toc6" tabindex="0">起動と確認</a></li></ol></li><li><a href="#toc7" tabindex="0">セキュリティ強化</a><ol><li><a href="#toc8" tabindex="0">mysql_secure_installation</a></li><li><a href="#toc9" tabindex="0">文字コードをUTF-8 に設定</a></li><li><a href="#toc10" tabindex="0">MarinaDBへの接続と、パスワード変更</a></li></ol></li><li><a href="#toc11" tabindex="0">問題発生！</a><ol><ol><li><a href="#toc12" tabindex="0">自宅でWordPressを動かそう！</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">インストール</span></h2>



<h3 class="wp-block-heading"><span id="toc2">インストール状況確認と下位バージョンの削除</span></h3>



<p>デフォルトでのインストール状況は「yum list」で確認できます。<br>もし、下位バージョンがインストールされていた場合には、<br>「yum remove」で削除します</p>



<pre class="wp-block-preformatted cmd"><p>$ yum list maria*
　・
　・ 
 インストール済みパッケージ
 mariadb-libs.x86_64                            1:5.5.60-1.el7_5                 @base 
　・
　・
</p>$ sudo yum remove mariadb-libs　・
　・
削除しました:
   mariadb-libs.x86_64 1:5.5.60-1.el7_5
 依存性の削除をしました:
   postfix.x86_64 2:2.10.1-7.el7     &lt;------------- <em><font color="red">これ注意</font></em>
 完了しました!
</pre>



<h3 class="wp-block-heading"><span id="toc3"><strong><font color="red">これ注意！</font></strong></span></h3>



<p>実は、だいぶ後で気が付いて慌ててしまったのですが、「mariadb」を削除すると<span class="markerPink">「postfix」も依存関係で削除されてしまいます</span><br>もし、すでに「postfix」のインストールが完了している状態であれば、再度インストールする必要があります。<br>後半に詳細を書こうを思います。</p>



<h3 class="wp-block-heading"><span id="toc4">MariaDB用レポジトリ追加</span></h3>



<p> 上記の「yum list maria*」コマンドで確認できますが、<br>「利用可能なパッケージ」の項目には、 バージョン5.5しか利用できない状態なので、１０系統用のレポジトリの追加が必要になります。<br>レポジトリファイルは、「/etc/yum.repos.d」に保存されているようです<br> <a href="https://downloads.mariadb.org/mariadb/repositories/#mirror=digitalocean-sfo">こちらに用意されている</a>ようですが、公式サイトのホームからの行く場合迷ってしまいました。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><a href="https://mariadb.org/">ホームページ</a><br>↓<br><a href="https://mariadb.org/download/">「Download」</a><br>↓<br><a href="https://downloads.mariadb.org/">「Download」</a><br>↓<br><a href="https://downloads.mariadb.org/mariadb/10.3.15/">「Download 10.3.15 Stable Now!」</a><br>↓<br>　　一番下のリンクの<br><a href="https://downloads.mariadb.org/mariadb/repositories/#mirror=digitalocean-sfo">「For best results with RPM packages, use the Repository Configuration Tool.」</a><br>↓<br>「centOS」<br>↓<br>「centOS7(x86_64)」<br>↓<br>「10.3(Stable)」<br>↓<br> Here is your custom MariaDB YUM repository entry for CentOS. Copy and paste it into a file under /etc/yum.repos.d/ (we suggest naming the file MariaDB.repo or something similar). </p></blockquote>



<p> このコメントの下に、レポジトリの内容が表示されているので、その部分をコピー＆ペーストで上記のレポジトリの保存場所に適当な名前でファイルを作成するようです </p>



<pre class="wp-block-preformatted">$ sudo vi /etc/yum.repos.d/mariadb.repo

# MariaDB 10.3 CentOS repository list - created 2019-05-19 23:28 UTC
# http://downloads.mariadb.org/mariadb/repositories/
 [mariadb]
 name = MariaDB
 baseurl = http://yum.mariadb.org/10.3/centos7-amd64
 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
 gpgcheck=1
 enable=1　　　　&lt;------------- これは自分で追加　

ファイルを保存したら確認します
$ sudo yum list MariaDB*
</pre>



<h3 class="wp-block-heading"><span id="toc5">インストール</span></h3>



<p>必要なパッケージは、下記のようなので、「yum install」コマンドでインストールします。<br>・MariaDB-server <br>・MariaDB-client <br>・MariaDB-devel</p>



<pre class="wp-block-preformatted">$ sudo yum install MariaDB-server MariaDB-client MariaDB-devel
　・
　・
Is this ok [y/d/N]: y
　・
　・
完了しました!</pre>



<p>途中確認メッセージが出ますが、これが不要な場合には、「-y」オプションで省けます</p>



<h3 class="wp-block-heading"><span id="toc6">起動と確認</span></h3>



<pre class="wp-block-preformatted">$ sudo systemctl start mariadb    &lt;------------- スタート<br><br>$ sudo systemctl status mariadb  &lt;------------- 起動状態<br><br>$ ps -aux | grep mysqld   &lt;------------- 稼動プロセス状態<br><br>$ sudo systemctl enable mariadb     &lt;------------- 自動起動設定<br><br>$ systemctl is-enabled mariadb    &lt;------------- 自動起動の確認<br> enabled</pre>



<h2 class="wp-block-heading"><span id="toc7">セキュリティ強化</span></h2>



<h3 class="wp-block-heading"><span id="toc8">mysql_secure_installation</span></h3>



<p> MariaDBでは基本的なセキュリティ対策を行う、「<strong>mysql_secure_installation</strong>」コマンドが用意されているようなので、実行しておきます。<br>実行すると、いくつか質問が出てきます<br>・管理者パスワードの設定<br>・匿名ユーザーの削除の確認<br>・ネット上から管理者でログインできなくするかの確認<br>・デフォルトで作成されている、「test」データベースの削除確認<br>後ろ３項目は、「y」で問題ないと思いますが、管理者のパスワードは事前に決めておいてメモを残しておいたほうが無難です。<br>★管理者パスワード　：　 hogehoge_passwd </p>



<h3 class="wp-block-heading"><span id="toc9">文字コードをUTF-8 に設定</span></h3>



<pre class="wp-block-preformatted"><p>$ sudo mysql_secure_installation<br>・<br>・<br>Set root password? [Y/n] y                &lt;--------------- 管理者パスワード設定<br> New password:                         hogehoge_passwd<br> Re-enter new password:         hogehoge_passwd <br> Password updated successfully!<br>・<br>・<br>Remove anonymous users? [Y/n] y       &lt;--------- 匿名ユーザー削除<br>  … Success!<br>・<br>・<br>Disallow root login remotely? [Y/n] y     &lt;----- リモート管理者ログイン拒否<br>  … Success!<br>・<br>・<br>Remove test database and access to it? [Y/n] y &lt;---- test データベース削除<br>・<br>・<br>Thanks for using MariaDB!<br></p></pre>



<p>デフォルトでは文字化け発生の可能性があるので、UTF-8 の設定しておいたほうがいいようです<br>設定は、「/etc/my.cnf.d/server.cnf」の「[server]」項目に「character-set-server=utf8」を追加します<br>バックアップファイルを作成し、編集後、再起動します</p>



<pre class="wp-block-preformatted">$ cd /etc/my.cnf.d/
$ sudo cp -p server.cnf  server.cnf.org
$ sudo vi ./server.cnf

・
・
# this is read by the standalone daemon and embedded servers
 [server]
 character-set-server=utf8     &lt;------------- 追加
・
・
$ sudo systemctl restart mariadb    &lt;------------ 再起動
$ sudo systemctl status mariadb     &lt;------------ 確認</pre>



<h3 class="wp-block-heading"><span id="toc10">MarinaDBへの接続と、パスワード変更</span></h3>



<p>接続は、「mysql」コマンドに、「-u」にユーザー名、「-p」にパスワードを指定して接続します。<br>「-p」だけで実行すると、対話式にパスワード入力になります</p>



<pre class="wp-block-preformatted">$ mysql -uroot -phogehoge_passwd    「-p」の後にはスペースは入れません<br><br>$ mysql -u root -p<br> Enter password:      &lt;------------- 「-p」だけの場合には、入力待ちになる</pre>



<p>パスワード変更は、MarinaDBに接続後、「SET PASSWORD」コマンドで行います</p>



<pre class="wp-block-preformatted">$ mysql -u root -phogehoge_passwd  
 Welcome to the MariaDB monitor.  Commands end with ; or \g.
 Your MariaDB connection id is 1743
 Server version: 10.3.18-MariaDB MariaDB Server
 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]&gt; SET PASSWORD FOR root@localhost=password('Hogehoge_Password');
 Query OK, 0 rows affected (0.001 sec)</pre>



<p>変更したら、必ずメモに残しておきましょう！<br>★管理者パスワード変更　:    Hogehoge_Password       2019.10.16</p>



<h2 class="wp-block-heading"><span id="toc11">問題発生！</span></h2>



<p>上記にも書きましたが、MarinaDBを削除すると、postfix も消されてしまいます。結構悩んだので、残しておこうと思います。<br>こちらが参考になりました。<br><a href="http://chira-memo.hatenablog.com/entry/2017/03/07/074710">http://chira-memo.hatenablog.com/entry/2017/03/07/074710</a><br><a href="http://big1to.com/development-note/867">http://big1to.com/development-note/867</a></p>



<pre class="wp-block-preformatted">$ yum list installed | grep postfix
$ sudo yum history list all

    上の結果の「Erase」項目の日付などから、ＩＤの番号のあたりをつけ確認
$ sudo yum history info 15
 ・
 ・
切り替えたパッケージ:
      削除 mariadb-libs-1:5.5.60-1.el7_5.x86_64 @base
      削除 postfix-2:2.10.1-7.el7.x86_64        @base
  スクリプトの出力:
     1 警告: /etc/postfix/master.cf は /etc/postfix/master.cf.rpmsave として保存されました。
     2 警告: /etc/postfix/main.cf は /etc/postfix/main.cf.rpmsave として保存されました。
 history info </pre>



<p>やっぱり消えてました。<br>ただし、警告にあるように、設定ファイル、master.cf と　main.cfは *.rpmsave として保存されていたので助かりました。<br>「postfix」を再インストールして、設定ファイルを戻し送信テストを行います</p>



<pre class="wp-block-preformatted">$ sudo yum install postfix<br>$ cd /etc/postfix<br>$ sudo rm mail.cf<br>$ sudo rm master.cf<br>$ sudo mv main.cf.rpmsave main.cf<br>$ sudo mv master.cf.rpmsave master.cf<br><br>   <em>これで、再起動</em><br> $ sudo systemctl start postfix<br> $ systemctl status postfix<br><br>     <em>activeになっているのを確認し、送信テスト</em><br> $ echo test mail to root after reinstall | mail root@hogehoge.com<br><br>    <em> ログ確認</em><br> $ sudo tail /var/log/maillog<br>・<br>・<br>・<br> 21 10:20:02 server postfix/smtp<br>・<br>・, status=sent (250 2.0.0 ・・ accepted for delivery)<br></pre>



<p> <strong>status=sent</strong> になっている。<br> 無事に動き出したみたい。 よかった ！<br>やっと準備が整いました。<br>WordPress をインストールに進みます</p>



<h4 class="wp-block-heading"><span id="toc12">自宅でWordPressを動かそう！</span></h4>



<br>
<div class="pager">
  <a class="prev page-numbers" href="https://www.kazuban.com/blog/php7-3/">PREV</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/centos7-install/">1</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/ssh-teraterm/">2</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/apache-install/">3</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/apache-install/">4</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/httpd-setting/">5</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/to-https/">6</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/postfix-install/">7</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/ssl-for-mail/">8</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/php7-3/">9</a>
  <span aria-current="page" class="page-numbers current">10</span>
  <a class="page-numbers" href="https://www.kazuban.com/blog/wordpress-install/">11</a>
  <a class="next page-numbers" href="https://www.kazuban.com/blog/wordpress-install/">NEXT</a>
</div>
<hr>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kazuban.com/blog/mariadb-10/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>自宅サーバでWordPressを動かそう。 PHPのインストール。</title>
		<link>https://www.kazuban.com/blog/php7-3/</link>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Mon, 04 Nov 2019 05:19:12 +0000</pubDate>
				<category><![CDATA[Linux (CentOS、Rocky、Ubuntu)]]></category>
		<category><![CDATA[php7]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[覚書]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=1220</guid>

					<description><![CDATA[まずは、WordPressの動作環境を確認してみます。https://ja.wordpress.org/download/ PHP&#160;バージョン7.3以上、MySQL&#160;バージョン5.6または&#160; [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>まずは、WordPressの動作環境を確認してみます。<br><a href="https://ja.wordpress.org/download/">https://ja.wordpress.org/download/</a></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p> <a href="https://secure.php.net/">PHP</a>&nbsp;バージョン7.3以上、<a href="https://www.mysql.com/">MySQL</a>&nbsp;バージョン5.6<strong>または</strong>&nbsp;<a href="https://mariadb.org/">MariaDB</a>&nbsp;バージョン10.0以上のサーバーを推奨しています </p></blockquote>



<p>とあります<br> まずは、PHPのインストールをしようと思います </p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">PHP7.3のインストール</a><ol><li><a href="#toc2" tabindex="0"> remiレポジトリ</a></li><li><a href="#toc3" tabindex="0"> パッケージの情報・検索</a></li><li><a href="#toc4" tabindex="0">インストール</a></li><li><a href="#toc5" tabindex="0"> PHPの基本的な設定 </a></li><li><a href="#toc6" tabindex="0">PHPの動作確認</a><ol><li><a href="#toc7" tabindex="0">自宅でWordPressを動かそう！</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">PHP7.3のインストール</span></h2>



<p>ところがcentOS7の標準パッケージはphp5.4のようなので、対応しているリポジトリの導入が必要なようです<br>方法は検索すると、いろいろヒットしましたが、やっぱりこちらを参考にさせていただきました<br><a href="https://www.rem-system.com/centos-php72-inst/">https://www.rem-system.com/centos-php72-inst/</a></p>



<p>現在の環境でPHPのインストール状況を確認してみます</p>



<pre class="wp-block-preformatted">$ yum list installed | grep php<br>$</pre>



<p>なにも出てこないので、インストールされていないようです。</p>



<h3 class="wp-block-heading"><span id="toc2"> remiレポジトリ</span></h3>



<p>また現環境のcenteOS7は、php5.4がデフォルトのようなので、php7.3のインストールには「remiレポジトリ」を導入する必要があるようです<br> 「remiレポジトリ」 は、こちら（ <a href="http://rpms.remirepo.net/">Remi&#8217;s RPM repository</a> ）のサイトの中央付近の「Maintained Enterprise Linux (RHEL / CentOS / Other clones)」 の「remi-release-7.rpm」からパッケージがダウンロードできるようです<br>具体的には「yum install」でアドレスを指定してインストールします</p>



<pre class="wp-block-preformatted">$ sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm<br>・<br>・<br>・<br>完了しました!</pre>



<p> レポジトリファイルは/etc/yum.repos.d/以下に保存されているので、その場所を参照する事で確認する事ができます。</p>



<pre class="wp-block-preformatted">$ cd /etc/yum.repos.d/<br>$ ls<br>・<br>・ <br>remi-php54.repo<br>remi-php70.repo<br>remi-php71.repo<br>remi-php72.repo<br>remi-php73.repo<br>・<br>・</pre>



<h3 class="wp-block-heading"><span id="toc3"> パッケージの情報・検索</span></h3>



<p> レポジトリ の情報確認や研削は、「yum info」や「yum search」コマンドを使用します。今回は「remi レポジトリ 」を使用するのに、「 &#8211;enablerepo = remi,remi-php73 」オプチョンを利用すます</p>



<pre class="wp-block-preformatted">$ yum info --enablerepo=remi,remi-php73 php<br><br>$ yum search  --enablerepo=remi,remi-php73 php<br></pre>



<h3 class="wp-block-heading"><span id="toc4">インストール</span></h3>



<p>いよいよインストールします<br>参考サイトによると、下記のインストールが必要なようです</p>



<p>php<br>php-mbstring<br>php-xml<br>php-xmlrpc<br>php-gd<br>php-pdo<br>php-pecl-mcrypt<br>php-mysqlnd<br>php-pecl-mysql</p>



<pre class="wp-block-preformatted">$ sudo yum -y install --enablerepo=remi,remi-php73 php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql</pre>



<p>完了したら、「yum list installed」コマンドで確認してみます</p>



<pre class="wp-block-preformatted">$ yum list installed | grep php<br> php.x86_64                                7.3.5-1.el7.remi           @remi-php73<br> php-cli.x86_64                            7.3.5-1.el7.remi           @remi-php73<br> php-common.x86_64                         7.3.5-1.el7.remi           @remi-php73<br> php-fpm.x86_64                            7.3.5-1.el7.remi           @remi-php73<br> php-gd.x86_64                             7.3.5-1.el7.remi           @remi-php73<br> php-json.x86_64                           7.3.5-1.el7.remi           @remi-php73<br> php-mbstring.x86_64                       7.3.5-1.el7.remi           @remi-php73<br> php-mysqlnd.x86_64                        7.3.5-1.el7.remi           @remi-php73<br> php-pdo.x86_64                            7.3.5-1.el7.remi           @remi-php73<br> php-pecl-mcrypt.x86_64                    1.0.2-2.el7.remi.7.3       @remi-php73<br> php-pecl-mysql.x86_64                     1.0.0-0.20.20180226.647c933.el7.remi.7.3<br>                                                                      @remi-php73<br> php-xml.x86_64                            7.3.5-1.el7.remi           @remi-php73<br> php-xmlrpc.x86_64                         7.3.5-1.el7.remi           @remi-php73</pre>



<h3 class="wp-block-heading"><span id="toc5"> <strong>PHPの基本的な設定</strong> </span></h3>



<p>参考サイトを参考にしてPHP設定ファイルを変更します<br>変更するには、既存ファイルはバックアップを残すようにします</p>



<pre class="wp-block-preformatted">$ sudo cp -p /etc/php.ini /etc/php.ini.org<br> $ sudo vi /etc/php.ini<br> ;expose_php = On<br> expose_php = Off<br> ;post_max_size = 8M<br> post_max_size = 80M<br> ;upload_max_filesize = 2M<br> upload_max_filesize = 80M<br> ;date.timezone =<br> date.timezone = "Asia/Tokyo"<br> ;mbstring.language = Japanese<br> mbstring.language = Japanese<br> ;mbstring.internal_encoding =<br> mbstring.internal_encoding = UTF-8<br> ;mbstring.http_input =<br> mbstring.http_input = UTF-8<br> ;mbstring.http_output =<br> mbstring.http_output = pass<br> ;mbstring.encoding_translation = Off<br> mbstring.encoding_translation = On<br> ;mbstring.substitute_character = none<br> mbstring.substitute_character = none</pre>



<pre class="wp-block-preformatted"><br>httpd 再起動<br> $ sudo systemctl restart httpd</pre>



<pre class="wp-block-preformatted">PHPモジュールの組み込むの確認<br>$ sudo httpd -M | grep php<br>  php7_module (shared)</pre>



<h3 class="wp-block-heading"><span id="toc6">PHPの動作確認</span></h3>



<p>httpd のドキュメントルート「/home/www/html」に、「.php」の拡張子で「&lt;?php phpinfo(); ?&gt;」の一行を追加したファイルを作成します</p>



<pre class="wp-block-preformatted">$ cd /home/www/html<br>$ sudo vi test.php</pre>



<pre class="wp-block-preformatted"> &lt;?php phpinfo(); ?&gt; </pre>



<p>このファイルをブラウザのアドレスバーに指定する事で確認できます</p>



<h4 class="wp-block-heading"><span id="toc7">自宅でWordPressを動かそう！</span></h4>



<br>
<div class="pager">
  <a class="prev page-numbers" href="https://www.kazuban.com/blog/ssl-for-mail/">PREV</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/centos7-install/">1</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/ssh-teraterm/">2</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/apache-install/">3</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/apache-install/">4</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/httpd-setting/">5</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/to-https/">6</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/postfix-install/">7</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/ssl-for-mail/">8</a>
  <span aria-current="page" class="page-numbers current">9</span>
  <a class="page-numbers" href="https://www.kazuban.com/blog/mariadb-10/">10</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/wordpress-install/">11</a>
  <a class="next page-numbers" href="https://www.kazuban.com/blog/mariadb-10/">NEXT</a>
</div>
<hr>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>メールサーバーもSSL/TLS化</title>
		<link>https://www.kazuban.com/blog/ssl-for-mail/</link>
					<comments>https://www.kazuban.com/blog/ssl-for-mail/#comments</comments>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Tue, 01 Oct 2019 01:26:01 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Linux (CentOS、Rocky、Ubuntu)]]></category>
		<category><![CDATA[Let&#039;s Encrypt]]></category>
		<category><![CDATA[メールSSL化]]></category>
		<category><![CDATA[自動更新エラー]]></category>
		<category><![CDATA[覚書]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=1191</guid>

					<description><![CDATA[メールの送受信も無事に動作し、Let&#8217;s Encrypt で証明書も取れたので、メールサーバーもSSL/TLSの設定にしようと思います いつものように、こちらを参考にさせていただきました CentOSのPos [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><a href="https://www.kazuban.com/blog/postfix-install/">メールの送受信も無事に動作</a>し、Let&#8217;s Encrypt で証明書も取れたので、メールサーバーもSSL/TLSの設定にしようと思います</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>いつものように、こちらを参考にさせていただきました</p><p><a href="https://www.rem-system.com/mail-postfix03/">https://www.rem-system.com/mail-postfix03/</a></p></blockquote>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">メールサーバ用の証明書発行</a><ol><li><a href="#toc2" tabindex="0">ホスト名でIPアドレスを解決できるかの確認</a></li><li><a href="#toc3" tabindex="0">ファイヤウォールの確認</a></li><li><a href="#toc4" tabindex="0">メールサーバー証明書を作成</a></li><li><a href="#toc5" tabindex="0">証明書の自動更新設定</a></li><li><a href="#toc6" tabindex="0">自動更新でエラー発生</a></li></ol></li><li><a href="#toc7" tabindex="0">SSL/TLS設定</a><ol><li><a href="#toc8" tabindex="0">PostfixのSSL/TLS設定</a></li><li><a href="#toc9" tabindex="0">dovecotの設定</a></li><li><a href="#toc10" tabindex="0">ファイアウォールの設定</a></li><li><a href="#toc11" tabindex="0">自宅ルータの設定</a><ol><li><a href="#toc12" tabindex="0">自宅でWordPressを動かそう！</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">メールサーバ用の証明書発行</span></h2>



<h3 class="wp-block-heading"><span id="toc2">ホスト名でIPアドレスを解決できるかの確認</span></h3>



<p>https化の時にも書きましたが、<a href="https://www.kazuban.com/blog/to-https/#host">ホスト名でのアクセスが必要です</a><br>「host」コマンドで、ホスト名でIPアドレスが表示されるか確認してみます<br>IPアドレスが表示されればOK！</p>



<pre class="wp-block-preformatted">$ host mail.hogehoge.com
 mail.hogehoge.com has address 12.123.45.6</pre>



<h3 class="wp-block-heading"><span id="toc3">ファイヤウォールの確認</span></h3>



<p>「firewall-cmd &#8211;list-all」コマンドで現状の設定を確認します<br>http と https が許可されていない場合には、許可が必要です</p>



<pre class="wp-block-preformatted">$ sudo firewall-cmd --list-all
 public (active)
   target: default
   icmp-block-inversion: no
   interfaces: wlp8s0
   sources:
   services: ssh dhcpv6-client http https smtp smtp-submission pop3 imap
   ports:
   protocols:
   masquerade: no
   forward-ports:
   source-ports:
   icmp-blocks:
   rich rules:


 　　　//http と　https が許可されていない場合には追加する
 $ sudo firewall-cmd --add-service={http,https} --permanent
 $ sudo firewall-cmd --reload</pre>



<h3 class="wp-block-heading"><span id="toc4">メールサーバー証明書を作成</span></h3>



<p>前回までにすでに、certbot を導入し、WebサーバーについてはSSL化は終了しています。</p>



<figure class="wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-じじぃの引出し"><div class="wp-block-embed__wrapper">

<a href="https://www.kazuban.com/blog/to-https/" title="HTTPS化" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img loading="lazy" decoding="async" width="121" height="90" src="https://www.kazuban.com/blog/wp-content/uploads/2019/07/HTTPS.jpg" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/07/HTTPS.jpg 886w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/HTTPS-300x223.jpg 300w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/HTTPS-768x572.jpg 768w" sizes="(max-width: 121px) 100vw, 121px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">HTTPS化</div><div class="blogcard-snippet internal-blogcard-snippet">今回の自宅サーバーの再構築は、自宅サイトの「https」化ですやっとここまでたどりつきましたまたしても、こちらのサイトを参考にさせていただきました今回も流れはこのサイトに則って作業しますが、自分の環境に合わせて覚書きとして書き残しておきたいと思いますホスト名でのアクセスが必要http の場合は、IP...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.kazuban.com/blog" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">www.kazuban.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2019.07.19</div></div></div></div></a>
</div></figure>



<p>この時には、「webroot」プラグインを使用しましたが、<a href="https://www.rem-system.com/mail-postfix03/">今回は参考サイト</a>によると「standalone」を使用しているので、同様にやってみようと思います</p>



<pre class="wp-block-preformatted"># certbot certonly --standalone -d mail.kazuban.com</pre>



<p>ところが、<br>「Problem binding to port 80: Could not bind to IPv4 or IPv6.」<br>のエラーが出て、うまく進んでくれません<br>これは、<a href="https://www.kazuban.com/blog/to-https/#stand ">standalone と webroot プラグインの動作環境が影響して</a>しているようです。<br>「standalone」では、ポート80番(http)を使用するので、このサービスを止める必要があるようです。<br>「systemctl stop http」でhttpサービスを停止して、再度実行してみます</p>



<pre class="wp-block-preformatted"># systemctl stop httpd
# certbot certonly --standalone -d mail.kazuban.com</pre>



<p>今度は無事に、「Congratulations! 」が出てくれました</p>



<h3 class="wp-block-heading"><span id="toc5">証明書の自動更新設定</span></h3>



<p>Let&#8217;s Encrypt の証明書の有効期限は三ヶ月なので、「cron」を使い定期的自動的に発行してもらうように設定したほうが便利です。<br><a href="https://www.rem-system.com/mail-postfix03/">参考サイトを参考</a>に、設定しようと思います。<br>「renew」は一度取得した証明書を自動更新してくれるコマンドです。<br>「&#8211;deploy-hook」は証明書の発行が終了した後に、実行するシェルコマンドを指定するオプションです。<br>「crontab -e」コマンドで、「cron」の自動実行設定ファイルを編集できます<br>「crontab -l」で確認ができます<br>今回は、毎日３：００に実行するように設定しようと思います<br>ただし、root ユーザーで実行する必要があるので、「 crontab -e 」の前にrootになる必要がります</p>



<pre class="wp-block-preformatted"># su
パスワード：

# crontab -e
 00 3 * * * certbot renew -q --deploy-hook "systemctl restart httpd;systemctl restart postfix dovecot"


# crontab -l
 00 3 * * * certbot renew -q --deploy-hook "systemctl restart httpd;systemctl restart postfix dovecot"</pre>



<h3 class="wp-block-heading"><span id="toc6">自動更新でエラー発生</span></h3>



<p>自動更新は、有効期限の３０日前になると、実際の発行手続きを行うようです。<br>ところが、この時にエラー発生のメールが届きました。<br>良く考えると、webの場合には「<strong>webroot</strong>」を使い、メールの場合には「<strong>standalone</strong>」を使って証明書を発行した事が原因のようです。<br>「renew」コマンドは、一度発行した時のオプションを引き継ぐようなので、違うコマンドの場合には矛盾が出てきます<br>具体的には、<span class="markerYellow">「<strong>webroot</strong>」は、webサーバー(80番ポート)</span>が動作している必要がありますが、<span class="markerYellow">「<strong> standalone</strong> 」は停止</span>していなくてはいけません。<br>したがって、どちらかの環境に合わせて、再度手動実行する事で更新することができました。<br>さらに調べてみると、<span class="markerPink">「/etc/letsencrypt/renewal」ディレクトリの中に、「renew」用の設定ファイルが作成されていました。</span><br>このファイルを「webroot」もしくは「standalone」に統一することで自動更新時のエラーが回避できるかもしれません</p>



<pre class="wp-block-preformatted"> # renew_before_expiry = 30 days
 version = 0.36.0
 archive_dir = /etc/letsencrypt/archive/www.hogehoge.com
 cert = /etc/letsencrypt/live/www.hogehoge.com/cert.pem
 privkey = /etc/letsencrypt/live/www.hogehoge.com/privkey.pem
 chain = /etc/letsencrypt/live/www.hogehoge.com/chain.pem
 fullchain = /etc/letsencrypt/live/www.hogehoge.com/fullchain.pem
 Options used in the renewal process
 [renewalparams]
 authenticator = <strong>webroot</strong>   &lt;----------- プラグイン
 account = aaa_______________cg
 webroot_path = /home/hogehoge/html,
 server = https://acme-v02.api.letsencrypt.org/directory
 renew_hook = systemctl restart httpd;systemctl restart postfix dovecot
 [[webroot_map]]
 hogehoge.com = /home/hogehoge/html
 www.hogehoge.com = /home/hogehoge/html</pre>



<h2 class="wp-block-heading"><span id="toc7">SSL/TLS設定</span></h2>



<h3 class="wp-block-heading"><span id="toc8">PostfixのSSL/TLS設定</span></h3>



<p>postfixの設定は、「/etc/postfix/main.cf」「 /etc/postfix/ master.cf」で行います。<br>まずは、両ファイルともバックアップファイルを作成し、編集します<br>「main.cf」には次の項目を追加します</p>



<pre class="wp-block-preformatted"># cd /etc/postfix/
# cp -p ./main.cf ./main.cf.org3
# vi ./main.cf
　　・
　　・
　　・
### SSL/TLS Settings ###
smtp_tls_security_level = may
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.hogehoge.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.hogehoge.com/privkey.pem
smtpd_tls_session_cache_database = btree:/var/lib/postfix/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s
smtpd_tls_received_header = yes
smtpd_tls_loglevel = 1</pre>



<p> 「master.cf」は、 コメント（#）になっている、SMTPに関する行のコメントを外して有効にします</p>



<pre class="wp-block-preformatted"># cp -p ./master.cf ./master.cf.org2
# vi ./master.cf
　　・
　　・
　　・
smtps     inet  n       -       n       -       -       smtpd
# -o syslog_name=postfix/smtps
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
# -o smtpd_reject_unlisted_recipient=no
# -o smtpd_client_restrictions=$mua_client_restrictions
# -o smtpd_helo_restrictions=$mua_helo_restrictions
# -o smtpd_sender_restrictions=$mua_sender_restrictions
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
# -o milter_macro_daemon_name=ORIGINATING</pre>



<p>「postfix check」コマンドでエラーが出なければ、編集は完了<br>「systemctl restart postfix」で再起動して設定を反映<br>「systemctl status postfix」で「active」を確認できます<br>さらに、「netstat -nat」で。465  LISTEN  がある事を確認します</p>



<h3 class="wp-block-heading"><span id="toc9">dovecotの設定</span></h3>



<p>「/etc/dovecot/conf.d/10-ssl.conf」「 /etc/dovecot/conf.d/10-master.conf」ファイルを編集します<br>「10-ssl.conf」では、「ssl = no」を「ssl = required」に変更し、証明書を指定します</p>



<pre class="wp-block-preformatted"># cd  /etc/dovecot/conf.d/ 
# cp -p 10-ssl.conf 10-ssl.conf.org2
# vi ./10-ssl.conf
　　・
　　・
 ssl = no ----変更-------&gt;  ssl = required
 # ssl_cert = &lt;/etc/pki/dovecot/certs/dovecot.pem
 # ssl_key = &lt;/etc/pki/dovecot/private/dovecot.pem
　　・
　　・取得した証明書を指定
　　・
 ssl_cert = &lt;/etc/letsencrypt/live/mail.hogehoge.com/fullchain.pem
 ssl_key = &lt;/etc/letsencrypt/live/mail.hogehoge.com/privkey.pem</pre>



<p>「 10-master.conf」では、iMAP/POP3 　を無効化して、IMAPS/POP3S を有効にします</p>



<pre class="wp-block-preformatted"># cd  /etc/dovecot/conf.d/  
# cp -p 10-master.conf 10-master.conf.org2
# vi ./10-master.conf
　　・
　　・
 service imap-login {
   inet_listener imap {
      #port = 143
      port = 0
   }
   inet_listener imaps {
     port = 993
     ssl = yes
   }
　　　・
　　　・
 service pop3-login {
     #port = 110
   inet_listener pop3 {
     port = 0
   }
   inet_listener pop3s {
     port = 995
     ssl = yes
   }
 }</pre>



<p>「dovecot」を再起動し確認します</p>



<pre class="wp-block-preformatted">$ sudo systemctl restart dovecot
$ sudo systemctl status dovecot
$ netstat -nat</pre>



<h3 class="wp-block-heading"><span id="toc10">ファイアウォールの設定</span></h3>



<p>「firewall-cmd」コマンドで、サービスの追加、再起動、確認を行います</p>



<pre class="wp-block-preformatted">$ sudo firewall-cmd --add-service={smtps,imaps,pop3s} --permanent
success

$ sudo firewall-cmd --reload
success

$ sudo firewall-cmd --list-all
 public (active)
   target: default
   icmp-block-inversion: no
   interfaces: wlp8s0
   sources:
   services: ssh dhcpv6-client http https smtp smtp-submission pop3 imap  <strong>smtps imaps pop3s</strong>
   ports:
   protocols:
   masquerade: no
   forward-ports:
   source-ports:
   icmp-blocks:
   rich rules:</pre>



<h3 class="wp-block-heading"><span id="toc11">自宅ルータの設定</span></h3>



<p>これで設定完了ですが、外部のメーラから送受信のテストをするとうまくいきませんでした。<br>よくわかりませんが、自宅ルータのポートフォワード設定で、143と25をサーバーに通してあげたら、受信できるようになりました。</p>



<h4 class="wp-block-heading"><span id="toc12">自宅でWordPressを動かそう！</span></h4>



<br>
<div class="pager">
  <a class="prev page-numbers" href="https://www.kazuban.com/blog/postfix-install/">PREV</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/centos7-install/">1</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/ssh-teraterm/">2</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/apache-install/">3</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/apache-install/">4</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/httpd-setting/">5</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/to-https/">6</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/postfix-install/">7</a>
  <span aria-current="page" class="page-numbers current">8</span>
  <a class="page-numbers" href="https://www.kazuban.com/blog/php7-3/">9</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/mariadb-10/">10</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/wordpress-install/">11</a>
  <a class="next page-numbers" href="https://www.kazuban.com/blog/php7-3/">NEXT</a>
</div>
<hr>
]]></content:encoded>
					
					<wfw:commentRss>https://www.kazuban.com/blog/ssl-for-mail/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Postfixでメールサーバー構築</title>
		<link>https://www.kazuban.com/blog/postfix-install/</link>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Mon, 19 Aug 2019 01:38:22 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Linux (CentOS、Rocky、Ubuntu)]]></category>
		<category><![CDATA[dovecot]]></category>
		<category><![CDATA[OP25B]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[覚書]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=1050</guid>

					<description><![CDATA[サーバーを運用していると、動作させているサービスがエラーやログなどのメールを発進する場合がありますから、サーバーのトラブルをいち早く知るにはやはりメールサーバは動作させておきたいですまた、自宅サーバーであれば、ほぼ上限無 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>サーバーを運用していると、動作させているサービスがエラーやログなどのメールを発進する場合がありますから、サーバーのトラブルをいち早く知るにはやはりメールサーバは動作させておきたいです<br>また、自宅サーバーであれば、ほぼ上限無くメールアドレスを設定できます</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>centOS7へのメールサーバー設定にはこちらを参考にさせていただきました<br>ほぼ同様の設定を行っていきますので詳細は下記サイトで確認してください。私の環境で若干違う設定の箇所もあるので、覚書きとして記録しておきたいと思います<br><a href="https://www.rem-system.com/mail-postfix01/">https://www.rem-system.com/mail-postfix01/<br></a><a href="https://www.rem-system.com/mail-postfix02/">https://www.rem-system.com/mail-postfix02/<br></a><a href="https://www.rem-system.com/mail-postfix03/">https://www.rem-system.com/mail-postfix03/<br></a><a href="https://www.rem-system.com/dkim-postfix04/">https://www.rem-system.com/dkim-postfix04/</a></p></blockquote>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-16" checked><label class="toc-title" for="toc-checkbox-16">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">postfix の設定（配送専用設定）</a><ol><li><a href="#toc2" tabindex="0">インストールの確認</a></li><li><a href="#toc3" tabindex="0">設定ファイルを自分のドメイン名に合わせる</a></li><li><a href="#toc4" tabindex="0">設定のチェックと再起動と自動起動設定</a></li><li><a href="#toc5" tabindex="0">メール送信の確認</a></li><li><a href="#toc6" tabindex="0">SPF・メールの送信ドメインの認証</a></li></ol></li><li><a href="#toc7" tabindex="0">Dovecotで送受信できるようにする</a><ol><li><a href="#toc8" tabindex="0">MXレコードの確認</a></li><li><a href="#toc9" tabindex="0">Dovecot のインストールと自動起動設定</a></li><li><a href="#toc10" tabindex="0">Dovecotの設定</a></li><li><a href="#toc11" tabindex="0">設定の確認と反映</a></li></ol></li><li><a href="#toc12" tabindex="0">PostfixのSMTP-AUTH設定</a></li><li><a href="#toc13" tabindex="0">OP25B対策</a><ol><li><a href="#toc14" tabindex="0">ファイアウォールへ接続許可</a></li><li><a href="#toc15" tabindex="0">メール送信の確認</a></li><li><a href="#toc16" tabindex="0">送信できない場合が発生</a></li><li><a href="#toc17" tabindex="0">Nifty の認証ファイル作成</a></li><li><a href="#toc18" tabindex="0">Postfix に反映</a></li><li><a href="#toc19" tabindex="0">メール送信テスト</a></li></ol></li><li><a href="#toc20" tabindex="0">メールの送受信が可能</a><ol><ol><li><a href="#toc21" tabindex="0">自宅でWordPressを動かそう！</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">postfix の設定（配送専用設定）</span></h2>



<h3 class="wp-block-heading"><span id="toc2">インストールの確認</span></h3>



<p>yum list installed でpostfix のインストール状態を確認します</p>



<pre class="wp-block-preformatted">$ yum list installed | grep postfix
 postfix.x86_64       2:2.10.1-7.el7                 @base</pre>



<h3 class="wp-block-heading"><span id="toc3">設定ファイルを自分のドメイン名に合わせる</span></h3>



<p>私の環境では、すでにインストールされていました。<br>postfix は /etc/postfix/main.cf のファイルで設定しますので、まずは既存のファイルはバックアップとして残しておき編集します<br>まずは、メールサーバのドメイン名を自分の環境に合わせます</p>



<pre class="wp-block-preformatted">$ sudo cp -p /etc/postfix/main.cf /etc/postfix/main.cf.org
$ sudo vi /etc/postfix/main.cf

・
・
#------- 2019.00.00 kazu
# myhostname = host.domain.tld
# myhostname = virtual.domain.tld
myhostname = mail.hogehoge.com  &lt;-------- ドメイン名を自分に合わせて編集 
　・
　・
#------- 2019.00.00 kazu
# mydomain = domain.tld
mydomain = hogehoge.com       &lt;---------- ドメイン名を自分に合わせて編集 
　・
　・
#------- 2019.00.00 kazu
masquerade_domains = hogehoge.com  &lt;------ ドメイン名を自分に合わせて編集

#inet_interfaces = all  &lt;---------- 他のマシンからも配送するには、allを指定   
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost  &lt;--------- このサーバからしか配送できない </pre>



<h3 class="wp-block-heading"><span id="toc4">設定のチェックと再起動と自動起動設定</span></h3>



<pre class="wp-block-preformatted"># postconf -n
　・
　・
masquerade_domains = hogehoge.com
mydestination = $myhostname, localhost.$mydomain, localhost
mydomain = hogehoge.com
myhostname = mail.hogehoge.com
　・
　・
　・

$ sudo postfix check
       &lt;--------- なにも表示されなければエラーなし

$ suso  systemctl restart postfix  &lt;------- 再起動

$ sudo systemctl status postfix &lt;------- 起動状態の確認

$ sudo systemctl is-enabled postfix
enabled                 &lt;----- enable なら自動起動に設定されている

</pre>



<h3 class="wp-block-heading"><span id="toc5">メール送信の確認</span></h3>



<pre class="wp-block-preformatted">$ mail test@example.com     &lt;---------- 既知のメールアドレスに送信
Subject: Mail delivery test  &lt;--------- 件名
test-test       &lt;-------------- 本文
test
.               &lt;----- 「.」で入力終了し送信
EOT
</pre>



<p>確認が可能であれば、送信したメールアドレスを確認してください。<br>サーバーからは、ログファイル「/var/log/maillog」で確認できます<br>「less」コマンドで、ログを指定すると、内容が表示されます。<br>キーボードの大文字「G」キーを押すと最終行へジャンプできます。<br>ログの最後付近に、「status=sent (250&#8230;..」があれば送信されています。</p>



<pre class="wp-block-preformatted">$ sudo less /var/log/maillog
　・
　・
......, status=sent (250 2.0.0 ...... Message accepted for delivery)
　・
　・</pre>



<h3 class="wp-block-heading"><span id="toc6">SPF・メールの送信ドメインの認証</span></h3>



<p>メール配送のSMTPは、任意の差出人に成りすまされるという弱点があるようで、メールサーバによっては認証ができないドメインからのメールは迷惑メールとして処理される事があるようです。<br>そこで、SPFを設定することで、ある程度送信ドメインを証明する事ができると言う事です。<br>SPFはDNS側に設定するので、自分でDNSを運用している場合には、DNS側に設定しますが、私の場合は<a href="https://www.mydns.jp/">ダイナミックDNSサービスの「MyDNS</a>」を利用させてもらっているので、そちらで設定する事になります。<br>MyDNSへログインし、「DOMAIN INFO」に入り確認したところ、自動的に設定されているようです。</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p> 皆さんのサーバーのIPアドレスでSPFレコードを自動的に設定しますので<strong>通常は設定は不要</strong>です。&nbsp; </p></blockquote>



<p>との記述がありました。</p>



<h2 class="wp-block-heading"><span id="toc7">Dovecotで送受信できるようにする</span></h2>



<p>次に、受信もできように設定し、外部PCのメーラーからでもメールを受取れるように設定したいと思います</p>



<h3 class="wp-block-heading"><span id="toc8">MXレコードの確認</span></h3>



<p>MXレコードも、DNSに設定するので、私の環境では「MyDNS」にログインして確認します</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p> 「MX」にはMXレコードの設定をしますが、入力が無い場合には自動的にそのドメイン名自体をMXホストとして設定しますので<strong>通常は設定は不要</strong>です。&nbsp;<strong>もしドメイン名を途中で変更した場合にはMXの修正を忘れないようにして下さい</strong>。&nbsp; </p></blockquote>



<p>とあるので、ドメイン名と同じ場合には、自動的に設定されているようですが、私は、「mail.hogehoge.com」と明示的に設定しました。<br>設定を確認するには、「host」コマンドで確認できます。<br>「host」コマンドが使用できない場合には「brid-utils」をインストールする必要があります。<br>「-t mx」オプションでタイプを指定して検索します</p>



<pre class="wp-block-preformatted">$ sudo yum install bind-utils
　・
　・
$ host -t mx hogehoge.com
 hogehoge.com mail is handled by 10 mail.hogehoge.com.</pre>



<h3 class="wp-block-heading"><span id="toc9">Dovecot のインストールと自動起動設定</span></h3>



<pre class="wp-block-preformatted">$ sudo yum -y install dovecot   &lt;------- インストール

$ yum list installed | grep dovecot 　　　　&lt;---- インストールの確認
  dovecot.x86_64       1:2.2.36-3.el7    @base
  
$ sudo systemctl start dovecot   &lt;--------- 起動
$ sudo systemctl status dovecot  &lt;--------- 起動状態確認
$ sudo systemctl enable dovecot  &lt;--------- 自動起動設定

$ sudo systemctl is-enabled dovecot   &lt;--------- 自動起動の確認
enabled  </pre>



<h3 class="wp-block-heading"><span id="toc10">Dovecotの設定</span></h3>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p>POP3/IMAP4のプロトコルを利用。<br> 接続時の認証はLinuxのユーザーアカウントを利用。<br> POP3/IMAP4接続時のパスワードは平文。<br> SSLによる暗号化は無し。<br> SMTP-AUTHの際に認証機能を提供。</p></blockquote>



<p>今回の設定では、下記ファイルを変更します。<br>変更前に、現ファイルは、「.org」をつけて残しておくようにします</p>



<ul class="wp-block-list"><li>/etc/dovecot/dovecot.conf</li><li>/etc/dovecot/conf.d/10-auth.conf</li><li>/etc/dovecot/conf.d/10-mail.conf</li><li>/etc/dovecot/conf.d/10-ssl.conf</li><li>/etc/dovecot/conf.d/10-master.conf</li></ul>



<pre class="wp-block-preformatted">★dovecot.conf 変更
$ cd /etc/dovecot/
$ sudo cp -p dovecot.conf dovecot.conf.org　  &lt;--------バックアップ
$ sudo vi ./dovecot.conf   &lt;----------- 設定ファイル編集

#protocols = imap pop3 lmtp
protocols = imap pop3       &lt;------------ imap pop3 のみに設定

★10-auth.conf 変更
$ cd /etc/dovecot/conf.d/
$ sudo cp -p 10-auth.conf 10-auth.conf.org    &lt;------- バックアップ
$ sudo vi 10-auth.conf　　　　　&lt;----------- 設定ファイル編集

#disable_plaintext_auth = yes
disable_plaintext_auth = no　&lt;----------- 平文認証無効化を無効

#auth_mechanisms = plain
auth_mechanisms = plain login　　&lt;----------- 平文での認証

★10-mail.conf　変更
$ cd /etc/dovecot/conf.d/
$ sudo cp -p 10-mail.conf 10-mail.conf.org  &lt;------ バックアップ
$ sudo vi 10-mail.conf　　　　&lt;----------- 設定ファイル編集

   mail_location = maildir:~/Maildir
#   mail_location = maildir:~/Maildir

★10-ssl.conf 変更
$ cd /etc/dovecot/conf.d/
$ sudo cp -p 10-ssl.conf 10-ssl.conf.org  &lt;----- バックアップ
$ sudo vi ./10-ssl.conf　　&lt;----------- 設定ファイル編集

#ssl = required　　　&lt;----------- SSL の利用
ssl = no　　　　　&lt;----------- SSL の利用

★10-master.conf　変更
$ sudo cp -p 10-master.conf 10-master.conf.org   &lt;--- バックアップ
$ sudo vi ./10-master.conf　　&lt;----------- 設定ファイル編集

 # Postfix smtp-auth
 #unix_listener /var/spool/postfix/private/auth {
   #  mode = 0666
 #}
　　↓ postfix で認証を行う設定にコメントを外して変更
　　↓
 unix_listener /var/spool/postfix/private/auth {
   mode = 0666
   user = postfix
   group = postfix
  }</pre>



<h3 class="wp-block-heading"><span id="toc11">設定の確認と反映</span></h3>



<p>dovecot 設定の確認は、「doveconf -n」で変更部分を確認できます。<br>再起動して反映させるには、「systemctl restart dovecot」<br>状況の確認は「systemctl status dovecot」で<span class="has-text-color has-vivid-green-cyan-color">「active (running)」</span>の表示で確認できます<br>狙い通りに、「pop3」と「IMAP」の利用状態は、「netstat -nat」で110番と143番が表示されていれる事で確認できます</p>



<pre class="wp-block-preformatted">$ sudo doveconf -n
$ sudo systemctl restart dovecot
$ sudo systemctl status dovecot
$ netstat -nat</pre>



<h2 class="wp-block-heading"><span id="toc12">PostfixのSMTP-AUTH設定</span></h2>



<p>dovecot側でのSMTP認証の設定は終了したので、Postfix側の設定に進みます<br>設定は、/etc/postfix/main.cf で行うので、まずはバックアップを取り編集します。編集する項目は、</p>



<ul class="wp-block-list"><li>inet_interfaces</li><li>mydestination</li><li>local_recipient_maps</li><li>home_mailbox</li><li>smtpd_banner</li><li>message_size_limit</li><li>SMTP-AUTHの設定追加<br>になります</li></ul>



<pre class="wp-block-preformatted"># ----- inet_interfaces
inet_interfaces = all     &lt;---------- local 以外の配送を可
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost      &lt;--------------- コメントにする


# -----  mydestination ---- 自分のドメイン宛のメールも受け取り可
#mydestination = $myhostname, localhost.$mydomain, localhost
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain



# ------  local_recipient_maps unixユーザーを許可
local_recipient_maps = unix:passwd.byname $alias_maps
#local_recipient_maps = proxy:unix:passwd.byname $alias_maps
#local_recipient_maps =

# ------  home_mailbox 
#home_mailbox = Mailbox
home_mailbox = Maildir/    &lt;----- 「Maildir」形式 

# -------  smtpd_banner 
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP  &lt;----- postfix の使用を隠す

# ------ message_size_limit 
### MAIL SIZE
message_size_limit = 20971520 &lt;----------- 任意に設定（20MB)

### SMTP-AUTH　　&lt;------------------- 設定を追加
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks
                               permit_sasl_authenticated
                               reject_unauth_destination
</pre>



<p> /etc/postfix/main.cf 　を保存したら、「postfix check」で構文エラーの確認</p>



<h2 class="wp-block-heading"><span id="toc13">OP25B対策</span></h2>



<p>迷惑メール対策で、ほとんどのプロバイダでSMTP接続の２５番ポートがブロックされています<br>その場合、サブミッションポートと呼ばれる５８７番ポートを利用するのでその設定をしなければいけません<br>設定は、「/etc/postfix/master.cf」で行うので、いつものように、バックアップをとり、編集します</p>



<pre class="wp-block-preformatted">$ cd /etc/postfix/
 $ sudo cp -p master.cf master.cf.org
 $ sudo vi ./master.cf

   submission inet n   -   n   -   -   smtpd  &lt;---- この設定を有効にする
  
   # 編集したら、保全して、「postfixを再起動」 
$ sudo systemctl restart postfix

   #「netstat -nat」コマンドで５８７番ポートがオープンしていればOK
$ netstat -nat
 Active Internet connections (servers and established)
 Proto Recv-Q Send-Q Local Address           Foreign Address         State
 tcp        0      0 0.0.0.0:587             0.0.0.0:*               LISTEN</pre>



<h3 class="wp-block-heading"><span id="toc14">ファイアウォールへ接続許可</span></h3>



<p>メールを送受信する場合、<br>送信用として「SMTP : 25番」「SMTP-Submission : ５８７番」<br>受信用として「POP3 : 110番」「IMAP$ : 143番」を許可します<br>現状のファイアウォールの状態は、「firewall-cmd &#8211;list-all」で確認できます<br>また、サービスを追加するには、<br>「firewall-cmd &#8211;zone=public &#8211;add-service={___ , ____ , ____}」<br>「&#8212;-permanent」オプションで永続的に設定できますが、ファイアウォールの再ロードが必要になります<br>「firewall-cmd &#8211;reload」</p>



<pre class="wp-block-preformatted">$ sudo firewall-cmd --list-all  &lt;--- 現状の状態を調べる
 public (active)
   target: default
   icmp-block-inversion: no
   interfaces: wlp8s0
   sources:
   services: ssh dhcpv6-client http https   &lt;---- SMTPなどのサービスは無効
　　　・
　　　・
$ sudo firewall-cmd --zone=public --add-service={smtp,smtp-submission,pop3,imap} --permanent
 success     &lt;------------ 追加成功
 $ sudo firewall-cmd --reload
 success   &lt;------- 再ロード
 $ sudo firewall-cmd --list-all   &lt;-------- 状態確認
 public (active)
   target: default
   icmp-block-inversion: no
   interfaces: wlp8s0
   sources:
   services: ssh dhcpv6-client http https <strong>smtp smtp-submission pop3 imap</strong></pre>



<h3 class="wp-block-heading"><span id="toc15">メール送信の確認</span></h3>



<p>メールは、「mail」コマンドで送信できる。<br>また、「/var/log/maillog」にログが記録される</p>



<pre class="wp-block-preformatted">$ mail hogehoge@nifty.com   &lt;---------　アドレスを指定 
 Subject: test  &lt;---------- 件名
 test-mail1   &lt;------- 本文
 from hogehoge.com to nifty.com
 .      &lt;------------- 「.」が入力されるまで、本文とみなす
 EOT

  これで配送されたはずなので、ログを確認してみます
$ sudo less /var/log/maillog
  ログが出力されますが、最新のログは一番最後になります。
　多い場合には、「G」キーで、最終行に移動できます。
　最終行付近に、「status=sent (delivered to maildir)」があれば
　配送されています</pre>



<h3 class="wp-block-heading"><span id="toc16">送信できない場合が発生</span></h3>



<p>会社など、外部から通常使っているメーラーで試してみます<br>すると、届く場合と、届かないアドレスが出てきました<br>対策としては、自分のメールサーバーから直接の配送でなく、gmail などプロバイダのメールサーバーにリレーしてもらうことで回避できるようです<br>私の場合、Nifty のアドレスを取得してあるので、そちら経由でするように設定したいと思います<br>こちらを参考にしました<br> <a href="https://www.walbrix.co.jp/blog/2014-02-gentoo-postfix-relay-gmail.html">https://www.walbrix.co.jp/blog/2014-02-gentoo-postfix-relay-gmail.html</a><br> <a rel="noopener" aria-label="https://ufuso.jp/wp/centos-7-0-%E3%81%A7-mail-server%E6%A7%8B%E7%AF%89postfixdovecot/  (新しいタブで開く)" href="https://ufuso.jp/wp/centos-7-0-%E3%81%A7-mail-server%E6%A7%8B%E7%AF%89postfixdovecot/" target="_blank">https://ufuso.jp/wp/centos-7-0-%E3%81%A7-mail-server%E6%A7%8B%E7%AF%89postfixdovecot/ </a><br>  設定は、リレーしてもらうメールサーバーの認証ファイルを作成し、「/etc/postfix/main.cf」の「smtp_sasl～」パラメータに指定します<br></p>



<h3 class="wp-block-heading"><span id="toc17">Nifty の認証ファイル作成</span></h3>



<p>実施のメーラーに設定する、自分のアカウント名とパスワードを使用して「postmap」コマンドでデータベースを作成します</p>



<pre class="wp-block-preformatted"># echo [smtp.nifty.ne.jp]:587 hogehoge@nifty.ne.jp:「パスワード」 &gt; /etc/postfix/sasl_niftypass
# postmap /etc/postfix/niftypass
</pre>



<h3 class="wp-block-heading"><span id="toc18">Postfix に反映</span></h3>



<p> 「/etc/postfix/main.cf」の「smtp_sasl～」パラメータに指定します<br>パラメータ変数名で、ちょっと注意が必要です<br>「smtpd_sasl～」と「smtp_sasl～」の二種類があります<br>「smtpd」 は、外から入ってく来るとき。<br>「smtp」 は外へ出て行くときの設定のようです<br> なので、送信の場合は、「<strong>smtp_sasl</strong>～」の設定になりますね <br>いつものように、 「/etc/postfix/main.cf」 のバックアップを作成し編集します</p>



<pre class="wp-block-preformatted">relayhost = [smtp.nifty.ne.jp]:587　　&lt;--------- SMTP　サーバを指定

smtp_sasl_auth_enable = yes   &lt;-------- 認証情報を指定
smtp_sasl_password_maps = hash:/etc/postfix/sasl_niftypass
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = LOGIN

　　設定を保存

$ sudo postfix check    &lt;---------- 設定ファイルの確認。エラーが出なければOK
$ sudo systemctl restart postfix  &lt;-------- Postfix 再起動
$ sudo systemctl status postfix &lt;-------- 起動状況の確認

<font color="green">●</font>
・
・
　　　　<font color="green">active (running)</font>
「active」が表示されれば、正常に起動している

$ sudo systemctl is-enabled postfix  &lt;----- 起動状態の確認
 enabled
</pre>



<h3 class="wp-block-heading"><span id="toc19">メール送信テスト</span></h3>



<pre class="wp-block-preformatted">$ echo testmail sasl_nifty | mail hogehoge@kaisya.co.jp
   &lt;------------ メールは配送されます。通常のメーラーで配送状況を確認
$ less /var/log/maillog  &lt;-------- サーバーのログ確認
　　　　　　　　　　　　　　&lt;-------- 「G」キーで最終行へ移動。
　　　　　　　　　　　　　　&lt;------- status=sent があれば送信されている</pre>



<h2 class="wp-block-heading"><span id="toc20">メールの送受信が可能</span></h2>



<p>これで、サーバからの送受信と、外部からでも受信ができるようになりました</p>



<h4 class="wp-block-heading"><span id="toc21">自宅でWordPressを動かそう！</span></h4>



<br>
<div class="pager">
  <a class="prev page-numbers" href="https://www.kazuban.com/blog/to-https/">PREV</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/centos7-install/">1</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/ssh-teraterm/">2</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/apache-install/">3</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/apache-install/">4</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/httpd-setting/">5</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/to-https/">6</a>
  <span aria-current="page" class="page-numbers current">7</span>
  <a class="page-numbers" href="https://www.kazuban.com/blog/ssl-for-mail/">8</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/php7-3/">9</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/mariadb-10/">10</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/wordpress-install/">11</a>
  <a class="next page-numbers" href="https://www.kazuban.com/blog/ssl-for-mail/">NEXT</a>
</div>
<hr>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>C++Builder Community Edition　のライセンス更新</title>
		<link>https://www.kazuban.com/blog/cbuilder-license-update/</link>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Mon, 29 Jul 2019 07:51:48 +0000</pubDate>
				<category><![CDATA[C++Builder]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[C++Builder更新]]></category>
		<category><![CDATA[Community Edition]]></category>
		<category><![CDATA[覚書]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=1027</guid>

					<description><![CDATA[会社では開発環境として、「C++Builder EX6」を使用しています私はソフトウェア開発が商売ではなく、加工が楽になるような、NCデータやNC機械や測定器などのユーティリティソフトを作成していますC++の統合開発環境 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>会社では開発環境として、「C++Builder EX6」を使用しています<br>私はソフトウェア開発が商売ではなく、加工が楽になるような、NCデータやNC機械や測定器などのユーティリティソフトを作成しています<br>C++の統合開発環境としては、やはりMSのVisual C++ がメジャーだと思いますが私は、二昔以上前から使っていた、 Borlandの Turbo C++ からの流れでC++Builderを使っています。<br> C++Builderは、私のような趣味レベルの人間でも比較的簡単にWindows用の実行ファイル 「exe」 を作成できるので便利です<br>C++Builder Community Editionは、売上が年間5,000 USドル未満と言う制限以内であれば無料で使用する事ができます<br>前回、ダウンロード＆インストールした Community Edition が１年間のライセンスが終了しそうなので、更新したですが、始めてインストールした時に少し苦労したので、覚書きとして書き残しておきます<br></p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-18" checked><label class="toc-title" for="toc-checkbox-18">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">C++Builder Community Edition　は、個人使用の場合には無料で使用できます</a><ol><li><a href="#toc2" tabindex="0">ソースコード的には互換性あり</a></li><li><a href="#toc3" tabindex="0">一年間のライセンス</a></li></ol></li><li><a href="#toc4" tabindex="0">更新の方法は？</a><ol><li><a href="#toc5" tabindex="0">Community Edition をダウンロード</a></li><li><a href="#toc6" tabindex="0">メール確認</a></li></ol></li><li><a href="#toc7" tabindex="0">インストール完了</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">C++Builder Community Edition　は、個人使用の場合には無料で使用できます</span></h2>



<p>会社で使用している、 「C++Builder EX6」 はもちろん有料版ですが、自宅で使用する場合には、個人使用の場合、無料で使用できる、C++Builder Community Editionを使用させてもらっています<br>ライセンス的には、会社の 「C++Builder EX6」 を自宅PCにインストールして会社と自宅で使用する事もできるみたいですが、 自宅では趣味としてCommunity Edition を使っています</p>



<h3 class="wp-block-heading"><span id="toc2">ソースコード的には互換性あり</span></h3>



<p>Community Edition は最新盤ですが、私が書く程度のコードであれば、 C++Builder EX6と双方向でほとんど問題なくどちらでもコンパイルできるはずです。<br>基本的に自宅では、暇つぶし的にフリーソフトを作ったり、ネット上のコードを打ち込んで勉強したりする程度で、切り分けて使っています。</p>



<h3 class="wp-block-heading"><span id="toc3">一年間のライセンス</span></h3>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="633" height="335" src="https://www.kazuban.com/blog/wp-content/uploads/2019/07/10_2.png" alt="" class="wp-image-1031" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/07/10_2.png 633w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/10_2-300x159.png 300w" sizes="(max-width: 633px) 100vw, 633px" /></figure>



<p>ただし、  Community Edition は、１年間のみのライセンスです。<br>今回は、年間のライセンスが切れてしまうので、更新してみました</p>



<h2 class="wp-block-heading"><span id="toc4">更新の方法は？</span></h2>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>更新方法はネット上で検索してもなかなか見つかりませんでしたが、<a href="https://www.embarcadero.com/jp/products/delphi/starter/faq">embarcaderoのFAQページ</a>　の一番下にありました<br>どうも、更新と言うスタイルではなくて、最新バージョンをダウンロード・インストールするようです</p>
</blockquote>



<h3 class="wp-block-heading"><span id="toc5">Community Edition をダウンロード</span></h3>



<p>始めての場合でも、更新の場合でも、まずは、ダウンロードが必要です<br><a href="https://www.embarcadero.com/jp/products/cbuilder/starter/free-download">こちらから、名前やメールアドレスなど必要事項を記入してダウンロードできます</a>が、その前に、<a href="https://www.embarcadero.com/jp/products/cbuilder/starter">こちらで利用資格を確認してください。</a><br>必要事項を入力し、「今すぐダウンロード」をクリックすると、入力したアドレスにメールが自動送信されます</p>



<h3 class="wp-block-heading"><span id="toc6">メール確認</span></h3>



<p>メールには、「インストール番号」や「ログイン名」などの情報が書かれているのでなくさないようにしてください<br>このメールの中でよく分からなかったのが、</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>添付ファイル (nullnull) で Embarcadero 製品が起動できます。</p>
</blockquote>



<p>の所です。<br>私のメール環境では、ファイルは添付されていませんでしたが、その下のほうに、</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>この e-mail にファイルが添付されていない場合には，この e-mail をテキ<br> ストファイルとしてホームディレクトリに (nullnull) という名前で保存してください。</p>
</blockquote>



<p>とあります。<br>なんだかよくわかりませんでしたが、とりあえず言われるままに、このEメールをテキストに貼り付けて、「C:\Users\＜ユーザー名＞」の下に「 nullnull 」と言うファイル名にして保存しました。<br>その後、</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>ソフトウェアのダウンロードがまだ完了していない、あるいは再度ダウンロードする必要がある場合は、以下のリンクをクリックしてください: </p>
</blockquote>



<p>の、リンクから、ダウンロードしたファイルを実行しました。<br>前回は、この「nullnull」ファイルを保存する場所かタイミングが悪かったのか、ライセンスが中々うまく反映されませんでしたが<br>今回はすんなり、インストールは終了しました</p>



<h2 class="wp-block-heading"><span id="toc7">インストール完了</span></h2>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="630" height="335" src="https://www.kazuban.com/blog/wp-content/uploads/2019/07/10_3.png" alt="" class="wp-image-1032" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/07/10_3.png 630w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/10_3-300x160.png 300w" sizes="(max-width: 630px) 100vw, 630px" /></figure>



<p>これで、あと１年は遊べます。<br>ただし、前のバージョンもまだ生きていますね。<br><a href="http://support.embarcadero.com/article/44752">ライセンスが切れたら、削除しようと思います</a></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>HTTPS化</title>
		<link>https://www.kazuban.com/blog/to-https/</link>
		
		<dc:creator><![CDATA[kazuban]]></dc:creator>
		<pubDate>Fri, 19 Jul 2019 02:24:12 +0000</pubDate>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Linux (CentOS、Rocky、Ubuntu)]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[覚書]]></category>
		<guid isPermaLink="false">https://www.kazuban.com/blog/?p=971</guid>

					<description><![CDATA[今回の自宅サーバーの再構築は、自宅サイトの「https」化ですやっとここまでたどりつきました またしても、こちらのサイトを参考にさせていただきました今回も流れはこのサイトに則って作業しますが、自分の環境に合わせて覚書きと [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>今回の自宅サーバーの再構築は、自宅サイトの「https」化です<br>やっとここまでたどりつきました</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p><a href="https://www.rem-system.com/cent-httpd-ssl/">またしても、こちらのサイトを参考にさせていただきました</a><br>今回も流れはこのサイトに則って作業しますが、自分の環境に合わせて覚書きとして書き残しておきたいと思います</p></blockquote>



<div id="host">

  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-20" checked><label class="toc-title" for="toc-checkbox-20">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ホスト名でのアクセスが必要</a><ol><li><a href="#toc2" tabindex="0">ホスト名でのアクセスを可能にする</a></li></ol></li><li><a href="#toc3" tabindex="0">ファイアウォールの設定とSSLモジュールの確認</a><ol><li><a href="#toc4" tabindex="0">ファイアウォールの確認と設定</a></li><li><a href="#toc5" tabindex="0">SSLモジュールの確認・インストール</a></li></ol></li><li><a href="#toc6" tabindex="0">Let&#8217;s Encrypt で証明書をGET！</a><ol><li><a href="#toc7" tabindex="0">certbot のインストール</a></li></ol></li><li><a href="#toc8" tabindex="0">証明書の取得</a><ol><li><a href="#toc9" tabindex="0">Standalone プラグイン</a></li><li><a href="#toc10" tabindex="0">webroot プラグイン</a></li><li><a href="#toc11" tabindex="0">certbot コマンドの実行</a></li></ol></li><li><a href="#toc12" tabindex="0"> SSLサーバ証明書の設定 </a><ol><li><a href="#toc13" tabindex="0">httpsでアクセスできるかの確認</a></li><li><a href="#toc14" tabindex="0">証明書更新の確認</a></li></ol></li><li><a href="#toc15" tabindex="0">まずは、目標のhttps化が完了</a><ol><ol><li><a href="#toc16" tabindex="0">自宅でWordPressを動かそう！</a></li></ol></li></ol></li></ol>
    </div>
  </div>

<h2><span id="toc1">ホスト名でのアクセスが必要</span></h2>
</div>



<p>http の場合は、IPアドレスでのアクセスも可能でしたが、https になると「ホスト名」でのアクセスを可能にする必要があるようです。<br>ちょっと実験してみます。<br>まずは、メジャーなサイトのIPアドレスを取り出して、そのIPアドレスでアクセスしてみます。<br>「host」コマンドでゲットできます。<br>「host」コマンドが利用できない場合には、「bind-utils」をインストールする事で使用できるようになります。</p>



<pre class="wp-block-preformatted">$ host yahoo.co.jp
 yahoo.co.jp has address 182.22.59.229
 yahoo.co.jp has address 183.79.135.206
 yahoo.co.jp mail is handled by 10 mx2.mail.yahoo.co.jp.
 yahoo.co.jp mail is handled by 10 mx1.mail.yahoo.co.jp.
 yahoo.co.jp mail is handled by 10 mx3.mail.yahoo.co.jp.
 yahoo.co.jp mail is handled by 10 mx5.mail.yahoo.co.jp.</pre>



<p class="has-background has-very-light-gray-background-color">２種類でで来ましたが、どちらでもいいと思います<br>ウェブブラウザのアドレスバーでこのアドレスでアクセスしてみます<br><a href="http://182.22.59.229">「http://182.22.59.229」</a></p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="880" height="451" src="https://www.kazuban.com/blog/wp-content/uploads/2019/07/yahoo-http.png" alt="" class="wp-image-975" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/07/yahoo-http.png 880w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/yahoo-http-300x154.png 300w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/yahoo-http-768x394.png 768w" sizes="(max-width: 880px) 100vw, 880px" /></figure>



<p class="has-background has-very-light-gray-background-color">保護されていない通信との警告がでて、一部表示できないコンテンツがありますが、とりあえず通常どおりにアクセスできました</p>



<hr class="wp-block-separator"/>



<p class="has-background has-very-light-gray-background-color"><br>次に、「<a href="https://182.22.59.229">https://182.22.59.229</a>」でアクセスしてみます</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="893" height="642" src="https://www.kazuban.com/blog/wp-content/uploads/2019/07/yahoo-https-1.png" alt="" class="wp-image-979" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/07/yahoo-https-1.png 893w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/yahoo-https-1-300x216.png 300w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/yahoo-https-1-768x552.png 768w" sizes="(max-width: 893px) 100vw, 893px" /></figure>



<p class="has-background has-very-light-gray-background-color">正常に表示されません。Chromeは警告をだしました。</p>



<hr class="wp-block-separator"/>



<p class="has-background has-very-light-gray-background-color"><br>次に、ホスト名でアクセスしてみます <br>「<a href="https://yahoo.co.jp">https://yahoo.co.jp</a>」 </p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="700" height="464" src="https://www.kazuban.com/blog/wp-content/uploads/2019/07/yahoo-https-2.png" alt="" class="wp-image-982" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/07/yahoo-https-2.png 700w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/yahoo-https-2-300x199.png 300w" sizes="(max-width: 700px) 100vw, 700px" /></figure>



<p class="has-background has-very-light-gray-background-color">ホスト名であれば、正常に表示されました。<br>やはり、自分のサイトを「https」化する場合には、ホスト名でアクセスできるようにしなければいけません。</p>



<h3 class="wp-block-heading"><span id="toc2">ホスト名でのアクセスを可能にする</span></h3>



<p><br>会社などの場合のように、プロバイダに固定IPで契約すれば、ホスト名でアクセスできるように設定された、DNS設定が利用できると思いますが、自宅のような個人でおこなう場合結構費用もかかるので、インターネット接続プロバイダの標準設定で運用したいです。<br>この場合一番重要なのは、プロバイダからグローバルIPが提供されているか？が問題になってきます<br>インターネットに出て行く場合には、自宅内のPCにグローバルIPを意識する必要ありませんが、インターネット側から自宅サーバへアクセスするには、グローバルIPが必須となります<br>自宅は、「auひかり」ですが、だいたいのプロバイダは、グローバルIPが提供されると思います。<br>ただし、このIPは固定でなくて、動的IPの場合が多いと思います<br>動的IPの場合突然、IPアドレスが変わってしまう事があるので、動的に対応した設定をしておかなくてはいけません。<br>ネットで調べると、この動的IPに対応したサービスをしているサイトが見つかります。その中で私は「 <a href="https://www.mydns.jp/?MENU=010">https://www.mydns.jp/</a>」を利用させていただいています。<br>無料で利用できるので、本当感謝です<br>ここの「JOIN US」のページで登録する事で利用できるようになります<br>設定がすんだら、「host」コマンドで正常にIPが表示されれば準備完了です</p>



<pre class="wp-block-preformatted">$ host www.hogehoge.com
 www.hogehoge.com has address  183.79.135.206 </pre>



<h2 class="wp-block-heading"><span id="toc3">ファイアウォールの設定とSSLモジュールの確認</span></h2>



<h3 class="wp-block-heading"><span id="toc4">ファイアウォールの確認と設定</span></h3>



<p>ファイアウォールの設定は、「firewall-cmd」を使用します。<br>「&#8211;list-all」のオプションで確認し、「&#8211;add-service=https」で追加、「&#8211;permanent」で恒久的に反映します。<br>ただし、 「&#8211;permanent」の場合には、 「firewall-cmd」 を再起動させる必要があります </p>



<pre class="wp-block-preformatted">$ sudo firewall-cmd --list-all    &lt;------ 確認
 public (active)
   target: default
   icmp-block-inversion: no
   interfaces: wlp8s0
   sources:
   services: ssh dhcpv6-client http    &lt;--------- https は許可されていない
   ports:
   protocols:
   masquerade: no
   forward-ports:
   source-ports:
   icmp-blocks:
   rich rules:
 $ sudo firewall-cmd --add-service=https --permanent  &lt;- サービスを追加
 success

 $ sudo firewall-cmd --reload   &lt;---------- 再起動
 success

 $ sudo firewall-cmd --list-all  &lt;-------- 再確認
 public (active)
   target: default
   icmp-block-inversion: no
   interfaces: wlp8s0
   sources:
   services: ssh dhcpv6-client http https   &lt;-------- 追加された
   ports:
   protocols:
   masquerade: no
   forward-ports:
   source-ports:
   icmp-blocks:
   rich rules:</pre>



<h3 class="wp-block-heading"><span id="toc5">SSLモジュールの確認・インストール</span></h3>



<p>前回の  <a href="https://www.kazuban.com/blog/apache-install/">apache のインストール</a> でmod_sslもインストールしましたが、再度確認し、もしインストールされていなければ、インストールします。<br>インストールの確認は、「yum list installed」で、<br>インストールは「yum install」で、モジュール登録の確認は「httpd -M」で行います</p>



<pre class="wp-block-preformatted">$ sudo yum -y install mod_ssl　　　&lt;----------- とりあえずインストール
 読み込んだプラグイン:fastestmirror, langpacks
 Loading mirror speeds from cached hostfile
 base: ftp.iij.ad.jp
 extras: ftp.iij.ad.jp
 updates: ftp.iij.ad.jp
 パッケージ 1:mod_ssl-2.4.6-89.el7.centos.x86_64 はインストール済みか最新バージョンです
 何もしません 　　　　&lt;---------- 私の環境ではすでにインストール済みでした

 $ yum list installed | grep mod_ssl      &lt;-------- インストール済みの確認
 mod_ssl.x86_64       1:2.4.6-89.el7.centos          @updates

 $ sudo httpd -M | grep ssl   &lt;-------- sslモジュールの登録の確認
  ssl_module (shared)

 $ sudo systemctl restart httpd  &lt;-------- httpd の再起動
 $ sudo systemctl status httpd   &lt;-------- httpd の状態の確認</pre>



<h2 class="wp-block-heading"><span id="toc6">Let&#8217;s Encrypt で証明書をGET！</span></h2>



<p>「https」でssl通信するには、自分のサイトが安全だと言う事を証明してもらわなうてはいけません。<br>証明書を発行してくれる機関は沢山ありますが、結構いいお値段です。<br>そんな中で、「Let&#8217;s Encrypt」は無料で証明書を発行してくれます。<br> 「Let&#8217;s Encrypt」 は、「certbot」というソフトウェアを利用して証明書を発行してくれるシステムなので、まずは「certbot」を動作させる必要があります。<br>以前私は、「VineLinux」でサーバーを構築していましたが、「 certbot 」に対応していませんでした。<br>ネットの情報集めて挑戦してみましたが、私のレベルでは断念しました。<br>それで、対応している、「centOS7」で再構築したのが、このサイトです</p>



<h3 class="wp-block-heading"><span id="toc7">certbot のインストール</span></h3>



<p><br>「 certbot 」のインストール方法は、「<a href="https://free-ssl.jp/usage/install-certbot.html#CentOS7">Let&#8217;s  Encrypt総合ポータル</a>」にも情報があります。<br>centOS7の場合には、 EPEL (Extra Packages for Enterprise Linux) リポジトリからインストールすることができるようです。 </p>



<pre class="wp-block-preformatted">$ sudo yum -y install epel-release
$ sudo yum -y install certbot
$ sudo yum -y install python2-certbot-apache

$ yum list installed | grep certbot        &lt;------ インストール済みの確認
 certbot.noarch                0.31.0-2.el7                   @epel
 python2-certbot.noarch        0.31.0-2.el7                   @epel
 python2-certbot-apache.noarch 0.31.0-1.el7                   @epel

$ which certbot &lt;---------- インストール場所の確認 
 /usr/bin/certbot
</pre>



<div id="stand">
<h2><span id="toc8">証明書の取得</span></h2>
</div>



<p>証明書はインストールした、「certbot」コマンドで発行しますが、発行の方法によりよく使われるプラグインが２つあります<br>「<a href="https://free-ssl.jp/docs/using.html#standalone">Standalone</a>」と「<a href="https://free-ssl.jp/docs/using.html#webroot">Webroot</a>」です</p>



<h3 class="wp-block-heading"><span id="toc9">Standalone プラグイン</span></h3>



<p>「<a href="https://free-ssl.jp/">Let&#8217;s Encrypt 総合ポータル</a>」には、下記のような説明があります<br>ようするに、Webサーバーが動いていなくても証明書の取得ができるけど、逆に考えると、<span class="markerPink"><strong>Webサーバーが動いていると取得できない</strong></span>と言う事です<br></p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p> SSL/TLS サーバ証明書の取得のみを行ないます。<br>※ドメイン使用権者の認証（Let&#8217;s Encrypt のサーバから、証明書を取得するドメイン名を正引きしたIPアドレスに接続することによる認証）の際には、Certbot クライアントに内蔵されている簡易的なウェブサーバが機能が一時的に使われます。<br>※このプラグインは TCP Port 80 もしくは TCP Port 443 を使うため、当該 Port を Listen している動作中のウェブサーバを一時的に終了させる必要があります。<br>※当サイトのチュートリアル&nbsp;<a href="https://free-ssl.jp/usage/">Let&#8217;s Encrypt の使い方</a>&nbsp;では、このプラグインを使用した Let&#8217;s Encrypt 導入方法を解説しています </p></blockquote>



<h3 class="wp-block-heading"><span id="toc10">webroot プラグイン</span></h3>



<p> こちらも「<a href="https://free-ssl.jp/">Let&#8217;s Encrypt 総合ポータル</a>」に、下記のような説明があります<br>こちらは、すでにWebサーバーが動いている場合です。<br>すでに動作しているWebサーバーを停止しなくていもいいが、<span class="markerPink"><strong>外部から自宅のWebサーバー（８０番ポート）にアクセスできる必要があります</strong></span><br>したがって、サーバーの設定だけでなく、自宅サーバーへの入り口になるルータ（ゲートウェイ）の設定で、８０番ポートをオープンして、対象のWebサーバーと紐付けしておく必要があります</p>



<blockquote class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow"><p> 動作中のウェブサーバのドキュメントルートディレクトリ以下に、ドメイン使用権者の認証用のファイルを自動的に設置することにより、SSL/TLS サーバ証明書の取得を行います。<br>※動作中の httpd（TCP Port 80 や TCP Port 443 など）のサービスを停止させる必要はありません。<br>※Certbot クライアントを、証明書を取得するドメイン名を運用しているウェブサーバ（DNSの正引きしたIPアドレスのウェブサーバ）で実行する必要があります。また、httpd が動作中である必要があります。 </p></blockquote>



<h3 class="wp-block-heading"><span id="toc11">certbot コマンドの実行</span></h3>



<p> いよいよ、証明書を取得してみようと思います。<br>今の環境では、Webサーバーは動作し、外部からもアクセス可能な状態なので、<br>「webroot」プラグインを使用します。<br>また「-w」オプションで、証明書ファイルを保存するディレクトリを指定します<br>「-d」は証明書を適応するホスト名を指定します</p>



<pre class="wp-block-preformatted">$ sudo certbot certonly --webroot -w /home/www/html/ -d www.hogehoge.com -d hogehoge.com
　・
　・
              対話型で質問が表示されます
Enter email address .......   &lt;--------------- Eメールアドレスを入力
Please read the Terms of Service at ....  &lt;------- 同意するか？(A入力)
Would you be willing to share your email address with the Electronic Frontier
・
・     &lt;------------ メールアドレスを共有するか？　(Y)es　or  (N)o: </pre>



<p class="has-background has-very-light-gray-background-color">設定が終わりました。<br>これで、証明書の発行が始まるはずですが・・・・<strong>うまくいかな～い！</strong></p>



<p>どうも、ドキュメントルート「/home/www/html」に作成した「index.html」が拒否しているみたい。<br>「curl」コマンドでリクエストしてみます</p>



<pre class="wp-block-preformatted">$ curl http://localhost/
 &lt;!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"&gt;
 &lt;html&gt;&lt;head&gt;
 &lt;title&lt;403 Forbidden&lt;/title＞
 &lt;/head&gt;&lt;body&gt;
 &lt;h1&gt;Forbidden&lt;/h1&gt;
 &lt;p&gt;You don't have permission to access /
 on this server.&lt;/p&gt;
 &lt;/body&gt;&lt;/html&gt;</pre>



<p>たぶん、<strong>「SELinux」</strong>で、ドキュメントルートとして作成した「/home/www/html」へのアクセスが制限されているみたいです。<br>せっかく標準で有効になっているので、どうにか使用したいと思いGUI版をインストールしてみました。</p>



<pre class="wp-block-preformatted">$ sudo yum install policycoreutils-gui</pre>



<p>GUI環境で設定できそうですが、結局よくわからない<br>無効にすることにしました。<br>無効にするには、このGUIでもできますし、「/etc/selinux/config」を編集すればよさそうです</p>



<pre class="wp-block-preformatted">$ cd /etc/selinux/<br>$ sudo vi ./config<br>---------------------------------<br>SELINUX=disabled  &lt;---------------  disabled に設定</pre>



<p>設定後は、システムの再起動が必要です<br>再起動後、再度確認してみます</p>



<pre class="wp-block-preformatted">$ curl http://localhost/
 &lt;html&gt;
   &lt;body&gt;
    home www test page
   &lt;/body&gt;
 &lt;/html&gt;

     <em>今度は出てきましたので、再度「certbot」実行</em>

$ sudo certbot certonly --webroot -w /home/www/html/ -d www.hogehoge.com -d hogehoge.com

    <em> 今度は ”<strong>Congratulations!</strong>” が出てくれました</em>!
     <em>証明書が自動保存されるディレクトリを確認してみます</em>

$ cd /etc/letsencrypt/
$ ls
accounts  archive  csr  keys  <strong>live</strong>  renewal  renewal-hooks</pre>



<p>あった、あった、「live」の中の、指定ホスト名と同じディレクトリの中に証明書が保存されています。<br> 
<span class="markerYellow">ファイルを確認するには、rootになる必要があります </span>
</p>



<h2 class="wp-block-heading"><span id="toc12"> SSLサーバ証明書の設定 </span></h2>



<p>「/etc/httpd/conf.d」内の「ssl.conf」に証明書ファイルを設定します<br>とりあえず、現在の「ssl.conf」ファイルは名前を変えて残しておきます</p>



<pre class="wp-block-preformatted">$ cd /etc/httpd/conf.d
$ sudo cp -p ssl.conf ssl.conf.20190502  &lt;---- バックアップしておく
$ sudo vi ./ssl.conf
・
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/letsencrypt/live/www.hogehoge.com/cert.pem
・
・
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile 
/etc/letsencrypt/live/hogehoge.com/privkey.pem
・
・
#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
SSLCertificateChainFile /etc/letsencrypt/live/www.hogehoge.com/chain.pem

　　　<em>保存して確認しますが、「sudo」ではなく「su」でroot になる必要があります</em>
#httpd -t
Syntax OK

$ sudo systemctl restart httpd
$ sudo systemctl status httpd
</pre>



<h3 class="wp-block-heading"><span id="toc13">httpsでアクセスできるかの確認</span></h3>



<p>確認するには、ウェブブラウザで確認しますが、https はIPアドレスではアクセスできません。<br>ホスト名でアクセスする必要があります。<br>「https://www.hogehoge.com」<br>
<span class="markerPink">また、外部からのアクセスには、４４３ポートを開放し、サーバと紐づけしておく必要があります</span>
</p>



<figure class="wp-block-image"><img loading="lazy" decoding="async" width="1014" height="420" src="https://www.kazuban.com/blog/wp-content/uploads/2019/07/router03.jpg" alt="" class="wp-image-1016" srcset="https://www.kazuban.com/blog/wp-content/uploads/2019/07/router03.jpg 1014w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/router03-300x124.jpg 300w, https://www.kazuban.com/blog/wp-content/uploads/2019/07/router03-768x318.jpg 768w" sizes="(max-width: 1014px) 100vw, 1014px" /></figure>



<p>ところが、私の環境では自宅内にサーバがあり、自宅内のPCのブラウザで確認しようとしてもできません。<br>自宅の環境は、外部のDDNSを使わせていただいているからかもしれません。<br>外部からなら確認できると思うので、スマホがあれば自宅内の<span class="markerYellow"> wifi設定を無効</span>にすれば確認できました。<br>やっぱり、自宅内のWindowsPCからでも確認したい場合には、Widowsの「hosts」を編集します<br>「C:\Windows\System32\drivers\etc\hosts」</p>



<pre class="wp-block-preformatted">192.168.1.101 hogehoge.com
192.168.1.101 www.hogehoge.com</pre>



<p>これで、再度 「https://www.hogehoge.com」   を入力して表示されれば、正常にSSLで通信できています。</p>



<h3 class="wp-block-heading"><span id="toc14">証明書更新の確認</span></h3>



<p>更新は、「certbot」の「renew」で行いますが、「&#8211;dry-run」をつける事で確認のに行えるようです。</p>



<pre class="wp-block-preformatted">$ sudo certbot renew --dry-run
  <em>これで、「Congratulations, all renewals succeeded.」が表示されれば更新も正常にできるようです。</em></pre>



<p> Let’s Encrypt の証明書は、３か月で更新が必要なので、後日自動更新できるようにも設定してみようと思います</p>



<h2 class="wp-block-heading"><span id="toc15">まずは、目標のhttps化が完了</span></h2>



<p>どうには、今回の目標の一つでもある、https化が完了しました。<br>これから、メールサーバとWordPress の設定をしていきます。</p>



<h4 class="wp-block-heading"><span id="toc16">自宅でWordPressを動かそう！</span></h4>



<br>
<div class="pager">
  <a class="prev page-numbers" href="https://www.kazuban.com/blog/httpd-setting/">PREV</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/centos7-install/">1</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/ssh-teraterm/">2</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/apache-install/">3</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/apache-install/">4</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/httpd-setting/">5</a>
  <span aria-current="page" class="page-numbers current">6</span>
  <a class="page-numbers" href="https://www.kazuban.com/blog/postfix-install/">7</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/ssl-for-mail/">8</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/php7-3/">9</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/mariadb-10/">10</a>
  <a class="page-numbers" href="https://www.kazuban.com/blog/wordpress-install/">11</a>
  <a class="next page-numbers" href="https://www.kazuban.com/blog/postfix-install/">NEXT</a>
</div>
<hr>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
