PC設定覚書と雑記
移行先の新サーバーは順調に動いているように見えます。
旧サーバーの、Let’s Encrypt で取得した「SSL/TLSサーバ証明書」ですが、
これも新サーバーに持ってこなければいけないと思い、調べてはありました。
でも、Webサイトがやっと動いたのを確認してホッとして気が抜けていたんだと思います。
今、サーバーマシンの置き場とは別の所に居るので、すぐに確認して手を加えることが出来ません・・・
証明書の期限が切れる前に作業しなければ!!
うっかりしていたんですが、myサーバーのOS、Debian9は6月にサポート終了となっていました!
大急ぎで新OSの環境を作って、そこに現アプリケーションを移行させなければなりません。
数日悩んだんですが、今後もスピーディーに確実に作業できる方法にしたいと考えていました。
そこで、まずは、旧サーバーからのデータの移動をLAN上でやることから始めました。
旧サーバーはギリギリまで止めたくないので、
旧サーバーが動いている状態で、まずは大部分のファイルをコピーしておくことにしました。
そして、変更や追加があったファイルだけを最終的にコピーする方法を選びました。
Rsyncコマンドを使ったんですが、この操作が上手くいくまでに2日費やしました。
こんな感じで、この後もハマりまくったんですが、
深夜3時、4時の日が続き、昨日は久々の徹夜になってしまいました。
ということで、続きは明日以降記録したいと思います。
.envファイル設定の
# migration option (Common)
MIGRATION_JOB_MONITOR=true
MIGRATION_JOB_LOG=true
MIGRATION_CONFIG_PATH=C:\connect-cms\_migration_config\migration_config_nc3.ini
中の、
PATH=C:\connect-cms\_migration_config\migration_config_nc3.ini
の記述で引っかかっていたんですが、
考えてみると、
webサイトはWAN上にあり、このサイトを動かしているwebサーバーに対するコマンド操作は、
SSHを使ったリモートアクセスによっていると思います。
このSSHコンソールは、手もとのクライアントにあり、
クライアントは一般的にはWindowsが多いと思われます。
また、移行準備の際に生成されるconfigファイル、サイト内のコンテンツ等の沢山のファイルも一時的な保管場所が必要になります。
この一時的な保管場所は、WAN上のサーバー内ではなく、手もとのクライアント内にしてある、ということではないでしょうか?
ということで、
export した際に、storage\app\migration\import 以下にデータが作成される。
という記述も確認出来ました。
このパスも、クライアントのWindows上だと思われます。
以上のことより、このNC3からConnect-CMSへの移行手順は、
クライアントのWindows上のSSHターミナル(Teraterm等の)で操作をする前提で書いてあるのではないか?
現時点ではこのように考えています。
ちょっと自信はないのですが・・・
現NC3サイトをConnect-CMSへ移行しなければなりませんが、移行の猶予はまだ1年あります。
Connect-CMSの試験installは何とか出来て、
また、Connect-CMSサイトのバックアップ、リストアの方法も教えていただきました!
そして、Netcommonsサイトの移行方法について勉強中です。
https://github.com/opensource-workshop/connect-cms/wiki/Migration-from-NC3
に記載の、
.envファイル
# migration option (Common)
MIGRATION_JOB_MONITOR=true
MIGRATION_JOB_LOG=true
MIGRATION_CONFIG_PATH=C:\connect-cms\_migration_config\migration_config_nc3.ini
# migration option (NetCommons3)
NC3_DB_CONNECTION=mysql
NC3_DB_HOST=127.0.0.1
NC3_DB_PORT=3306
NC3_DB_DATABASE=xxxxxx
NC3_DB_USERNAME=xxxxxx
NC3_DB_PASSWORD=xxxxxx
NC3_DB_PREFIX=nc3_
NC3_EXPORT_UPLOADS_PATH=/path_to_nc3/app/Uploads/
NC3_APPLICATION_YML_PATH=/path_to_nc3/app/Config/application.yml
上記のように、.env に移行元のNC2 情報を設定する。
とあるのですが、ここで引っかかっています。
# migration option (Common)
中の
MIGRATION_CONFIG_PATH=C:\connect-cms\_migration_config\migration_config_nc3.ini
ですが、
MIGRATION_CONFIG_PATH= 以下の書き方は、Windows上での書き方?
これらの操作を全てLinuxサーバー上で行うのであれば、例えば、
MIGRATION_CONFIG_PATH= /var/www/test/connect-cms/migration_config/migration_config_nc3.ini
でいいんでしょうか?
また、試験installしたconnect-cmsディレクトリ中には、migration_configディレクトリはありませんでした・・・
ということは、migrationのコマンドを実行した時に、ディレクトリが作られる?
ここら辺のことは、試験的に実際にコマンドを動かしてみながら勉強した方が良さそうです。
それでも上手くはいかないでしょうから、その時点でメール質問しようと思っています。
※ MariaDBでデータベース作成は済ませておく。
①install ディレクトリ作成
# mkdir -p /var/www/test
②GitHubからソースをクローン、安定版へ切り替え
# cd /var/www/test
# git clone https://github.com/opensource-workshop/connect-cms.git
# cd /var/www/test/connect-cms
# git checkout $(git describe --tags --abbrev=0)
③composerをインストールし、利用ライブラリをダウンロード
# php -d allow_url_fopen=1 -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# php -r "if (hash_file('SHA384', 'composer-setup.php') === 'ハッシュ値は、https://getcomposer.org/download/を参照') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
# php -d allow_url_fopen=1 composer-setup.php
# php -r "unlink('composer-setup.php');"
# php -d allow_url_fopen=1 composer.phar install --no-dev
④apache conf設定
DocumentRoot /var/www/test/connect-cms/public
<Directory "/var/www/test/connect-cms/public">
AllowOverride All
Require all granted
</Directory>
⑤.envファイル作成(Laravel)
# cd /var/www/test/connect-cms/
# cp .env.example .env
⑥.envファイル編集
APP_NAME="Connect-CMS"
APP_ENV=production
APP_KEY= ←適当な文字列を入力、ダブルクオートで囲まない
APP_DEBUG=false
APP_URL=https://xxx.mydns.jp/ (DNS設定、ssl設定は済ませておく)
LOG_CHANNEL=daily
DB_CONNECTION=mysql
DB_HOST=127.0.0.1 ←localhostに変更
DB_PORT=3306
DB_DATABASE= ←DB名
DB_USERNAME= ←DBユーザ名
DB_PASSWORD= ←Dパスワード名
⑦アプリケーションキーの初期化
# php artisan key:generate
**************************************
* Application In Production! *
**************************************
Do you really wish to run this command? (yes/no) [no]:
> yes ← yes を入力
⑧DBマイグレーション
# php artisan migrate
**************************************
* Application In Production! *
**************************************
Do you really wish to run this command? (yes/no) [no]:
> yes ← yes を入力
⑨seederで初期データインポート
# php artisan db:seed
**************************************
* Application In Production! *
**************************************
Do you really wish to run this command? (yes/no) [no]:
> yes ← yes を入力
⑩ディレクトリパーミッション、他の設定
# cd /var/www/test/connect-cms/
# chown -R www-data:www-data storage
# chown -R www-data:www-data bootstrap/cache
# chown -R www-data:www-data vendor/tecnickcom/tcpdf/fonts
# chown -R www-data:www-data public/themes/Users
# chmod -R u+wr storage
# chmod -R u+wr bootstrap/cache
# chmod -R u+wr vendor/tecnickcom/tcpdf/fonts
# chmod -R u+wr public/themes/Users
⑪完成サイト初期アカウント
user:admin
pwd :C-admin
昨日、NetCommons3 の update 作業を行いましたが、
「NetCommons3 の配布は、2025年3月までで終了する」と発表されていることは以前書きました。
NetCommons3サイトは、
オープンソース・ワークショップ社の Connect-CMS サイトに移行出来そうなんです。
サーバーに Connect-CMS をインストールして、ここに現サイトの情報をインポートする流れです。
今、色々と情報を集めているところなんですが、
まずは自分の webサーバーに、試しに Connect-CMS をインストールしてみようと思っています。
git コマンドで github からソースをクローンし、
php ライブラリを composer でダウンロードしてくるように書かれていました。
これは自分には未経験の作業なので、不安と期待が入り混じった気分です!
3~4日くらいまとまった日にちが取れた時にやってみたいと思います!
NetCommons3.3.7 がリリースされました!
「重大なセキュリティバグの修正」を含むとアナウンスされていましたので、先ほどupdate作業を行いました。
今後、NetCommons3 の新バージョンは提供されなくなるということですので、これが最後の提供になってしまうかもしれません。
ともかく、今回の update もお世話になりました!
関係の方々に感謝申し上げたいと思います!
NetCommons3で作ったこのサイトをどうやって継続させたらいいのか?
悩んでまだ2日めですが、
OpenSource-WorkShop社の「Connect-CMS」という国産CMSが見つかりました!
この会社のエンジニアは、おそらくNetCommonsの開発、作成の中核にいらっしゃった方々じゃないかと思います!
NetCommonsの移行ツールも出来上がっているそうです!
期待できそうですね!!
実験用サーバーを作って、移行から試験してみたいと考えています!
仕事で使う職場のファイルは共有サーバーに保管してあるケースがほとんどだと思います。
Excelファイルにマクロが組み込まれていることがありますが、
送られてきたマクロ付きExcelファイルにウィルスが仕込まれることは珍しくありません。
このような経緯から、
MSOfficeの新ヴァージョンは、ネットワーク上のマクロ付きExcelファイルの動作に制限をかけるように変更されました。
さて、信頼のおけるファイルにまで制限がかかってしまうようになったのです!
これについての対応の1つですが、
ファイルの置き場を「信頼できるサイト」として登録します。
これは、Excelの設定ではなく、インターネットオプションのセキュリティの設定で行います。
「インターネットオプション」→「セキュリティ」と開く
「ローカルイントラネット」→「サイト」→「詳細設定」と開く
「このWebサイトをゾーンに追加する」らんにアドレスを入力する
例)file://sv2024.mount.ed.jp
「追加」をクリック → 「閉じる」をクリック
以上です。
DNSmasq の設定ファイルの更新、また /etc/hosts ファイルの更新を行ったあとの、
Dnsmasq サーバーの再起動は、以下のコマンド操作で上手くいきました。
# /etc/init.d/dnsmasq restart