【8ステップでがんばる】さくらのレンタルサーバーでWordPressサイト立ち上げ

対象となる人

さくらのレンタルサーバ スタンダードプランの契約をしている人。FTPサーバーへアクセスが出来る人。

とりあえず独自ドメインの取得からWordPressサイトを解説まで、下記のステップで進めていきます。

  1. ドメイン取得
  2. FTPサーバで対象のドメインのフォルダを作成
  3. ドメインを管理画面に加する
  4. WordPress 用データベース作成
  5. WordPress インストール用フォルダを作成
  6. WordPress をインストール
  7. index.php と .htaccess の設定
  8. サイトアドレスの設定

8ステップもあって初めてだと少し大変かもしれませんがなるべく分かりやすい様に画像もたくさんつけているので1つずつやっていきましょう。

今回はみなさんが見ているこのサイト「notemite.com」の立ち上げを例として進めていきます。

1. ドメイン取得

まずはドメインを取得します。ドメインとは「〇〇.com」や「〇〇.co.jp」など、ウェブサイトの住所のようなものです。このステップで自分のウェブサイトの住所を取得しましょう。

さくらレンタルサーバー管理画面 > ドメイン/SSL > 独自ドメイン申し込みをクリック。遷移先のページで新規追加をクリックすると、下の画像の様にドメイン検索画面が表示されます。

もしくは下記リンクで直接ドメイン検索画面へ飛べます。

https://secure.sakura.ad.jp/order/domain/

この画面で自分が使いたいドメイン名を検索します。「notemite」で検索すると、notemite.jp や notemite.com、notemite.org など、検索した文字列が含まれるドメイン名が表示されます。好みのものがあったら「申し込む」をクリックして手続きを進めます。

支払い方法を選択して進みます。私はクレジットカードを選択しました。

「この内容で申し込む」をクリックすると申し込みが送信されます。

申し込みを送信したら下記リンクから管理画面へ戻ります。

https://secure.sakura.ad.jp/menu/top/

「ドメインの確認」をクリックすると契約しているドメインが表示されます。

ドメイン申請後、契約ドメイン画面で有効期限が「新規申込中」となりますが、私の場合は10分ぐらいで下の画像の様に有効期限が表示され使用可能になりました。

上記の様な表示になったらドメインの取得は完了です。次は FTP サーバ上でこのドメインのフォルダを作ります。

  1. ドメイン取得 - 完了!
  2. FTPサーバで対象のドメインのフォルダを作成 - Next!
  3. ドメインを管理画面に追加する
  4. WordPress 用データベース作成
  5. WordPress インストール用フォルダを作成
  6. WordPress をインストール
  7. index.php と .htaccess の設定
  8. サイトアドレスの設定

2. FTPサーバで対象のドメインのフォルダを作成

FTPサーバでドメインのディレクトリ(フォルダ)を作成します。FTPサーバーの「www」フォルダにアクセスします。

*今回は notemite.com のドメインを例として進めていきますので、既に取得している別のドメインのフォルダは黒塗りで隠しています。

使っているツールによって画面が違いますが、私が使っている Cyberduck ではこんな感じ。画面上部に /home/〇〇〇/www とある通り、FTP サーバーの「www」フォルダの中を表示している状態です。

今回はドメイン名そのままで「notemite」というフォルダを作成します。

「www」フォルダの中に「notemite」フォルダが作成されました。これでこのステップは完了です。

  1. ドメイン取得 - 完了!
  2. FTPサーバで対象のドメインのフォルダを作成 - 完了!
  3. ドメインを管理画面に追加する - Next!
  4. WordPress 用データベース作成
  5. WordPress インストール用フォルダを作成
  6. WordPress をインストール
  7. index.php と .htaccess の設定
  8. サイトアドレスの設定

3. ドメインを管理画面に追加する

このステップでは、取得したドメインをさくらレンタルサーバーの管理画面上で登録します。

さくらレンタルサーバー管理画面 > ドメイン/SSL > ドメイン新規追加クリック

「Step2.ドメインの追加」の部分で対象のドメインを選択します。

「追加」ボタンをクリックすると、ドメインリストの中に取得したドメイン名が表示されます。

追加したドメインの「設定」ボタンをクリックします。

「マルチドメインとして利用する」を選択し、「Web公開フォルダ」では先ほどFTPサーバー上で作ったフォルダのパスを入力します。

「保存する」ボタンをクリックしてこのステップは完了です。

  1. ドメイン取得 - 完了!
  2. FTPサーバで対象のドメインのフォルダを作成 - 完了!
  3. ドメインを管理画面に追加する - 完了!
  4. WordPress 用データベース作成 - Next!
  5. WordPress インストール用フォルダを作成
  6. WordPress をインストール
  7. index.php と .htaccess の設定
  8. サイトアドレスの設定

