PC設定覚書と雑記

サーバー運用とPC日記

NetCommons3 update ver.3.3.7に

 NetCommons3.3.7 がリリースされました!

「重大なセキュリティバグの修正」を含むとアナウンスされていましたので、先ほどupdate作業を行いました。

今後、NetCommons3 の新バージョンは提供されなくなるということですので、これが最後の提供になってしまうかもしれません。

ともかく、今回の update もお世話になりました!

関係の方々に感謝申し上げたいと思います!

 

このサイトを Connect-CMS へ移行する前にやっておくべきこと

 昨日、NetCommons3 の update 作業を行いましたが、

「NetCommons3 の配布は、2025年3月までで終了する」と発表されていることは以前書きました。

NetCommons3サイトは、

オープンソース・ワークショップ社の Connect-CMS サイトに移行出来そうなんです。

サーバーに Connect-CMS をインストールして、ここに現サイトの情報をインポートする流れです。

今、色々と情報を集めているところなんですが、

まずは自分の webサーバーに、試しに Connect-CMS をインストールしてみようと思っています。

 

git コマンドで github からソースをクローンし、

php ライブラリを composer でダウンロードしてくるように書かれていました。

これは自分には未経験の作業なので、不安と期待が入り混じった気分です!

3~4日くらいまとまった日にちが取れた時にやってみたいと思います!

 

 

Debian に Connect-CMS をインストールしてみる

※ 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

 

現NC3サイトをConnect-CMSへ移行準備 勉強中(1)

 現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のコマンドを実行した時に、ディレクトリが作られる?

 

ここら辺のことは、試験的に実際にコマンドを動かしてみながら勉強した方が良さそうです。

それでも上手くはいかないでしょうから、その時点でメール質問しようと思っています。

 

現NC3サイトをConnect-CMSへ移行準備 勉強中(2)

 .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等の)で操作をする前提で書いてあるのではないか?

現時点ではこのように考えています。

ちょっと自信はないのですが・・・