入力画面のカスタマイズ

WordPressで記事を投稿する際、デフォルト(規定・初期設定)の画面が私的に使いにくい。というのが率直な感想です。HTML入力できないし・・・
ってな訳で、カスタマイズというほどでもないのですが設定をいじって、この文章を入力しています。

どんな感じになってるのかなー?

というわけで、この文字時点ではHTMLタグ入力せずに改行だけ入れております。入れている箇所は
・HTML入力できないし・・・ の後ろに1つ(単純な改行)
・この文章を入力しています。 の後ろに2つ(改行と空行)
・入れている箇所は の後ろに1つ(単純な改行)
・この「・」から始まる4行の後ろに単純な改行と、最後に空行

で、いまココ。この文章の後ろに改行タグをつけてみます
それとGoogleさんへのパイーパーリンクもやってみます。コチラです。

で、これを入力時に確認できる「プレビュー」で確認してみます。ちなみに皆様にはわかりにくいですが、今入力している画面は「コードエディター」と呼ばれる画面で、メモ帳のイメージでの入力となっています。
では結果・・・(私自身が確認中です)

(間)

あぁ、いい感じになってますねぇ。<BR>タグを入れる入れないに関係なく改行ができてますね。

ちなみに、コードエディタは入力画面の右上いある工場マーク(設定)の右。縦の「・・・」(ツールと設定をさらに表示)をクリックして表示される”エディター”から選べます。ショートカットキーは Ctrl+Shift+ALT+M で、最初のビジュアルエディターと呼ばれる私が使いにくいといったエディターとの切り替えができます。戻すときも同じショートカットキーでいけます。

うん、こっちの方がいいかな。
グーグル先生に「WordPress エディタ」で検索すると、公式プラグインのClassic Editorをインストールしなさい。という記事がたくさん出てきますので、そちらに移ることにしますけど。たぶんそっちの方が私的には使いやすそうなので。

ということで、次の記事はClassic Editorから入力することにしてみます。

WordPressを公開するには

本サイトのように外部(自宅以外。自分のスマホでLTEでの接続なども含みます)からのアクセスをさせる場合、多少の作業が必要になります。本サイトの記事の前提として自宅Webサーバ運用でブロードバンド接続であることを条件としていますが、自宅の内外ではルータで世界が切り離されています。いわゆるLAN側が自宅内。ルータの外側(自宅外)をWANといいます。インターネットの世界ですね。
で、自宅のルータのWANの部分にはインターネット用のIPが割り振られています。いわゆる”グローバルIP”というやつですこれは通常はプロバイダから自動で割り振られるものであり、自分でどうこうできるものではありません。また、一定時間ごとに変更されることになっています。ですので、今までのように192.168.0.200といった直接のIPアドレスを設定することはできません。(それを可能にするのが固定IPサービスと呼ばれるものですが、ここでは割愛します)

ではどうするのか。いくつか方法はあります。
・プロバイダに固定IPサービスを申し込む(高額です)
・DDNS(ダイナミック・DNS)サービスを利用する(たしか無料)
・IOデータのルータを使い、IOデータのDDNSサービスを利用する(無料) 他社もあるのかな?
推奨はDDNSサービスですが、本サイトではIOデータさんのを利用させていただいています。
通常契約での動的IPサービス(固定IPの対語)では、これらの方法を使うことで”ysugiiobb.net”といったような名前を取得することができます。これが必須となってきます。

続いては自宅にあるルータの設定変更を行います。ポートの開放といった項目で、外部からTCP接続での80番にアクセスがあった場合、192.168.0.200のポート80への接続設定を行う必要があります。詳細はルータの説明書を参照してください。IOデータ製のルータでIOデータさんのDDNSサービスを利用する場合はその設定も必要です。

こうしてFQDN(”ysugiiobb.net”のような名前)を割り当てて貰い、ルータの設定をすることで外部への公開が可能となります。ここまでは各家庭において個別に対応していただく必要があります。
これらの設定が終わった段階で、すぐにWordPressは外部公開されます。

外部公開されるということは、悪意を持った人たちからもアクセスされるということであり、その転移対してのセキュリティ対応は各自で行うことになりますのでご注意ください。
WordPress側の設定としては、本サイトの下記の記事