4. WordPress 用データベース新規作成

WordPress サイト上で作成したブログ記事やコメント、その他様々な設定は全てデータベースに保存されます。このステップではそのデータベースを作成します。

さくらレンタルサーバのコントロールパネル > データベース > 新規追加

好みのデータベース名を入力し「作成」をクリックします。

表示されるデータベースホスト(データベースサーバ)、ユーザー名、接続先パスワード、データベース名を後で使うのでメモしておきます。

WordPress に使用するデータベースが作成されました。これでこのステップは完了です。

  1. ドメイン取得 - 完了!
  2. FTPサーバで対象のドメインのフォルダを作成 - 完了!
  3. ドメインを管理画面に追加する - 完了!
  4. WordPress 用データベース作成 - 完了!
  5. WordPress インストール用フォルダを作成 - Next!
  6. WordPress をインストール
  7. index.php と .htaccess の設定
  8. サイトアドレスの設定

5. WordPress インストール用のフォルダを作る

さて、もうすぐ WordPress のインストールですが、その前にまた FTP サーバに戻って、先ほど作成した「notemite」フォルダ(皆さんはそれぞれ任意のフォルダ)の中にさらに WordPress 用のフォルダを作成します。

ディレクトリ内にWordpress専用のディレクトリ(フォルダを作成)(/wp/)を作成

ここでは好きなフォルダ名を付けていただいて大丈夫ですが、わかりやすく「wp」としておきます。

これで「notemite」フォルダの中に「wp」フォルダが作成されました。次のステップでこのフォルダの中に WordPress の全てがインストールされます。

  1. ドメイン取得 - 完了!
  2. FTPサーバで対象のドメインのフォルダを作成 - 完了!
  3. ドメインを管理画面に追加する - 完了!
  4. WordPress 用データベース作成 - 完了!
  5. WordPress インストール用フォルダを作成 - 完了!
  6. WordPress をインストール - Next!
  7. index.php と .htaccess の設定
  8. サイトアドレスの設定

6. WordPressインストール

  • SAKURAのレンタルサーバコントロールパネル > WordPressインストール
  • インストールURL設定
  • 利用データベースで先ほど作ったデータベースを選択
  • テーブルの接続語は自動生成される物をそのまま使用
  • 同意して作成をクリック

「インストールURL」の部分で、WordPress をインストールする場所を指定します。今回、notemite.com の配下に「wp」フォルダを用意しています。なので下記の様に指定します。「インストール先ディレクトリ」が FTP サーバー上のフォルダと一致しています。

「テーブルの接頭語」は正直なんでも大丈夫ですが、立ち上げるサイトに関係ある言葉だとわかりやすいと思います。後でもう一度出てくるのでメモしておきましょう。

データベース名、ユーザー名、パスワード、ホスト名、テーブル接頭辞を入力します。

先ほどさくらレンタルサーバの管理画面でデータベースを作成した時のものを入力します。

次にサイトのタイトル、そしてユーザー名とパスワード、メールアドレスを入力します。「検索エンジンでの表示」のチェックマークは入れずに「WordPressをインストール」をクリックします。

おつかれさまでした。これでWordPressサイトの立ち上げは完了です。

  1. ドメイン取得 - 完了!
  2. FTPサーバで対象のドメインのフォルダを作成 - 完了!
  3. ドメインを管理画面に追加する - 完了!
  4. WordPress 用データベース作成 - 完了!
  5. WordPress インストール用フォルダを作成 - 完了!
  6. WordPress をインストール - 完了!
  7. index.php と .htaccess の設定 - Next!
  8. サイトアドレスの設定

7. index.php と .htaccess の設定

FTPサーバーの WordPress 用フォルダ(今回は「wp」フォルダ)にある index.php と .htaccess ファイルを、サイトのルートディレクトリ(「サイトのアドレス」)へコピーします。

移動ではなくあくまでコピーなので注意してください。

ファイルをコピーできたら、ドメインフォルダの index.php ファイルを開きます。

require から始まり '/wp-blog-header.php'; で終わる文があるので次の修正を行ないます。

Before

After

WordPress 用に作ったフォルダ名「wp」を記述しました。

次は同じドメインフォルダの .htaccess ファイルを開きます。

「RewriteBase」と「RewriteRule」のところに「wp」フォルダの記述があるので削除します。

Before

↑の赤線の部分を削除します。

After

「wp」フォルダの部分を削除して保存したら .htaccess の設定も完了です。

  1. ドメイン取得 - 完了!
  2. FTPサーバで対象のドメインのフォルダを作成 - 完了!
  3. ドメインを管理画面に追加する - 完了!
  4. WordPress 用データベース作成 - 完了!
  5. WordPress インストール用フォルダを作成 - 完了!
  6. WordPress をインストール - 完了!
  7. index.php と .htaccess の設定 - 完了!
  8. サイトアドレスの設定 - Next!

