Changes between Version 18 and Version 19 of epics/Archiver Appliance インストールメモ
- Timestamp:
- 09/06/24 14:09:10 (2 months ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
epics/Archiver Appliance インストールメモ
v18 v19 16 16 * あらかじめdnfでインストールしておくもの 17 17 * gcc 18 * patch 18 19 * zenity 19 20 * AAインストール後の運用については[[wiki:Archiver Appliance 運用メモ|Archiver Appliance 運用メモ]]を参照のこと … … 70 71 71 72 = MySQLのセットアップ = 72 == uid, gid ==73 mysql:mysqlが27:27になっている(mysqlをインストールする際に作られる?)のを、既存のマシンにあわせて38099:38099にする。74 mysqlが使うディレクトリのownerも変えておく:75 {{{76 # chown 38099:38099 /var/lib/mysql77 # chown 38099:38099 /var/run/mysql78 }}}79 80 73 == dbを置くディレクトリ == 81 dbは/svrdbに置く。NFSサーバがexportしているディレクトリを/svrdbにマウントする。 74 AlmaLinux9標準のディレクトリのままにする場合はこの手順は飛ばしてよい。 75 制御計算機ではdbは/svrdbに置く。NFSサーバがexportしているディレクトリを/svrdbにマウントする。 82 76 {{{ 83 77 jkjds01.ccr.jkcont:/svrdb /svrdb nfs bg,intr,soft,timeo=10,retrans=15,nfsvers=3 0 0 … … 87 81 # mkdir /svrdb 88 82 # mount /svrdb 89 # mkdir /svrdb/mysql5.1/jkjarchiver-ap 90 # chown 38099:38099 /svrdb/mysql5.1/jkjarchiver-ap 91 }}} 92 93 == /etc/my.cnf == 94 * SL6の場合 95 MySQLの設定ファイルをリポジトリからコピーして使う。 96 {{{ 83 # mkdir /svrdb/mariadb10.5/jkjarchiver-ap 84 # chown mysql:mysql /svrdb/mariadb10.5/jkjarchiver-ap 85 }}} 86 87 == MariaDBの設定 == 88 * /etc/my.cnf.d/mariadb-server.cnfを書き換える 89 * MariaDBのテーブルを置くディレクトリ 90 * MySQL 5.3あたりからutf8mb4 (4-bytes unicode)がデフォルトになった。このままだとカラムサイズが767バイトを超えるので、3-bytes unicodeを使う 91 * いまはutf8はutf8mb3の別名だが、そのうちutf8mb4の別名になる 92 * カラムサイズを768バイト以上にする方法もある(らしい) 93 {{{ 94 ... 97 95 [mysqld] 98 96 #datadir=/var/lib/mysql 99 #socket=/var/lib/mysql/mysql.sock 100 #user=mysql 97 datadir=/svrdb/mariadb10.5/jkjarchiver-ap 98 ... 101 99 # Disabling symbolic-links is recommended to prevent assorted security risks 102 #symbolic-links=0103 104 #datadir=/localdata/mysql105 #socket=/localdata/mysql/mysql.sock106 datadir=/svrdb/mysql5.1/jkjarchiver-ap/107 socket=/var/lib/mysql/mysql.sock108 user=mysql109 100 symbolic-links=0 110 character-set-server = utf8 101 102 # Use utf8 (3-bytes unicode) to avoid 767-bytes problem. 103 # Column size will exceed 767-bytes when the default charset, utf8mb4 (4-bytes unicode) is used. 104 character-set-server = utf8mb3 105 collation-server = utf8_general_ci 106 107 # 111 108 innodb_flush_log_at_trx_commit = 1 112 113 [mysqld_safe] 114 log-error=/var/log/mysqld.log 115 pid-file=/var/run/mysqld/mysqld.pid 116 }}} 117 118 * Rasibianのmariadbの場 119 /etc/mysql/mariadb.conf.d/50-server.cnfでdatadirを適宜書き換える。 120 debian由来のmariadbでは、デフォルトの文字コードがutf8mb(4-bytes unicode)になっているために767バイト制限に引っかかってテーブルを作れない。次のファイルを書き換えてutf8 (3-bytes unicode)を使うようにする。 121 * /etc/mysql/mariadb.conf.d/50-server.cnf 122 {{{ 123 ... 124 [mysqld] 125 ... 126 character-set-server = utf8 127 collation-server = utf8_general_ci 128 ... 129 }}} 130 * /etc/mysql/mariadb.conf.d/50-mysql-clients.cnf 109 }}} 110 111 * /etc/my.cnf.d/mysql-clients.cnfも書き換える 131 112 {{{ 132 113 ... 133 114 [mysql] 134 ...135 115 default-character-set = utf8 136 116 ... 137 117 }}} 138 * /etc/mysql/mariadb.conf.d/50-clients.cnf139 * AAはmysqlクライアントなので、mariadbクライアント向けの設定は変えなくてもよい140 118 141 119 == logrotate == 142 /etc/logrotate.d/m ysqldに手順が書いてある。後回し。120 /etc/logrotate.d/mariadb に手順が書いてある。後回し。 143 121 144 122 == mysqlサーバ自動起動の設定 == 145 * SL6の場合 146 MySQLをインストールしても自動起動しない。自動起動するように設定する 147 {{{ 148 # cd /etc/rd.c/ini.d 149 # /sbin/chkconfig --level 3 mysqld on 150 # /sbin/chkconfig --level 4 mysqld on 151 # /sbin/chkconfig --level 5 mysqld on 123 MariaDBをインストールしても自動起動しない。自動起動するように設定する 124 {{{ 125 # systemctl enable mariadb 152 126 }}} 153 127 154 128 == MySQLサーバの起動 == 155 * SL6のrpmパッケージでMySQLをインストールした場合 156 MySQLサーバの初回起動時に(dbが存在しなければ)dbを作ってくれる。 157 {{{ 158 # /etc/rc.d/init.d/mysqld start 159 MySQL データベースを初期化中: Installing MySQL system tables... 160 161 Filling help tables... 162 OK 163 164 To start mysqld at boot time you have to copy 165 support-files/mysql.server to the right place for your system 166 167 PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! 168 To do so, start the server, then issue the following commands: 169 170 /usr/bin/mysqladmin -u root password 'new-password' 171 /usr/bin/mysqladmin -u root -h jkjarchiver-ap.mr.jkcont password 'new-password' 172 173 Alternatively you can run: 174 /usr/bin/mysql_secure_installation 175 176 which will also give you the option of removing the test 177 databases and anonymous user created by default. This is 178 strongly recommended for production servers. 179 180 See the manual for more instructions. 181 182 You can start the MySQL daemon with: 183 cd /usr ; /usr/bin/mysqld_safe & 184 185 You can test the MySQL daemon with mysql-test-run.pl 186 cd /usr/mysql-test ; perl mysql-test-run.pl 187 188 Please report any problems with the /usr/bin/mysqlbug script! 189 190 [ OK ] 191 mysqld を起動中: [ OK ] 192 }}} 193 194 * Raspbianのmariadbの場合 195 datadirを標準のものから変えた場合は明示的にdbを作る必要がある。 196 {{{ 197 systemctl stop mariadb 198 mysql_install_db --user=mysql --datadir=/localdata/mysql 199 systemctl start mariadb 129 MariaDBの回起動時に(dbが存在しなければ)dbを作ってくれる。 130 {{{ 131 # systemctl start mariadb 200 132 }}} 201 133 202 134 == /usr/bin/mysql_secure_installation == 203 MySQLの初期設定を行う。質問をよく読む。 Yes/Noの質問には全てYで答える。135 MySQLの初期設定を行う。質問をよく読む。質問をよく読んでか答える 204 136 205 137 {{{ 206 138 # /usr/bin/mysql_secure_installation 207 208 209 210 211 NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL 212 SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! 213 214 215 In order to log into MySQL to secure it, we'll need the current 216 password for the root user. If you've just installed MySQL, and 217 you haven't set the root password yet, the password will be blank, 218 so you should just press enter here. 219 220 Enter current password for root (enter for none): 221 OK, successfully used password, moving on... 222 223 Setting the root password ensures that nobody can log into the MySQL 224 root user without the proper authorisation. 225 226 Set root password? [Y/n] Y 227 New password: 228 Re-enter new password: 229 Password updated successfully! 230 Reloading privilege tables.. 231 ... Success! 232 233 234 By default, a MySQL installation has an anonymous user, allowing anyone 235 to log into MySQL without having to have a user account created for 236 them. This is intended only for testing, and to make the installation 237 go a bit smoother. You should remove them before moving into a 238 production environment. 239 240 Remove anonymous users? [Y/n] y 241 ... Success! 242 243 Normally, root should only be allowed to connect from 'localhost'. This 244 ensures that someone cannot guess at the root password from the network. 245 246 Disallow root login remotely? [Y/n] y 247 ... Success! 248 249 By default, MySQL comes with a database named 'test' that anyone can 250 access. This is also intended only for testing, and should be removed 251 before moving into a production environment. 252 253 Remove test database and access to it? [Y/n] y 254 - Dropping test database... 255 ... Success! 256 - Removing privileges on test database... 257 ... Success! 258 259 Reloading the privilege tables will ensure that all changes made so far 260 will take effect immediately. 261 262 Reload privilege tables now? [Y/n] y 263 ... Success! 264 265 Cleaning up... 266 267 268 269 All done! If you've completed all of the above steps, your MySQL 270 installation should now be secure. 271 272 Thanks for using MySQL! 273 }}} 139 }}} 140 * Enter current password for root (enter for none): ← ルートのパスワード を入力する 141 * Switch to unix_socket authentication [Y/n] ← n 142 * Change the root password? [Y/n] ← n 143 * Remove anonymous users? [Y/n] ← y 144 * Disallow root login remotely? [Y/n] ← nが安全だが状況に応じて 145 * Remove test database and access to it? [Y/n] ← いらないのでy 146 * Reload privilege tables now? [Y/n] ← y 274 147 275 148 == schemaの作成 == 276 149 DB(archappl), ユーザー(archappl)とパスワード(archappl)を作る。 277 150 suでrootになってから作業する 278 151 {{{ 279 152 % mysql -u root -p 280 153 Enter password: 281 Welcome to the MySQL monitor. Commands end with ; or \g. 282 Your MySQL connection id is 14 283 Server version: 5.1.73 Source distribution 284 285 Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 286 287 Oracle is a registered trademark of Oracle Corporation and/or its 288 affiliates. Other names may be trademarks of their respective 289 owners. 154 Welcome to the MariaDB monitor. Commands end with ; or \g. 155 Your MariaDB connection id is 14 156 Server version: 10.5.22-MariaDB MariaDB Server 157 158 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation AB and others. 290 159 291 160 Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. 292 161 293 162 mysql> CREATE DATABASE IF NOT EXISTS archappl; 294 Query OK, 1 row affected (0.00 sec)163 Query OK, 1 row affected (0.001 sec) 295 164 296 165 mysql> GRANT ALL PRIVILEGES ON archappl.* TO 'archappl'@'localhost' IDENTIFIED BY 'archappl'; 297 Query OK, 0 rows affected (0.00 sec) 298 }}} 299 166 Query OK, 0 rows affected (0.002 sec) 167 }}} 300 168 == テーブルの作成 == 301 169 AA用のテーブルはAAのインストールスクリプト(後述)が作ってくれる。 … … 304 172 305 173 インストールスクリプトを走せると、 306 1. M ySQLのテーブル174 1. MariaDBのテーブル 307 175 1. Tomcatのデプロイ 308 176 1. アプライアンスの設定ファイルの作成 … … 314 182 {{{ 315 183 # mkdir -p /opt/archappl 184 # chown epics:epics /opt/archappl 316 185 }}} 317 186 … … 349 218 HIHI等のメタフィールドは保存しない。pvPolicyDict\["archiveFields"\]は空のarrayにしておく。 350 219 220 == JAVA_HOME == 221 JAVA_HOMEを設定してく 222 {{{ 223 % export JAVA_HOME=/usr/lib/jvm/java-17 224 }}} 225 351 226 == インストールスクリプト == 352 227 予めインストール先のディレクトリを作っておく。epicsアカウントで書き込めるようにownerを変更しておく: … … 354 229 # mkdir -p /opt/archappl 355 230 # chown epics.epics /opt/archappl 231 }}} 232 233 インストールスクリプトはpython2向けに書かれているので、python3でも動くように[]パッチをあてる 234 {{{ 235 cd ~epics/archappl/workspace 236 curl https://cerldev.kek.jp/trac/EpicsUsersJP/attachment/wiki/epics/Archiver%20Appliance%20%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%83%A1%E3%83%A2/install_scripts_python3.patch 237 patch -p0 < install_script_python3.patch 356 238 }}} 357 239 … … 363 245 * apache-tomcat-x.y.z.tar.gz の所在 364 246 * mysql-connector-java-x.y.z-bin.jar の所在 247 * 環境変数ARCHAPPL_APPLIANCESが設定されていない場合、先に進むかどうか → Yesを答えると自動的に設定してくれる 365 248 * mysqlサーバに接続するためのmysqlコマンドに渡す引き数 → ここでは--user=archappl --password=archappl --database=archappl 366 249 * ポリシーファイル(policies.py)の所在 … … 375 258 ... 376 259 Setting TOMCAT_HOME to the mgmt webapp in /opt/archappl/mgmt 377 Setting TOMCAT_HOME to /opt/archappl/apache-tomcat- 8.5.16260 Setting TOMCAT_HOME to /opt/archappl/apache-tomcat-9.0.33 378 261 Calling deploy release with /opt/archappl/deployRelease.sh /home/epics/archappl/workspace 379 262 Deploying a new release from /home/epics/archappl/workspace onto /opt/archappl