にある、DOMAIN_CURRENT_SITE設定をFQDNに書き換える必要があります。逆に言えばWordPress側はこれだけです。基本的にはルータ周りの設定(外部からの接続設定)を行うことで可能となります。

以上です。

更新でFTPの情報設定画面になる対策


参考サイトに従って作業したら、さっくりできました。

引用元:
https://qiita.com/pugiemonn/items/c3f9bca255082a085b6c

どうやらパーミッションの問題とのことで、wordpressディレクトリ配下のオーナー情報をapacheユーザに変更する。

# cd /var/www/html
# chown -R apache:apache worpress
# cd wordpress
# chown root:root .htaccess

その後、WordPressで更新するとFTP設定にならずに、直接アップデートするようになった。

WordPressのマルチブログ化(サブディレクトリ)

本サイトは1つのWordPressシステムで複数のブログを運営しています。ただ、通常はインストールしても1つのブログしか運用できません。1ブログ1WordPressなのです。そこを多少設定変更するとマルチブログ化ができます。多少Linuxを触れることが前提となりますが、OSからセットアップできている本サイトの読者様であれば何の問題もございませんので、必要であればチャレンジしていただきたいです。
それでは作業開始です。

ログインして、「ツール」「サイトネットワークの設置」に進み、情報を入力して「インストール」。すると

----(ここから)----
サイトネットワーク作成機能を有効化するには、次の手順を実行します。

注意: 既存の wp-config.php ファイルをバックアップしておくことをお勧めします。

/var/www/html/wordpress/ にある wp-config.php ファイルの /* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */ という行の上に、次の内容を追加してください:

define(‘MULTISITE’, true);
define(‘SUBDOMAIN_INSTALL’, false);
define(‘DOMAIN_CURRENT_SITE’, ‘192.168.0.200’);
define(‘PATH_CURRENT_SITE’, ‘/wordpress/’);
define(‘SITE_ID_CURRENT_SITE’, 1);
define(‘BLOG_ID_CURRENT_SITE’, 1);

次の内容を /var/www/html/wordpress/ にある .htaccess ファイルへ追加して、他の WordPress ルールを置き換えてください:

RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index.php$ – [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(..php)$ $2 [L]
RewriteRule . index.php [L]

これらの手順を完了すると、サイトネットワークの有効化と設定を行います。再度ログインする必要があります。
----(ここまで)----

と表示されるので、それに従ってファイルを修正・追加します。(この時点では.htaccessは存在しなかったので新規作成)

※ DOMAIN_CURRENT_SITEは現時点では192.168.0.200ですが、最終的には本サイトの場合では’ysugi.iobb.net’というように一般的なドメイン名になります。これは外部公開の話になったときに記事にします。

が。実はapacheの設定が.htaccess無効になっています。有効にしましょう。
# vi /etc/httpd/conf/httpd.conf
 #AllowOverride None
 AllowOverride All
# systemctl restart httpd.service

最後にサブディレクトリ用にサブディレクトリを用意します。
# cd wp-content/
# mkdir blogs.dir
# chown apache:apache blogs.dir

その後ログインし直すと、管理画面の「ホーム」に「参加サイト」が追加されます。(「ツール」から「サイトネットワークの設置」は消える)
また、管理画面左上の(W)アイコンの横がサイト名だったのが「参加サイト」に変更されています。この「参加サイト」から「サイトネットワーク管理」を選ぶとサイトの管理画面になり、ここで「新規追加」することで複数のブログを管理できるようになります。

また、apacheはファイルなしディレクトリだとファイル一覧を表示する癖があるので修正しておきます。
# vi /etc/httpd/conf/httpd.conf
 #Options Indexes FollowSymLinks
 Options FollowSymLinks

昔は Options -Indexes FollowSymLinks だったんですが、いつの間に・・・

修正したのでapacheを再起動させます。

# systemctl restart httpd.service

これでOKです。

WordPressを始めるまで その7

いままでは下準備をしてきました。いよいよWordpressのインストールです。
# cd /tmp
# wget https://ja.wordpress.org/wordpress-5.0.3-ja.tar.gz
数値はそのときのバージョンになります。(今回はv5.0.3)

# tar -xvzf wordpress-5.0.3-ja.tar.gz -C /var/www/html

MaeiaDBにWordpress用のDBを追加します。使用するDB名はhoge_blogで、yujiアカウントで使う前提です。パスワードはfoobarです。

# mysql -h localhost -u root -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 14
Server version: 5.5.60-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)]> CREATE USER yuji@localhost IDENTIFIED BY “foobar”;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> CREATE DATABASE hoge_blog;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL ON hoge_blog.* TO yuji@localhost;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> exit
Bye