8. サイトアドレスの設定

WordPress > 設定 > 一般設定 > サイトアドレス(URL)をから専用ディレクトリの箇所を消す

上の画像の様に「サイトアドレス(URL)」の部分が WordPress 用フォルダを含んだURLになっていると思いますが、これを削除します。

これでOK。「WordPress アドレス(URL)」の方は触らなくて大丈夫です。

「変更を保存」をクリックでこのステップも完了。お疲れ様でした!

この作業の後で必ず一度 WordPress からログアウトし再度ログインしてください。
私はこれをしなかったせいで設定が完全に反映されず、記事の投稿が上手くできない状態が半日続きました。。。

  1. ドメイン取得 - 完了!
  2. FTPサーバで対象のドメインのフォルダを作成 - 完了!
  3. ドメインを管理画面に追加する - 完了!
  4. WordPress 用データベース作成 - 完了!
  5. WordPress インストール用フォルダを作成 - 完了!
  6. WordPress をインストール - 完了!
  7. index.php と .htaccess の設定 - 完了!
  8. サイトアドレスの設定 - 完了!

【WordPress】確かに「--」と書いたのに「–」と表示される件

問題:「--」が勝手に「–」に変わってしまっていた

シェルスクリプトの記事を書く中で、投稿ページには「--」と書いていたのに公開された記事を確認したら「–」と表示されてしまっていた。

確かに「--」と入力していた

WordPress の投稿ページではきちんと「--」になっていました。

公開された記事には「–」と反映

ところが、実際に公開されたページをみてみると下記の通り。

なぜか変わってしまっている。

原因:wptexturize

調べてみると、WordPress の「wp-includes」フォルダ内「formatting.php」というファイルに記述されている関数「wptexturize()」が原因でした。

この関数はテキストを自動的に変換する機能で、例えばふつうの引用符をスマート引用符へ変えたり、特定の記号の並びをアポストロフィ、ダッシュ、省略符号(…)、商標記号、乗算記号などへ変えたり等、通常便利であろう変換を行うものです。

下の表はその自動変換がされる一例です。

元のテキスト変換されたテキストシンボル名
"---""—"em ダッシュ
" -- ""—"em ダッシュ
"--""–"en ダッシュ
" - ""–"en ダッシュ
"...""…"省略記号
``開始引用符
"hello“hello開始引用符
'hello‘hello開始引用符
''終了引用符
world."world.”終了引用符
world.'world.’終了引用符
" (tm)"" ™"商標記号
1234"1234″ダブルプライム記号
1234'1234′プライム記号
'99’99西暦の省略表現前のアポストロフィ
Webster'sWebster’sアポストロフィ
1234x12341234×1234乗算記号

解決法:remove_filter()

ということですが、remove_filter() 関数を使ってこの自動変換(wptexturize)を止めることができる様なので、早速 function.php の一番下に下記コードを貼り付けます。

/*wptexturize 無効化*/
remove_filter( 'the_content', 'wptexturize' );

すると下の画像の通り、投稿ページで入力した通りの表記(--)が反映されました。

さらにもう一行

この時点で投稿内容では自動変換が止まりましたが、記事タイトル等に関してはまだ変換が行われる状態なので、もう一行追加します。

/*wptexturize 無効化*/
remove_filter( 'the_content', 'wptexturize' );
remove_filter( 'the_title', 'wptexturize' );

一行目の「the_content」の部分を「the_title」に変えただけです。これで記事タイトルに対しても自動変換がされなくなりました。

Homebrew を使って Macbook に Wget をインストール

OS:Mac OS Catalina バージョン 10.15.4

「brew update」でリスト更新

まずはターミナル上で「brew update」を実行し、Homebrew 自体とインストール可能なソフトウェアのリストを更新します。

~ % brew update
Updated 1 tap (homebrew/core).
==> Updated Formulae
acpica              imagemagick         nss                 solr
atlantis            imagemagick@6       onnxruntime         solr@7.7
efl                 kyma-cli            operator-sdk        stellar-core
evince              lazydocker          pandoc-crossref     terragrunt
exploitdb           lerna               picard-tools        vault
fcct                librsvg             plantuml            vim
firebase-cli        mavsdk              pnpm                vte3
gatsby-cli          mu                  prestosql           watson
helmfile            ncdu                re-flex
hlint               node-sass           redis
~ % 

「brew install wget」で Wget をインストール

ターミナル上で「brew install wget」を実行すると、Wget のインストール処理が始まります。

