Raspberry Pi 4 Model B インストール ケースオープン(側面) ケースオープン(斜め) ケース Raspberry Pi 2 Model A を持っていたのですが、古くなったので最新の Raspberry Pi 4 Model B を購入しました! 当初は基板の本体だけ買う予定だったのですが、売り切れてたのでベアボーンキットを購入しました。全部揃っているのは安心ですね。 備忘録程度にインストール手順を記載しておきます。 まず、自宅での使い方としては、Linux PCとして使う予定でいます。 WiFi内蔵なので、ネットワークは WiFi を使い、普段はsshでログインして利用するので Headless な Raspberry Pi OS Lite (約500MByte)を入れてみました。 X11入れてGUIでの操作はしません。メモリとSDCard, CPU のリソースは可能な限り、削減しながら楽しみたいと思っています。 まずはOSをインストールします。 Raspberry Pi Imager というツールでインストールするようです。 ウチの母艦は Windows 11 64bit なので Windows 64bit 版をダウンロードして起動しました。 ダウンロードしたインストーラでインストール後、起動すると以下が表示されます。 私は、CHOOSE OS -> Raspberry Pi OS (Other) -> Raspberry Pi OS Lite (32-bit) を選択しました。 あとは、インストールするSDCard(32GByte)をPCに差し込んで認識させて、CHOOSE STORAGE -> Mass Storage Device USB Device - 31.3GBを選択しました。 ボタンWRITEをクリックすると、以下の確認ダイアログが表示されるのでYESを選択します。 書き込みと検証が終わったら、SDCardを抜き、終了します。 引き続き、OSをインストールする場合は CONTINUEボタンで書き込めます。 SDCardを差し込み、電源ケーブルを指したら起動しました! なになに? 「rfkill で WiFi がブロックされているから raspi-config で country を設定しろ」 とな? 上記のメッセージを意識しつつ、各種設定をします。 まずは、パスワードをデフォルトから変更します。 アカウントは pi と root でいいかな。以下コマンドで変更しました。 その後、raspi-config コマンドを実行します。 起動直後表示 $ sudo passwd $ sudo passwd root $ sudo raspi-config まずは WiFi の設定をします。 次に、Locale を en_US.UTF-8 にします。 (多分、デフォルトだと思うのですが、私は日本語化しない派です。各自お好きなLocalにしてください) Timezone は Asia/Tokyo とします。 ウチは106日本語キーボードですので、以下のように設定します。 WiFiのチャンネル設定の country を JP とします。 全ての設定を終え、終了すると再起動を促されるので再起動します。 再起動後にログインして、ネットワークを確認します。 以下のコマンドで確認します。 $ sudo ifconfig うむうむ!IPアドレスが振られてるので、使えそうですね。 さっそく、apt を使ったら、最新パッケージに更新できました! $ sudo apt update $ sudo apt upgrade ひとまず、インストール完了しました。 調べてみると、SDCardを長持ちさせるための設定等があるようなので、後日調べてやってみたいと思います。 それと、何かプログラムを動かすときは、Docker で運用する予定なので、Dockerのインストールも記事にできたらと考えています。
Azure App Service(Node Stack) に Webサービス(NestJS)をデプロイする方法 最初に 趣味で作ったWebサービス(NestJS)をAzure App Serviceに無料で公開する方法を記載します。 まず、Azure公式ドキュメント「Azure で Node.js Web アプリを作成する」を参考に実施すると、素直に動作しました。 ですので、NestJS でも問題ないと思ってデプロイして、ブラウザで表示したら以下の エラー が表示されてしまいました。 代替手段の調査 うーん、困った…。 誰か解決してくれていないかと検索したら、Azure Functions にデプロイしている方と、Azure Web App for ContainersでDockerコンテナをデプロイしている方がいました。 Azure Functions の開発環境を NestJS で構築する方法 Node.js アプリを Azure App Service へ最適な形でデプロイする どちらの方法も要件がマッチしていれば使いたいところでしたが、、、 Azure Functions を利用する方法だと、無料でできそうだけどWebサービス内のメモリキャッシュは使えるか?疑問に感じたので控えることにしました。 Dockerコンテナを利用する方法だと、コンテナをデプロイするためには有償のAzure Container Registryが必要となるようなので断念しました。 解決手段 ソースを一部修正するのと、Azure App Serviceの設定を一か所追加することで解決できました。 以降に私が動作確認した手順を記載します。 NestJS初期化 NestJSを初期化するために、以下コマンドを実行します。 > npm i -g @nestjs/cli > nest new websrv 実行後、以下のようなwebsrvフォルダが作成されます。 +---websrv +---node_modules +---src \---main.ts \---test NestJSソース修正 src/main.tsを修正します。 # src/main.ts import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; async function bootstrap() { const app = await NestFactory.create(AppModule); // 元のソースコード // await app.listen(3000); // 追加したソースコード // Azure App Serviceはポート8080を利用する。 // ポート番号は環境変数 **PORT** で定義されているようなので、 // 環境変数PORTを優先して利用するように修正する。 const port = process.env.PORT || 3000; await app.listen(port); } bootstrap(); ビルド ソースの修正ができたら、ビルドします。 > npm run build Azure App Service作成 デプロイ先となる Azure App Service を作成します。 作成後、[構成]->[全般の設定]->[スタートアップコマンド]に node dist/main を設定します。 デプロイ VSCodeのプラグイン「Azure App Service for Visual Studio Code」を使ってデプロイします。 具体的な手順は、「Deploy to Azure (Azure へのデプロイ)」を参照してください。 動作確認 ブラウザでAzure App ServiceのURLを開くと成功しました!
xrea でのWordPress構築時に躓いたこと WordPressでブログを再開しようとしたところ、インストールに躓いたので残しておきます。 内容 Xrea – WordPressのインストール を参照して実行した後に、URLをブラウザで参照すると以下が表示されてしまいました。 Parse error: syntax error, unexpected ‘.’, expecting ‘&’ or T_VARIABLE in ****/wp-includes/functions.php on line 1094 原因 検索してみると「WordPress – サポート » インストール » エラーでWPにログインできません。」がヒットしました。 どうもphpのバージョンが古い?ようです。 うーん、xreaでphp74に変更したんだけどなぁ。 念のため、phpinfo()を起動して確認したところ、version 5.3でした!なぜ? <?php phpinfo(); ?> 対処 悩んだ末、何となく/public_html/.htaccess に記載しているphpの設定をコメントアウトすると解決しました! 過去の設定がゴミとして残っていて、悪さをしていたようです…orz ... AddHandler application/x-httpd-phpcgi .php ... 参考 WordPress – サポート » インストール » エラーでWPにログインできません。 Xrea – WordPressのインストール Xrea – 技術 | よくある質問