Worpressのセットアップを行います。主にDBとのリンク付けです。

# vi /etc/hosts
 127.0.0.1 wordpress 追加
# cd /var/www/html/wordpress/
# cp wp-config-sample.php wp-config.php
# vi wp-config.php
 define(‘DB_NAME’, ‘hoge_blog’);
 define(‘DB_USER’, ‘yuji’);
 define(‘DB_PASSWORD’, ‘foobar’);
 define(‘DB_HOST’, ‘localhost’);
 define(‘DB_CHARSET’, ‘utf8’);
 define(‘DB_COLLATE’, ”);

 $table_prefix = ‘wp_’;
 define(‘WP_DEBUG’, false);

これでサーバ自体の設定は完了です。続いてはブラウザでWordPressの初期設定になります。
http://192.168.0.200/worpress にアクセスし、以下を設定します(ようこそ画面)。

サイトのタイトル:そのまんまです。
ユーザー名:管理者のログイン名です
パスワード:そのまんまです。
メールアドレス:ログイン時などで、ユーザー名の代わりに使うことができるようです。

これらを入力後に「WordPressをインストール」を選び処理させます。
少しすると「成功しました!」と表示されて「ログイン」が出ますのでログインさせます(ログアウトしているらしい)。
これで記事が書けるようになります。

ということは、インストール終了です。
LAMPのセットアップは別のブログシステム(メジャーなところでMovableTypeなど)でも一緒ですが、ブログシステム本体は驚くほど簡単でございました。すばらしい。

これでWordPressのインストールまでが終了しました。かなり駆け足の記事になっています。先人の知恵をお借りした方が(ネットで検索した方が)良いかもしれませんが、ある程度Linuxの操作ができる方は、このくらいのあっさりした記事の方が良いかもしれません。

この後は設定をいじったり、マルチブログ化したりといったことになります。
それらは一通り記事にしていきます。

WordPressを始めるまで その6

PHPをインストールします。
# yum install php-mysql php php-gd php-mbstring
# php –version
PHP 5.4.16 (cli) (built: Oct 30 2018 19:30:51)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

# systemctl restart httpd.service
# cd /var/www/html/
# vi index.php

<?php
phpinfo();
?>

# ls -al
合計 4
drwxr-xr-x 2 root root 23 1月 26 08:58 .
drwxr-xr-x 4 root root 33 1月 26 08:18 ..
-rw-r–r– 1 root root 1 1月 26 09:00 index.php

ここでブラウザから http://192.168.0.200/index.php にアクセスし、テストページが表示されることを確認します。

確認がとれたらテストページは削除します。

# rm index.php

これで一通りのインストールが終わりました。まだ細かい設定が残っているのですが、ブラウザからセットアップしたWebサーバにアクセスできたことになります。外部からの接続は、この段階ではまだ許可しないでください(ルータの設定)。まだ自宅LAN内の範囲にとどめておきましょう。

続いては本丸のWordPressのインストールになります。

WordPressを始めるまで その5

mariaDBをインストールします。もともとはMySQLでその派生品です。恐らく今後の標準になるかと。
# yum install -y mariadb-server mariadb
# systemctl list-units |grep mariadb
なにも表示されないので未起動状態
# systemctl list-unit-files |grep mariadb
mariadb.service disabled
disableなので再起動してもデーモン起動しない。
# systemctl start mariadb.service
# systemctl list-units |grep mariadb
mariadb.service loaded active running MariaDB database server
# systemctl list-unit-files |grep mariadb
mariadb.service disabled
disableなので再起動してもデーモン起動しない。
# systemctl enable mariadb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
# systemctl list-unit-files |grep mariadb
mariadb.service enabled