~ % brew install wget
==> Downloading https://homebrew.bintray.com/bottles/gettext-0.20.2_1.catalina.b
==> Downloading from https://akamai.bintray.com/71/71f4ded03e8258b5e6896eebb00d2
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/libunistring-0.9.10.catalin
==> Downloading from https://akamai.bintray.com/ce/ce746662b98d93511b86920011b5c
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/libidn2-2.3.0.catalina.bott
==> Downloading from https://akamai.bintray.com/09/0908585cca518a83f101b2edc0417
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/openssl%401.1-1.1.1g.catali
==> Downloading from https://akamai.bintray.com/19/1926679569c6af5337de812d86f4d
######################################################################## 100.0%
==> Downloading https://homebrew.bintray.com/bottles/wget-1.20.3_2.catalina.bott
==> Downloading from https://akamai.bintray.com/ef/ef65c759c5097a36323fa9c777564
######################################################################## 100.0%
==> Installing dependencies for wget: gettext, libunistring, libidn2 and openssl@1.1
==> Installing wget dependency: gettext
==> Pouring gettext-0.20.2_1.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/gettext/0.20.2_1: 1,923 files, 18.6MB
==> Installing wget dependency: libunistring
==> Pouring libunistring-0.9.10.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/libunistring/0.9.10: 54 files, 4.4MB
==> Installing wget dependency: libidn2
==> Pouring libidn2-2.3.0.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/libidn2/2.3.0: 70 files, 727.8KB
==> Installing wget dependency: openssl@1.1
==> Pouring openssl@1.1-1.1.1g.catalina.bottle.tar.gz
==> Caveats
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl@1.1/certs

and run
  /usr/local/opt/openssl@1.1/bin/c_rehash

openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.

If you need to have openssl@1.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

==> Summary
🍺  /usr/local/Cellar/openssl@1.1/1.1.1g: 8,059 files, 18MB
==> Installing wget
==> Pouring wget-1.20.3_2.catalina.bottle.tar.gz
🍺  /usr/local/Cellar/wget/1.20.3_2: 50 files, 4.0MB
==> Caveats
==> openssl@1.1
A CA file has been bootstrapped using certificates from the system
keychain. To add additional certificates, place .pem files in
  /usr/local/etc/openssl@1.1/certs

and run
  /usr/local/opt/openssl@1.1/bin/c_rehash

openssl@1.1 is keg-only, which means it was not symlinked into /usr/local,
because macOS provides LibreSSL.

If you need to have openssl@1.1 first in your PATH run:
  echo 'export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl@1.1 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

~ % 

入力待ち状態になったら完了です。途中ビールのアイコンが表出されるのかわいいですね。

「wget --version」で確認

インストールが完了した後、ターミナルで「wget --version」を実行すると、Wget のバージョン情報や著作権に関する案内、バグ報告の質問の連絡先が表出されます。

~ % wget --version
GNU Wget 1.20.3 built on darwin19.0.0.

-cares +digest -gpgme +https +ipv6 +iri +large-file -metalink +nls 
+ntlm +opie -psl +ssl/openssl 

Wgetrc: 
    /usr/local/etc/wgetrc (system)
ロケール: 
    /usr/local/Cellar/wget/1.20.3_2/share/locale 
コンパイル: 
    clang -DHAVE_CONFIG_H -DSYSTEM_WGETRC="/usr/local/etc/wgetrc" 
    -DLOCALEDIR="/usr/local/Cellar/wget/1.20.3_2/share/locale" -I. 
    -I../lib -I../lib -I/usr/local/opt/openssl@1.1/include -DNDEBUG -g 
    -O2 
リンク: 
    clang -DNDEBUG -g -O2 -lidn2 -L/usr/local/opt/openssl@1.1/lib -lssl 
    -lcrypto -ldl -lz ftp-opie.o openssl.o http-ntlm.o ../lib/libgnu.a 
    -liconv -lintl -Wl,-framework -Wl,CoreFoundation -lunistring 

Copyright (C) 2015 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 あるいはそれ以降のバージョン
<http://www.gnu.org/licenses/gpl.html>.
このソフトウェアはフリーソフトウェアです。自由に変更、再配布ができます。
法律が許すかぎり、全くの無保証です。

Hrvoje Niksic <hniksic@xemacs.org> によって書かれました。
バグ報告や質問は<bug-wget@gnu.org>へ
~ % 

Homebrew を Macbook Pro へインストール

Homebrew を Macbook へインストールする際のステップです。

OS:Mac OS Catalina バージョン 10.15.4

Homebrew 公式サイトでインストール用スクリプトをコピー&ターミナルへペースト

Homebrew の公式サイトへアクセス。

トップページに表示されているコードをコピーし、ターミナルへペースト&「Enter」
*コードは 2020 年 5 月時点のものです。

~ % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

インストールがスタート

するとまず下記の通りインストール時に何が起こるかの説明が表示されます。

