カテゴリー
Linux

Dockerfile を書かないで docker-compose.yml だけで Node.js 開発環境を用意する方法

はじめに

ちょっとお試しで Vue Material Design Component Framework — Vuetify.js に入門したいと思いました。

この時、 Docker を使って開発環境を用意しようと思いましたけれども、最初は Dockerfile を使ってあれこれチューニングすることなく、シンプルに始めたかったのです。

そのために少し調べるような手間が発生しましたので、今後のためにメモしておきます。

カテゴリー
Linux

Docker イメージ php:7.4.5-apache で Apache の他に cron も動かす方法

はじめに

oki2a24/sample_dockerized_laravel6: Laravel6 を Docker 化するサンプルです。 にて Laravel を Docker コンテナ化しました。

Apache 入りの PHP コンテナで Laravel を動かしています。この Laravel で タスクスケジュール 6.x Laravel も行いたいと思いました。

cron を動かせば簡単です。

しかし、 コンテナではすでに Apache のプロセスが動いており、ここに cron を足せません。

これを、なんとかしたのが本投稿となります。

カテゴリー
WordPress

WordPress サイトヘルス “オプションのモジュール intl がインストールされていないか、無効化されています。” を解決できなかった <= 後日確認で解決されていた♪

WordPress サイトヘルスのエラー内容

1つ以上の推奨モジュールが存在しません パフォーマンス PHP モジュールはサイトの稼働に必要なほとんどのタスクをサーバー上で実行します。変更はサーバー管理者が実施する必要があります。

WordPress ホスティングチームでは、こうした推奨されていたり必須とされていたりするモジュールのリストをチームのハンドブック (新しいタブで開く)でメンテナンスしています。

警告 オプションのモジュール intl がインストールされていないか、無効化されています。

カテゴリー
Google

Google Adsense のためにサイト用の ads.txt ファイルを作成、設置、確認した

まとめ

  1. Google Adsense からのメールを確認し、 Adsense ページから ads.txt をダウンロードした。
  2. サイトのルートディレクトリに配置した。 /src/wordpress/ads.txt
  3. Nginx 設定を編集し、 https://oki2a24.com/ads.txt へのアクセスはログが残らないようにした。そして、 sudo nginx -s reload で変更を反映した。
  4. SELinux 設定をし、 PHP に実行やファイルの読み書き権限を与えた。
    sudo semanage fcontext -a -t httpd_sys_content_t '/srv/wordpress(/.*)?'
    sudo semanage fcontext -a -t httpd_sys_rw_content_t '/srv/wordpress/wp-content(/.*)?'
    sudo restorecon -RF /srv/wordpress/
    ls -Z -a /srv/wordpress/
    
  5. https://oki2a24.com/ads.txt へアクセスし、内容が表示されることを確認した。
カテゴリー
Linux

Debian の Apache のサイト設定変更は、ファイル編集ではなく a2dissite, a2ensite を使うようにする

まとめ

  1. /etc/apache2/sites-available/001-my.conf などのファイルを用意して配置する。
  2. a2dissite 000-default でデフォルトの設定ファイルを無効にする。
  3. a2ensite 001-my で用意した設定ファイルを有効にする。
カテゴリー
Linux

linux grep でカレントディレクトリ以下を検索する方法メモ

コマンド

  • grep rn PATTERNS *
  • r: 再起的に検索
  • n: 行数を表示
カテゴリー
Linux

Debian ベースの Docker コンテナの中で日本語を使えるようにするまで

はじめに

CLI で日本語を打とうとしたら、できませんでした。全角で日本語を打てるのですけれども、変換、確定するときに消えてしまいました。 vim をインストールし、そこで日本語を入力してみようとしてみましたが、やはりダメでした。別の文字へと変換されてしまったのです。例えば "あいう" => "~A~B~A~D~A~F" となってしまいました。

結論

  • コンテナ内の CLI ではやはり日本語を使用できていない。
  • コンテナ内の次の環境での結果
    • PHP の REPL (php -a): 日本語を使用できた。
    • MySQL クライアント (mysql -u root -p ...): 日本語を使用できた。
    • Vim: 日本語を使用できた。

Debian

apt-get update && apt-get install -y locales
sed -i -E 's/# (ja_JP.UTF-8)/\1/' /etc/locale.gen
locale-gen
export LANG=ja_JP.UTF-8

MySQL や PHP など debian:buster-slim ベースのイメージの Dockerfile に書く場合

RUN apt-get update && apt-get install -y \
  locales \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists/*
RUN sed -i -E 's/# (ja_JP.UTF-8)/\1/' /etc/locale.gen \
  && locale-gen
ENV LANG ja_JP.UTF-8
カテゴリー
Linux

Laravel 6 と 7 の差分を見る

GitHub にホストした版の差分

確認の仕方

  1. Laravel 6 をインストールする。
  2. Laravel 6 を git 管理する。
  3. .git/ 以外全部削除する。
  4. Larvel 7 をインストールする。
  5. 差分を確認する。
カテゴリー
Linux

Laravel 6 で今データベース接続がどうなっているか簡単に確認する方法

まとめ

php artisan tinker
DB::connection()->getConfig();
DB::connection()->getPdo();

接続名も例えば DB::connection('foo')->getConfig(); のようにして指定可能です。

カテゴリー
Linux

Laracel 6 で、 `.env` ファイルの名前を変えて運用する方法 2 (補足)

まとめ

  • 前回 、 "Composer コンテナに環境変数を設定するほうが筋が良いかもしれない" とコメントしたが、実際にできたのでメモ
  • composer.jsonphp artisan コマンドに、 --env=laravel といったオプションが不要になる。
  • 開発時は運用時は、 --env=laravel オプションを付けなくとも (.env.laravel を読み込むように環境変数 APP_ENV に laravel を付けることで) php artisan コマンドを使えるようにするので、こちらの方が統一されており、望ましいと言える。
  • feat: Laravel の使用する .env ファイル名を変更する by oki2a24 · Pull Request #7 · oki2a24/sample_dockerized_laravel6