セキュリティ設定を実行します。
#/usr/bin/mysql_secure_installation
 Enter current password for root (enter for none): 【空enter】
 Set root password? [Y/n] 【Y】
 New password: 【パスワードを設定する、今回はhoge】
 Re-enter new password: 【先程のパスワードを入力する、今回はhoge】
 Remove anonymous users? [Y/n] 【Y】
 Disallow root login remotely? [Y/n]【Y】
 Remove test database and access to it? [Y/n]【Y】
 Reload privilege tables now? [Y/n]【Y】

ログイン試行してみます。
# mysql -h localhost -u root -p
Enter password:        【先程のパスワードを入力する、今回はhoge 】
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 12
Server version: 5.5.60-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)]> 【exit】
Bye

問題なく接続できました=インストールできました。

WordPressを始めるまで その4

apacheをインストールしましょう。
の前に、セキュリティの解除をする必要があります。OSにはFireWall(ファイヤー・ウォール:防火壁)があります。ここにWebの通信を許可させておく必要があります。
前回のssh接続は最初から解除(許可)されていたので通信ができたわけです。
以下のコマンドを順に実行していきます。

# firewall-cmd –list-all-zones
(略)
public (active)
target: default
services: ssh dhcpv6-client
(略)

# firewall-cmd –add-service=http –zone=public –permanent
success
# firewall-cmd –add-service=https –zone=public –permanent
success
# firewall-cmd –reload
success
# firewall-cmd –list-services –zone=public
ssh dhcpv6-client http https

sshやhttpなどの表示順は気にしなくてOKです。あればいいです。
ブラウザでURLを入力する際、「http://・・・」とか入力しますね。あれを許可したのです。

続いてapacheのインストールです。これを入れないとWebの提供ができませんので。

# yum -y install httpd
 (詳細はカット)
# vi /etc/httpd/conf/httpd.conf

 #ServerAdmin root@localhost
 ServerAdmin hoge@localhost 自分のアカウント名を設定

 #ServerName www.example.com:80
 ServerName ysugi.iobb.net:80 サイト名を”ysugi.iobb.net”に設定した例

# systemctl start httpd.service
# systemctl list-units | grep httpd
httpd.service loaded active running The Apache HTTP Server
# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
# systemctl list-unit-files | grep httpd
httpd.service enabled
#

はい、これで終了です。あっけないものです。途中のサイト名の後ろの80はhttpのことを意味します。
今後はhttpsになっていくのでしょうがとりあえず。

LAN内のパソコンなどからブラウザでhttp://192.168.0.200/へアクセスしてみてください。テストページが表示さればOK。されなければ何かおかしいです。スマホなどでも自宅WiFiに接続しているのであればアクセス可能です(モバイルルータはダメ)。
なお、LTEなどの外部通信からのアクセスはルータの設定次第ですが、この段階ではまだつながらないと思います(し、そもそもIPアドレスが違うので無理)。

WordPressを始めるまで その3

OSのインストールが終わりましたね? それでは、自分のPCからアクセスをしてみましょう。といっても安直には接続できません。PuttyやTeraTermといった通信ソフトが必要です。これらは無料で利用できますので、検索してダウンロード・自分のPCにインストールして使用可能にしてください。今後、サーバの設定はこれらで行うことになります。本サイトではPuttyを使用しています。

さて、Puttyをはじめとする通信ソフトで”ssh接続”を行います。
接続先IPは192.168.0.200 ポートは22 プロトコルはsshで接続します。意味はわからなくてもそれっぽい欄にそれっぽい数値を入れればOK。最初はキャッシュがどうしたとかホスト情報を保存するか?とか聞かれると思いますが、「はい」で進めましょう。
すると「login as:」という表示が出るはずです。”root”と入力します。続いてはパスワードですね。インストール時に設定したパスワードを入力します。問題なければ”[root@サーバ名 ~]$”という表示がでます。これを”プロンプト”といいます。
サーバにキー入力を送り、入力文字をサーバが返送してきます。通信しているということです。