==> This script will install:
/usr/local/bin/brew
/usr/local/share/doc/homebrew
/usr/local/share/man/man1/brew.1
/usr/local/share/zsh/site-functions/_brew
/usr/local/etc/bash_completion.d/brew
/usr/local/Homebrew
==> The following existing directories will be made group writable:
/usr/local/bin
/usr/local/lib
/usr/local/share
==> The following existing directories will have their owner set to *****:
/usr/local/bin
/usr/local/lib
/usr/local/share
==> The following existing directories will have their group set to admin:
/usr/local/bin
/usr/local/share
==> The following new directories will be created:
/usr/local/etc
/usr/local/include
/usr/local/sbin
/usr/local/var
/usr/local/opt
/usr/local/share/zsh
/usr/local/share/zsh/site-functions
/usr/local/var/homebrew
/usr/local/var/homebrew/linked
/usr/local/Cellar
/usr/local/Caskroom
/usr/local/Homebrew
/usr/local/Frameworks
==> The Xcode Command Line Tools will be installed.

Press RETURN to continue or any other key to abort

そのままリターンキーを叩くとパスワード確認後インストールへ。他のキーを叩くと切断されます。ということでリターンキーをポチ。

==> /usr/bin/sudo /bin/chmod u+rwx /usr/local/bin /usr/local/lib /usr/local/share
==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/bin /usr/local/lib /usr/local/share
==> /usr/bin/sudo /usr/sbin/chown ***** /usr/local/bin /usr/local/lib /usr/local/share
==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/bin /usr/local/share
==> /usr/bin/sudo /bin/mkdir -p /usr/local/etc /usr/local/include /usr/local/sbin /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks
==> /usr/bin/sudo /bin/chmod g+rwx /usr/local/etc /usr/local/include /usr/local/sbin /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks
==> /usr/bin/sudo /usr/sbin/chown ***** /usr/local/etc /usr/local/include /usr/local/sbin /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks
==> /usr/bin/sudo /usr/bin/chgrp admin /usr/local/etc /usr/local/include /usr/local/sbin /usr/local/var /usr/local/opt /usr/local/share/zsh /usr/local/share/zsh/site-functions /usr/local/var/homebrew /usr/local/var/homebrew/linked /usr/local/Cellar /usr/local/Caskroom /usr/local/Homebrew /usr/local/Frameworks
==> /usr/bin/sudo /bin/mkdir -p /Users/*****/Library/Caches/Homebrew
==> /usr/bin/sudo /bin/chmod g+rwx /Users/*****/Library/Caches/Homebrew
==> /usr/bin/sudo /usr/sbin/chown ***** /Users/*****/Library/Caches/Homebrew
==> Searching online for the Command Line Tools
==> /usr/bin/sudo /usr/bin/touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
==> Installing Command Line Tools for Xcode-11.5
==> /usr/bin/sudo /usr/sbin/softwareupdate -i Command\ Line\ Tools\ for\ Xcode-11.5
Software Update Tool


Downloading Command Line Tools for Xcode

上記の最後の行、「Xcode 用のコマンドラインツールをダウンロードしています」で一旦止まりますがそのまま待ちます。

その後下記の様な表示がされます。

Downloading Command Line Tools for Xcode
Downloaded Command Line Tools for Xcode
Installing Command Line Tools for Xcode
Done with Command Line Tools for Xcode
Done.
==> /usr/bin/sudo /bin/rm -f /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
Password:

Xcode 用 コマンドラインツールのダウンロード&インストールの完了、そしてパスワードを再度求められます。

パスワードを入力すると再度処理が始まりズラズラっとターミナル上に表出されていきます。

「==> Installation successful!」と表示されてインストール完了

Password:
==> /usr/bin/sudo /usr/bin/xcode-select --switch /Library/Developer/CommandLineTools
==> Downloading and installing Homebrew...
remote: Enumerating objects: 68, done.
remote: Counting objects: 100% (68/68), done.
remote: Compressing objects: 100% (64/64), done.
remote: Total 137483 (delta 5), reused 55 (delta 4), pack-reused 137415
Receiving objects: 100% (137483/137483), 33.39 MiB | 346.00 KiB/s, done.
Resolving deltas: 100% (101071/101071), done.
From https://github.com/Homebrew/brew
 * [new branch]      master     -> origin/master
 * [new tag]         2.3.0      -> 2.3.0
〜一部省略〜
 * [new tag]             2.2.9      -> 2.2.9
HEAD is now at 77e09fc16 Merge pull request #7661 from MikeMcQuaid/man-url-install
==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations
==> Tapping homebrew/core
Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...
remote: Enumerating objects: 726765, done.
remote: Total 726765 (delta 0), reused 0 (delta 0), pack-reused 726765
Receiving objects: 100% (726765/726765), 294.50 MiB | 324.00 KiB/s, done.
Resolving deltas: 100% (480049/480049), done.
Tapped 2 commands and 5029 formulae (5,298 files, 322.8MB).
Already up-to-date.
==> Installation successful!

