update-memo.txt
4.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
・以下のファイルは前管理会社にて魔改造されているので、joomla本体アップデート時に元の状態に戻す必要があります。
libraries/src/Document/Renderer/Html/HeadRenderer.php
components/com_search/controller.php
components/com_content/views/article/tmpl/default.php
modules/mod_articles_category/mod_articles_category.xml
modules/mod_articles_category/tmpl/default.php
modules/mod_breadcrumbs/tmpl/default.php
layouts/joomla/content/blog_style_default_item_title.php
templates/protostar/index.php
templates/protostar/css/template.css
・joomlaの管理画面でアップデートをするとコアファイルがapacheユーザーの所有者権限で上書きされるので、
ec2-userでファイル操作したい場合は
chown -hR ec2-user:apache media/
など適宜対応してください。
・joomla3.9.14 へのアップデートで管理画面にプラグインの更新アラートが強制されました。
互換性の問題で更新できない場合でも表示され続けて邪魔なので、とりあえず外してます。
media/plg_quickicon_extensionupdate/js/extensionupdatecheck.js
・アップデートでajaxがhttpで通信してエラーになる問題の対応で
configuration.php にて
$live_site = 'https://www.nifs-k.ac.jp/';
を指定してます。
・管理画面のパスがずれる(/administrator/が付かない)問題の対応で
baseタグを削除してます。
libraries/src/Document/Renderer/Html/HeadRenderer.php
・以下、joomla本体のアップデート手順
0. 作業前バックアップ(gitでソース/dbはダンプ)する
作業前にチェックツール(https://project.lilli.co.jp/oki/screenshot-crawler)を走らせると確認が楽です。
※チェックツールはローカルマシンで実行するツールです。サーバー上で実行しないよう注意してください。
※本サイトの場合、チェックに24分程掛かります。できれば1時間くらい前に走らせた方が良いです。
1. システム > グローバル設定 > メンテナンスモードを有効にする
2. コンポーネント > Joomlaの更新 > ライブアップデートを実行
※ここでコアファイルがapacheユーザー所有になる
3. 作業対象の所有者をec2-user:apahceへ変更
chown -hR ec2-user:apache libraries/
chown -hR ec2-user:apache components/
chown -hR ec2-user:apache modules/
chown -hR ec2-user:apache layouts/
chown -hR ec2-user:apache templates/
chown -hR ec2-user:apache media/
4. 対象ファイル
libraries/src/Document/Renderer/Html/HeadRenderer.php
components/com_search/controller.php
components/com_content/views/article/tmpl/default.php
modules/mod_articles_category/mod_articles_category.xml
modules/mod_articles_category/tmpl/default.php
modules/mod_breadcrumbs/tmpl/default.php
layouts/joomla/content/blog_style_default_item_title.php
templates/protostar/index.php
templates/protostar/css/template.css
media/plg_quickicon_extensionupdate/js/extensionupdatecheck.js
をアップデート前の状態へ戻す。
自分の場合はVScodeでリモート接続して作業してます。
5. 動作確認
- サイトの表示確認
再度チェックツールを走らせて現状のスクショの収集が完了したら、
現状と作業前の差分を比較してください。画像やjsの読み込みの誤差以外の差分がでなければOK。
- 管理画面の確認
過去の事例より、
-- ヘッダーや各ページのリンクが正常に動作する
-- 記事編集画面のプレビュー機能が正常に動作する(プレビュー内のヘッダー表示等)
は確認する
#### 以下、サーバー環境のアップデートの注意 ####
OSがamazon linux なので通常の手順ではうまくいかない場合が多々あります。
・phpのアップデート
古いPHPの削除時
yum remove php-* ではエラーになるので
yum list installed | grep php で確認し、直接削除しました。
新しいPHPのインストール時、awsの独自リポジトリだとエラーになるのでremiを指定
yum --enablerepo=remi-php72 --disablerepo=amzn2-core install php-xxx ...
・MariaDBのアップデート
curl でリポジトリ取得しようとするとamazon linuxは対応外と弾かれるので
https://downloads.mariadb.org/mariadb/repositories/#distro=CentOS&distro_release=centos7-amd64--centos7&mirror=i3dnet&version=10.4
centos7の設定でリポジトリを作成しインストールする。
vi /etc/yum.repos.d/mariadb.repo
yum clean all
yum install MariaDB
起動
systemctl start mariadb
アップグレードで問題が出てないか確認
mysql_upgrade -u root -p
・apacheのアップデート
httpd.confに以下の1行を(無ければ)追加
RemoteIPHeader X-Forwarded-For
クラウドフロント経由かつIP制限を掛けたい為