この通信に使用されるのがsshと呼ばれる通信手順(プロトコル)です。sshはセキュア・シェルの略で、通信内容は暗号化されてますので、仮に通信を傍受されていても情報は漏れません。似たようなプロトコルにtelnetというものがありますが、これはデータがそのままのためインターネットの世界では安全ではありませんね。
話がそれましたが、これでCentOSの設定が行えます。
#本当はここでsshのセキュリティアップをしておきたいところですが割愛します。

まずやることは、SELINUXの無効化です。「getenfource」と入力しENTERを押します。コマンド実行です。今後は
 # getenfource
というように表記します。
このコマンド実行結果は恐らく
 Enforcing
となっているでしょう。今後なにかと問題が出るので無効にさせます。
 #vi /etc/selinux/config

ファイルを修正するテキストエディタが起動しますので、SELINUX=enforcing を探します。で、
SELINUX=enforcing の先頭に#を追記(カーソルを合わせi。続いて#。最後のESCを押します)
次の行に SELINUX=disabled を追記します(oを押し、改行させて当該文字を入力。最後のESCを押します)
結果的に
 #SELINUX=enforcing
 SELINUX=disabled
となっていればOKです。:を押してwqと入力。最後にENTERを押して保存・終了します。
その後、
 # shutdown -r now
で再起動させます。このときputtyは切断されます。
1・2分後に改めてssh接続して、getenforceコマンドでdisabledになっていることを確認しましょう。

最後に、WindowsUpdateと同じことをCentOSでも実施します。
 # yum update -y
最初は時間がかかると思いますので、じーっと待ちましょう。本サイト構築時には20分程度かかりました。
次回以降は速いです。最初の1回目はねぇ。

今後もちょこちょことOS設定をいじることになるのですが、とりあえずはこれで終了です。
続いてはapacheにインストールになります。

WordPressを始めるまで その2

皆様、【LAMP】という言葉をご存じでしょうか。「らんぷ」と読みます。パソコンの世界でいうやつですのでご注意ください。
これは略語で、Linux・Apache・MySQL・PHP の略です。PHPはPythonとかPerlとかでも良いようです。
さて、これらの単語。見たり聞いたことはあると思います。
・Linux(リナックス):OSのことです。今回はCentOS7をターゲットにします。
・Apahe(アパッチ):Webサーバソフトです。
・MySQL(マイ・エスキューエル):データベースシステムです。今回は派生したMariaDBをターゲットにします。
・PHP(ピー・エイチ・ピー):スクリプト言語(プログラム言語)です。
これで一通りのことができますよ。という単語になっています。本システムもこれに習ってインストール作業を進めます。データベースシステムはPostgreSQL(ポストグレ・エスキューエル)のほうが良さそうなんですが、この言葉ができた当時はMySQLがスタンダードっぽかったです。

まずはOSを入れないと動かすこともできません。今回はCentOS7を使用します。お使いのPCで「CentOS7」を検索してisoイメージをダウンロードしてくださいませ。
え、わからない? いやいや、これくらいできないとさすがにサーバの運用は難しいですのでがんばってください。
ダウンロード後、DVDに焼き付けインストールメディアとしてサーバのDVDドライブで起動させます。
基本的にデフォルト(規定値)のままインストールを進めることになります。そのあたりは先人の方々の記事を検索して参考にしてください。
本サイトの場合、インストールオプションはGNOMEインストールオプションで進めました(後でX Windowを入れるのが面倒だったので)。

え、わからない? ”CentOS7 インストール”で検索して、それを参考にインストールしてください。その中でインストールの種類を選ぶ箇所があります。「最小」とか「開発者用」とかあるかと思います。その中に「GNOME」というのがあると思います。それを選んだ。という話です。
今後、わからなければ調べる癖を身につけていってくださいませ。
#本当は細かく書きたいのですが、先人の記事のほうが有益っぽいのでそちらを参照してください。

OSのインストールはHDD(今回はSSD)のフォーマットも行われますので、あらかじめ必要なファイルは待避しておきましょう。
そして、サーバ機ですからIPを固定にしておきます。IP:192.168.0.200/255.255.255.0 ゲートウェイ:192.168.0.1 といたところでしょうか。
もしかすると、ここが一番ネックなのかもしれない・・・そう思いました。