==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
Read the analytics documentation (and how to opt-out) here:
  https://docs.brew.sh/Analytics
No analytics data has been sent yet (or will be during this `install` run).

==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
  https://github.com/Homebrew/brew#donations

==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    https://docs.brew.sh
~ % 

上記の中盤過ぎに「==> Installation successful!」と表示が出ているので問題なく処理が完了した様です。

「ターミナルで brew help と入力すればいくつか情報が得られるし、https://docs.brew.sh にもより詳細な情報があるよ」とのこと。ちなみに「brew help」を実行すると下記の内容が表示されます。

~ % brew help
Example usage:
  brew search [TEXT|/REGEX/]
  brew info [FORMULA...]
  brew install FORMULA...
  brew update
  brew upgrade [FORMULA...]
  brew uninstall FORMULA...
  brew list [FORMULA...]

Troubleshooting:
  brew config
  brew doctor
  brew install --verbose --debug FORMULA

Contributing:
  brew create [URL [--no-fetch]]
  brew edit [FORMULA...]

Further help:
  brew commands
  brew help [COMMAND]
  man brew
  https://docs.brew.sh

いまいちよく分からないですね!ひとまず一旦無視して追々必要に応じて調べていこうと思います。

「brew --version」で最終確認

ターミナルに「brew --version」と入力して Enter。ちゃんとどのバージョンがインストールされているか表示されています。ということでインストールはOKです。

~ % brew --version
Homebrew 2.3.0
Homebrew/homebrew-core (git revision 2adae5; last commit 2020-05-30)
~ % 

【Python】Mac に Beautifulsoup4 をインストール

環境

OS: macOS Catalina バージョン 10.15.4
Python: Python 3.8.3

pip3 install beautifulsoup4 でインストール

~ % pip3 install beautifulsoup4

ターミナルを立ち上げて上記の通り「pip3 install beautifulsoup4」と入力し、Enter。

 ~ % pip3 install beautifulsoup4
Collecting beautifulsoup4
  Downloading https://files.pythonhosted.org/packages/66/25/ff030e2437265616a1e9b25ccc864e0371a0bc3adb7c5a404fd661c6f4f6/beautifulsoup4-4.9.1-py3-none-any.whl (115kB)
     |████████████████████████████████| 122kB 635kB/s 
Collecting soupsieve>1.2 (from beautifulsoup4)
  Downloading https://files.pythonhosted.org/packages/6f/8f/457f4a5390eeae1cc3aeab89deb7724c965be841ffca6cfca9197482e470/soupsieve-2.0.1-py3-none-any.whl
Installing collected packages: soupsieve, beautifulsoup4
Successfully installed beautifulsoup4-4.9.1 soupsieve-2.0.1
WARNING: You are using pip version 19.2.3, however version 20.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
 ~ % 

一瞬でダウンロードとインストールが完了し、入力待ち状態になりました。

【Python】「pip install requests」でエラー「pip3 install requests」で成功

とりあえず Mac に Python3 のインストールまでは完了

スクレイピングをやってみたいため、requests モジュールをインストールしたい。

環境

OS: macOS Catalina バージョン 10.15.4
Python: Python 3.8.3

「pip install requests」を入力してみる

なるほど、コマンドラインに「pip install requests」と入力すれば良いわけか。コマンドそのまま「requests をインストール」という事ね。

というわけでそのまま Python のシェルで「pip install requests」と入力して Enter。

 % python3
Python 3.8.3 (v3.8.3:6f8c8320e9, May 13 2020, 16:29:34) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> pip install requests

エラー「SyntaxError: invalid syntax」

すると下記の表示が。

>>> pip install requests
  File "<stdin>", line 1
    pip install requests
        ^
SyntaxError: invalid syntax
>>> 

「無効なシンタックス」としてエラーを返されました。なぜ??

調べてみると単純に、pip コマンドは python のシェルで実行するものでなくて、ターミナルを立ち上げた時のデフォルト(?)のコマンドラインで実行するものだと。

>>> pip install requests
  File "<stdin>", line 1
    pip install requests
        ^
SyntaxError: invalid syntax
>>> quit()

なので quit() と入力して一旦 python のシェルから脱出。

そしてpip install requests を再度入力。コレでOK。と思いきや。

エラー「zsh: command not found: pip」

>>> quit()
~ % pip install requests
zsh: command not found: pip

またもやエラー。「pip」というコマンドが見当たりませんと。

なんでや!!!

ということでまた調べたところ、自分は Macbook に python3 インストールして使っているので「pip」ではなく「pip3」を使う必要があったらしい。

