HTML/CSS/JavaScriptの練習 実践 雑多な記録4 (NoCode/LowCodeの練習)
https://shirakawa.weblike.jp/blog-page/2022/04/14…
で、WordPressの練習をしたいので、installする。
wordpress install、でググった:
https://ja.wordpress.org/support/article/how-to-install-wordpress/
https://ja.wordpress.org/about/requirements/
PHP バージョン 7.4 以上。MySQL バージョン 5.7 以上、または MariaDB バージョン 10.2 以上。HTTPS 対応
注意: 古いバージョンの PHP や MySQL しか使えない古い環境にいる場合でも、WordPress は PHP 5.6.20以上及び MySQL 5.0以上で動きます。しかしこれらの古いバージョンは既に公式でサポートが終了しており、サイトを脆弱性にさらす危険性があります。
SlackのpkgのApacheをInstした。
$ sudo installpkg n/httpd-2.4.52-x86_64-1.txz (SlackのpkgにはNginxは無さそうだ)
$ sudo installpkg ap/mariadb-10.5.13-x86_64-2.txz
$ sudo installpkg n/krb5-1.19.2-x86_64-2.txz
$ sudo installpkg n/php-7.4.27-x86_64-1.txz
不足libチェック&Inst:
https://shirakawa.weblike.jp/blog-page/2022/02/18…
WordPress-5.9.2-ja:
https://ja.wordpress.org/support/article/how-to-in を参考にinstallする。
https://ja.wordpress.org/download/#download-install からtar.gzをDLした。
$ tar xzvf wordpress-5.9.2-ja.tar.gz
phpMyAdminを使用してデータベースを作成する。
https://www.phpmyadmin.net/ からzipをDLした。
$ unzip phpMyAdmin-5.1.3-all-languages.zip
https://ja.wordpress.org/support/article/glossary/… – 用語集 phpMyAdmin
Apacheを設定して、ブラウザからDocRootにアクセスできるようにした。
https://shirakawa.weblike.jp/blog-page/2022/03/15…
WordPressのインストール https://ja.wordpress.org/support/article/how-to-in…
の、5分間インストールとインストール手順の詳細を参考に、
1.WordPressパッケージをダウンロードして解凍。
(上で実行した)
2.サーバー上にWordPress用のデータベースと、そのデータベースへの全アクセス権・編集権を持つMySQL(あるいはMariaDB)のユーザーを作成。
(以降でMariaDBの管理者ユーザーを作成した)
3.(オプション)wp-config-sample.phpのファイル名をwp-config.phpに変更し、wp-config.phpファイルの編集に従ってデータベースの情報を追加。
(phpMyAdminを使い、以降でrootでloginしていろいろ設定した)
https://www.dbonline.jp/phpmyadmin/install/
phpMyAdminはPHPを使って記述されたスクリプトですので、ダウンロードしたファイルをブラウザ経由でアクセスすることができるApacheのドキュメントルート内に配置します。
$ cp -a -i phpMyAdmin-5.1.3-all-languages /myproj/slack150memo/phpMyAdmin
$ sudo ifconfig lo 127.0.0.1 netmask 255.0.0.0
$ sudo sh /etc/rc.d/rc.httpd start
$ sudo sh /etc/rc.d/rc.mysqld start
mysqld_safe Logging to ‘/var/lib/mysql/darkstar.example.net.err’.
mysqld_safe Starting mariadbd daemon with databases from /var/lib/mysql
(daemonいない、起動失敗したらしい、rc.mysqldを少し見た)
$ sudo mysql_install_db –user=mysql
(実行した時のログは下の方にメモった)
$ sudo sh /etc/rc.d/rc.mysqld start
(今度はうまくいった)
MariaDBの管理者ユーザーを以下で作成した。
$ sudo mysql -u root
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 9
Server version: 10.5.13-MariaDB Source distribution
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)]> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘????????’);
Query OK, 0 rows affected (0.120 sec)
MariaDB [(none)]> quit
http://slack150memo.blog.example.com/phpMyAdmin/index.php にアクセスし、rootでloginした。
「暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要」と表示された場合
https://www.dbonline.jp/phpmyadmin/install/index4.html
$ cp -a -i /myproj/slack150memo/phpMyAdmin/config.sample.inc.php /myproj/slack150memo/phpMyAdmin/config.inc.php
$ nvi /myproj/slack150memo/phpMyAdmin/config.inc.php (パスフレーズを設定した)
phpMyAdminの環境保管領域を設定する
https://www.dbonline.jp/phpmyadmin/install/index3.html
環境保管領域を設定するには(1)設定の保存場所となるデータベースをMySQLに作成、(2)設定ファイルに必要な情報を設定、の2つを行ないます。
(これを参考に設定した)
phpMyAdminの利用 – https://ja.wordpress.org/support/article/how-to-in…
phpMyAdminの使い方 – https://www.dbonline.jp/phpmyadmin/
を参考に、いろいろ設定。
1.WordPress用のデータベースが左側のデータベースドロップダウンリストになければ、作成します
\ 多くのホスティング業者ではユーザー名とアンダースコアが必須になるため、自分のパソコンで作業する
\ 場合でもホスティング業者の要件を確認してそれに合わせることを推奨。後から業者の要件に合ったDB名
\ を作成して中身をコピーすればいいんじゃないの?
\ WordPressデータベースの名前は’wordpress’、使用する言語に合った照合順序は’utf8mb4_general_ci’
\ にした。
2.WordPress用のユーザーがまだ存在しなければ作成します
\ WordPressのユーザー名を「wordpress」にした。localhost、グローバル権限は全て、SSLはNONE。
3.手順:3 wp-config.php のセットアップ
\ WordPressファイルを設置してからwp-config.phpを編集する。
4.サーバー上の任意の場所にWordPressファイルを設置。
$ cp -a -i wordpress/* /myproj/slack150memo/blog/
$ cp -i /myproj/slack150memo/blog/wp-config-sample.php /myproj/slack150memo/blog/wp-config.php
$ emacs /myproj/slack150memo/blog/wp-config.php &
(ここで編集する。nviだと文字化けはしないが日本語fontが表示されない)
5.ブラウザーで WordPress を設置したURLにアクセスし、インストールスクリプトを実行。
\ blog というサブディレクトリに設置した場合:
\ http://slack150memo.blog.example.com/blog/wp-admin/install.php
インストール成功し、ログインすると、
Forbidden
You don’t have permission to access this resource.
wordpress install直後にログイン Forbidden You don’t have permission to access this resource.、でググった:
WordPress インストール直後、管理画面アクセスで403エラー
https://www.tomsword.com/weblog/immediately-after-…
(直接開くと表示される。.htaccessなんか入れてない。そもそもCGIを有効にし忘れたという。。)
$ echo ‘[code lang=”js”]DirectoryIndex index.php[/code] ‘ > /myproj/slack150memo/blog/.htaccess
(先回りしてやっておくか)
$ sudo nvi /etc/httpd/httpd.conf (Apacheの設定 https://shirakawa.weblike.jp/blog-page/2022/03/15 に追記した)
これでwordpressをログインして表示できた。
サイトヘルスステータス:
1件の致命的な問題
バックグラウンド更新が想定通りに動作していません
バックグラウンド更新は使用中のWordPressのバージョンにセキュリティ更新がリリースされた際、自動更新できることを保証します。
OK バージョン管理システムは検出されませんでした。
エラー このWordPressサイトでは更新の実行の際にFTP認証情報が必要となります。 (このサイトではファイルの所有権の問題のため、更新がFTP経由で行われます。詳細はホスティング会社にお尋ねください。)
(ftp入れてないので入れておくか。sftpも入れておくか)
$ sudo installpkg n/netkit-ftp-0.17-x86_64-7.txz
$ sudo installpkg n/openssh-8.8p1-x86_64-2.txz
WordPress サイトでは更新の実行の際に FTP 認証情報が必要、でググった、(直らんかったから)
https://www.sandalot.com/wordpress%E6%9B%B4%E6%96%…
(ftpではなくftpdの方か?、apacheはftpdできるのか?、apacheがftpして情報をwordpress_dirに書くのか)
$ sudo chown -R apache slack150memo/blog
さすがに2GBRAMの格安中古NotePCだと最も軽いはずの環境でもこうなっちゃうのか。Firefoxでタブ14個も
開いてるせいか?。とりあえずswapを2GBにするか。
$ free
\ total used free shared buff/cache available
Mem: 1971756 1518160 132764 47272 320832 256736
Swap: 1012056 425148 586908
WordPress の更新:
時間表示をGMTからJSTへ変更(WordPressの最終チェック日時が9時間ズレる):
$ ll /etc/localtime-copied-from
lrwxrwxrwx 1 root root 27 Mar 23 07:21 /etc/localtime-copied-from -> /usr/share/zoneinfo/Factory
$ sudo cp -i /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
$ sudo date -s xx:yy
https化:2023.08
Apacheをマジメにhttps化することにした
https://shirakawa.weblike.jp/blog-page/2022/03/15…
ら、WPの表示がおかしくなった。
最初のページ以外アクセスできなくなった。こっちもSSL化が必要なのか?
CSSが効かなくなったのはパスをhttpで記述してるせいかな?。そりゃそうか。ほぼパスのせいか?
いやいや、それだとFC2の表示もおかしくなるはず。
wordpress ssl apache config、でググった:
https://qiita.com/yechentide/items/bb1e3d3116f3d178761d
DBの中にhttpがあるな。http://slack150memo.blog.example.com/phpMyAdmin/ (自分PCの..)にアクセス。
phpmyAdmin でSQL を実行して文字列を置換する方法
https://www.webantena.net/wordpress/phpmyadmin-update-set-replace/
DBの中の http://slack を https://slack へ全部変えてもcssのパスがhttpのまま、アンカーから
ジャンプしてもページが開けない。URLにhttps://を付けると開ける。WPを入れ直すしかないか?。
\
wordpress ssl化 style.cssのパスがhttpのまま、でググった:
https://www.tetsuya.yoshida.name/web/wordpresssslcss/
https://www.will-hp.com/wpblog/wordpress/211/
https://teratail.com/questions/22364
(これで解決した。FC2側もそうしてるんだろう)
PHP $_SERVER[‘HTTPS’]、でググった:
https://qiita.com/xtetsuji/items/36d85bb49a518ed7b1da
参考情報:
「/etc/localtime」ファイル – Linux豆知識 186
https://linuc.org/study/knowledge/516/
WordPressで使われている画像処理ライブラリについて調べてみた
https://tech.bita.jp/article/10
PHPセキュリティ強化モジュール Suhosin
https://qiita.com/bezeklik/items/5e8b1f76465e39dc6cd0
mysql 多くのホスティング業者ではユーザー名とアンダースコアが必須、でググった:
https://www.nkshopping.biz/index.php?%E3%80%8C%E3%
「phpMyAdmin」に、ログインする際は、ユーザー名の最初の、「 _ 」←アンダーバーを忘れずに
ログイン時には”_”(アンダースコア)を含めたユーザー名(データベース名)を入力してください。例:「_test」のように入力してください。
MySQL の管理者ユーザー、でググった:
https://dev.mysql.com/doc/refman/5.6/ja/default-privileges.html
phpmyadminのインストール方法、でググった:
https://www.dbonline.jp/phpmyadmin/install/
slackware wordpress、でググった:
[SOLVED] unable to install WordPress on Slackware ???
https://www.linuxquestions.org/questions/linux-sof…
たまたま見つけた:
Software Design 2022年7月号 MySQLで学ぶ文字コード
https://gihyo.jp/magazine/SD/archive/2022/202207
Software Design 2022年9月号 MySQL
https://gihyo.jp/magazine/SD/archive/2022/202209
\
WordPress – Slackware-14.2 メモ
https://seesaawiki.jp/lifewithslackarmzaurus_15_0/d/…
installまたは展開時のメッセージ:
# httpd (The Apache HTTP Server)
# Apache is an HTTP server designed as a plug-in replacement for the
# NCSA HTTP server. It fixes numerous bugs in the NCSA server and
# includes many frequently requested new features, and has an API which
# allows it to be extended to meet users’ needs more easily.
# Apache is the most popular web server in the known universe; over
# half of the servers on the Internet are running Apache or one of
# its variants.
\
# mariadb (Drop-in replacement for the MySQL Database Server)
# MariaDB is a backward compatible, drop-in replacement branch of the
# MySQL(R) Database Server. It includes all major open source storage
# engines, including the Aria storage engine.
# Homepage: http://mariadb.org/
\
# krb5 (Network authentication protocol)
# Kerberos is a network authentication protocol. It is designed to
# provide strong authentication for client/server applications by using
# secret-key cryptography.
# Homepage: http://web.mit.edu/kerberos/
\
# php (HTML-embedded scripting language)
# PHP is an HTML-embedded scripting language. It shares syntax
# characteristics with C, Java, and Perl. The primary objective behind
# this language is to make a fast and easy-to-use scripting language
# for dynamic web sites.
# Homepage: https://www.php.net/
\
$ sudo mysql_install_db –user=mysql
Installing MariaDB/MySQL system tables in ‘/var/lib/mysql’ …
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
Two all-privilege accounts were created.
One is root@localhost, it has no password, but you need to
be system ‘root’ user to connect. Use, for example, sudo mysql
The second is mysql@localhost, it has no password either, but
you need to be the system ‘mysql’ user to connect.
After connecting you can set the password, if you would need to be
able to connect as any of these users with a password and without sudo
See the MariaDB Knowledgebase at https://mariadb.com/kb or the
MySQL manual for more instructions.
You can start the MariaDB daemon with:
cd ‘/usr’ ; /usr/bin/mysqld_safe –datadir=’/var/lib/mysql’
You can test the MariaDB daemon with mysql-test-run.pl
cd ‘/usr/mysql-test’ ; perl mysql-test-run.pl
Please report any problems at https://mariadb.org/jira
The latest information about MariaDB is available at https://mariadb.org/.
You can find additional information about the MySQL part at:
https://dev.mysql.com
Consider joining MariaDB’s strong and vibrant community:
https://mariadb.org/get-involved/
MariaDB/MySQL システム テーブルを「/var/lib/mysql」にインストールしています …
わかりました
ブート時に mysqld を起動するには、以下をコピーする必要があります
support-files/mysql.server をシステムの適切な場所にコピーします
すべての特権を備えたアカウントが 2 つ作成されました。
1 つは root@localhost で、パスワードはありませんが、パスワードが必要です。
接続するにはシステムの「root」ユーザーにしてください。たとえば、sudo mysql を使用します。
2 番目は mysql@localhost で、これにもパスワードはありませんが、
接続するにはシステム「mysql」ユーザーである必要があります。
接続後、必要に応じてパスワードを設定できます。
パスワードを使用し、sudo を使用せずにこれらのユーザーのいずれかとして接続できます
MariaDB ナレッジベース (https://mariadb.com/kb) または
詳細な手順については、MySQL マニュアルを参照してください。
MariaDB デーモンは次のように起動できます。
cd ‘/usr’ ; /usr/bin/mysqld_safe –datadir=’/var/lib/mysql’
mysql-test-run.pl を使用して MariaDB デーモンをテストできます。
cd ‘/usr/mysql-test’ ; perl mysql-test-run.pl
問題があれば https://mariadb.org/jira で報告してください。
MariaDB に関する最新情報は、https://mariadb.org/ で入手できます。
MySQL 部分に関する追加情報は、次の場所で見つけることができます。
https://dev.mysql.com
MariaDB の強力で活気のあるコミュニティへの参加を検討してください。
https://mariadb.org/get-involved/