「pip3 install requests」で成功

というわけで改めて「pip3 install requests」と入力

そしたらようやく無事にインストール成功しました。

実際に requests モジュールを使ってみる

という事で再度ターミナルで「python3」と入力し Python を立ち上げ、下記を順に入力。

>>> import requests
>>> r = requests.get('http://yahoo.com/')
>>> r.text

そしてエンター!

>>> import requests
>>> r = requests.get('http://yahoo.com/')
>>> r.text
'<!DOCTYPE html>\n<html id="atomic" lang="en-US" class="atomic   l-out Pos-r https fp fp-v2 fp-default mini-uh-on uh-topbar-on ltr desktop Desktop bkt201">\n<head>\n    <meta http-equiv="X-UA-Compatible" content="IE=edge">\n    \n    <title>Yahoo</title><meta http-equiv="x-dns-prefetch-control" content="on"><link rel="dns-prefetch" href="//s.yimg.com"><link rel="preconnect" href="//s.yimg.com">

とりあえずヤフーのソースコードがドバドバッと表示されたので、無事 requests モジュールを使える状態となりました!

【Python】Macbook に Python3 をインストール

Python のダウンロードページへアクセスし、ダウンロードリンクをクリック。

ダウンロードしたファイルをクリックするとインストーラが起動します。基本的には「続ける」をクリックしていけば問題ありません。

Python のインストール先を指定します。

「インストール」をクリック

無事インストールが完了しました。

今回インストールされたのは Python 3.8。

Install Certificates.command をダブルクリックし、証明書をインストールします。

ターミナルが起動し証明書のインストールが始まります。

Last login: Sun May 17 19:09:43 on ttys000
~ % /Applications/Python\ 3.8/Install\ Certificates.command ; exit;
 -- pip install --upgrade certifi
Collecting certifi
  Downloading https://files.pythonhosted.org/packages/57/2b/26e37a4b034800c960a00c4e1b3d9ca5d7014e983e6e729e33ea2f36426c/certifi-2020.4.5.1-py2.py3-none-any.whl (157kB)
     |████████████████████████████████| 163kB 635kB/s 
Installing collected packages: certifi
Successfully installed certifi-2020.4.5.1
WARNING: You are using pip version 19.2.3, however version 20.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
 -- removing any existing file or link
 -- creating symlink to certifi certificate bundle
 -- setting permissions
 -- update complete

[プロセスが完了しました]

ターミナルで「python3」と入力すると開始できます。「python」と入力すると mac にデフォルトで入っている旧バージョンの python が起動するので注意してください。

~ % python3
Python 3.8.3 (v3.8.3:6f8c8320e9, May 13 2020, 16:29:34) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> 

試しに「print("hello world")」と入力すると、下記の通り「hello world」と表出されました。

>>> print("hello world")
hello world
>>> 

というわけで、Python3 を使用できる状態となりました!

【ターミナル】Mac のログインシェルを zsh に変える

Macbook Pro でターミナルを開いたら下記のメッセージが表示された。

原文:

The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.

日本語訳:

デフォルトの対話型シェルはzshになりました。
zshを使用する様アカウントを更新するには、 `chsh -s /bin/zsh`を実行してください。
詳細については、https://support.apple.com/kb/HT208050をご覧ください。

つまりどういうこと?

どうやら Mac OS Mojave まではターミナルにログインした時にデフォルトで bash というシェルが使われていたのが、今度から zsh になったのであなたのコンピュータでもそうしませんかということらしい。

シェルとは

シェルとは、ユーザーが入力したコマンドをコンピュータに伝え、OSがそれを実行するプログラム。sh、csh、bash、fish、今回変更を促されている zsh など色々の種類がある。

Apple サポートによると、zsh は sh との互換性が高く、bash とも若干の違いはあるものの、互換性があると言って差し支えないとのこと。まあ、zsh にして問題ないということかな。

chsh -s /bin/zsh の意味

冒頭のメッセージに「chsh -s /bin/zsh」を実行する様書いてあるが、どういう意味なのか。

  • chsh:ユーザーのログイン shell の属性を変える。ログインシェル(ログインして最初に動き出すシェル)を変更する時に使う。
  • -s /bin/zsh:シェルを /bin/zsh に指定する。

つまりそのまま、『ログインシェルを「/bin/zsh」に変更する』という事らしい。

「システム環境設定」から設定する方法

下記のApple 公式サポートページで「デフォルトシェルを変更する方法」の部分を見ると、システム環境設定から変更する方法コマンドラインから変更する方法の両方の記載があります。

zsh を Mac のデフォルトシェルとして使う」(冒頭のメッセージに記載の URL の日本語版)

私の様な初心者にはシステム環境設定の画面の方がなんとなく安心感があるのでこっちの方法で変更しました。

公式サポートの画像の通り「ログインシェル」の部分を「/bin/zsh」に変えたところ、ターミナルを開いても冒頭のメッセージが表示されなくなりました。場合によっては再起動が必要かもしれません。

【WordPress】ショートコードの表示・非表示を一発で切り替えたい

使用していたショートコードの処理結果を記事上で非表示にしたい場合、一番基本的なやり方は投稿の編集画面でショートコードの […] の部分を削除する方法。

ただ、複数のページで使用しているショートコードを全て非表示にしたい場合等では、一つ一つのコードを全記事で削除していくわけにはいきません。

関数のコメントアウトでは非表示にはならない

(通常)function.php に記載しているショートコードの関数をいじれば一括で管理できますが、関数部分を丸ごとコメントアウトして関数の呼び出しを無効化すると、記事上にshortcodeが残ってしまいます。

上の画像の様にショートコード関連のコード全体をコメントアウトすると確かに処理は行われませんが下の画像の様、投稿の編集画面で記載している hello shortcode が表出されてしまいます。

ショートコードの関数から null を返せばOK

ではどうすれば良いのかですが、ショートコード関数の return 文で null を返してあげると綺麗さっぱり無くなります。

【基本編】元の return 文をコメントアウト + return null; を記述

一番直感的なのは元の return 文をコメントアウトし、新たに「return null;」をそのまま記述してしまう方法。

上記の様に null を返してあげると、記事上でも綺麗さっぱりショートコードが無かったことになります。

【応用編】if 条件で表示・非表示の切り替えをシンプルに

関数のコードが長かったりすると return 文を探すのが大変だったりするので、関数の頭に表示・非表示を切り替えるフラグの様な変数を入れても良いと思います。

上記のコードの場合は、変数 $visible に true を入れれば "hello shortcode" のストリングが返され、false を渡せば null が返されて記事ページ上で非表示となります。

【WordPress】ショートコードを別ファイル管理でリスク低減

ショートコードとは

ショートコードは wordpress の投稿や固定ページに自分で定義した処理を呼び出せる便利な機能です。

上記の様にショートコードを設定すると、下記の様に表出されます。

hello shortcode


一般的に処理内容は function.php に記述しますが、function.php には他の重要な処理が書かれている為リスクを伴います。より安全で管理もシンプルになる方法がありますので紹介します。

Contents

function.php に直接追記していくのはリスクが高い

function.php には既に WordPress にとって重要なコードが記述されており、誤った部分を削除、編集してしまったり、追記したコード自体にエラーがあるとサイトが真っ白に表示されてしまったりとリスクを伴います。さらにショートコードが増えてくるとファイルの中身自体が煩雑になりさらにリスクが高くなります。

ショートコード用の別ファイルを作成すればOK

もちろんバックアップを取りながら慎重にすすめていくこともできますが、少し煩わしい。そういった場合はショートコード管理専用の別ファイルを作ってしまうことをおすすめします。function.php には一行だけ追記で済み、shortcode自体は別ファイルで管理できます。

具体的な方法:

function.php の一番下に include 文で別ファイルのパスを記述しておけば、あとは別ファイルの方で管理したものがそのまま function.php に読み込まれるようになります。簡単にいうと、shortcode.php の内容も function.php の一部として認識される感じです。

ショートコード用 PHP ファイルの作成

まず、ショートコード用に新規の php ファイルを作成し、その中にショートコードの内容を記載します。この場では shortcode.php としましたが、ファイル名に特に決まりはありません。

function.php の編集

そして、function.php には下記の様に include 分で先ほど作ったショートコード用ファイルのパスを記述します。

この方法でコードを編集すると、下記のような状態になります。

変更前

function.php の中にショートコード関連の定義が記載されています。

変更後

ショートコード関連のサイトのコードを別ファイルにまとめる事で、根幹を担う function.php への変更は最低限に留め、ショートコードの管理も専用ファイルでよりシンプルに行うことができます。

メリットが多い

こうしておくと、WordPress テーマを変えたりした時も新しい function.php に include 分の一行を書くだけで済むので管理が断然楽になります。

リスクが完全に無くなるわけではない

別ファイルに分けると function.php 上でエラーを起こすリスクは下げられますが、ショートコード用ファイルで間違ったコードを書いてしまうとやはりサイト自体に影響が出てしまいます。

よりリスクを減らすために

そんな時すぐさま問題を解決出来れば良いのですが、とりあえず function.php の include 文を一旦コメントアウトしてしまうのも一つの方法です。

そうするとショートコードは機能していない状態になりますが、すぐに問題の影響を断ち切ることができます。サイトを稼働させながらショートコード用ファイルの方でじっくり分析、修正を行った後で include 文のコメントアウトを外せば、影響を少なく抑えることができます。