投稿

4月, 2020の投稿を表示しています

CentOS7のYUMをDNFに変更

Python2系は2020年4月以降サポートされないということで、Python3系で動くDNFに変更したときの覚書。 環境: CentOS 7.8.2003 DNFはYUMの後継パッケージ管理システム。 Dandified YUM(ダンディファイド ヤム)の略。 DNF (ソフトウェア) - Wikipedia インストール # yum install dnf アップデート # dnf update YUMとコマンドはほとんど変わらない。 Python3をインストール。 # dnf install python3 YUMが動かなくなると困るのでphthon2は残しておく。 【関連記事】 CentOS8 + Nginx + PHP + MariaDB + Node.js + Certbotの環境を構築する手順まとめ CentOS7 + Nginx + PHP7 + MariaDB + Node.jsの環境を構築する手順まとめ

nvmをアンインストールしてNode.jsはyumで管理

最近はNode.jsの最新を追ったりすることがなくなったので、Node.jsをyumで管理する設定をしたときの覚書。 環境: CentOS 7.7 1.nvmをアンインストール .bashrcを編集。nvm関連の行を削除。 $ less .bashrc nvmフォルダを削除 $ rm -rf .nvm/ 2.NodeJSのYUMリポジトリ追加 公式にNodeSourceリポジトリが案内されている。 GitHub | distributions/README.md at master · nodesource/distributions インストール # curl -sL https://rpm.nodesource.com/setup_12.x | bash - 確認 # less /etc/yum.repos.d/nodesource-el7.repo # yum info nodejs インストール # yum install nodejs 【関連記事】 CentOS8 + Nginx + PHP + MariaDB + Node.js + Certbotの環境を構築する手順まとめ CentOS7 + Nginx + PHP7 + MariaDB + Node.jsの環境を構築する手順まとめ nginx + node.js + pm2でアプリ向けのREST API環境を構築

Windows10にDart Sassをインストール

scssファイルに見慣れない@use, @forwardが出てきたときの覚書。 Windows 10, PowerShell 6.2.3, dart-sass 1.26.3 @use, @forwardは最新のdart-cssで実装されたルール。 @importの問題を解消して、モジュール(コンポーネント)単位の開発をしやすくする。 Sass: @import インストールは公式サイトを参考に。 GitHub | sass/dart-sass: The reference implementation of Sass, written in Dart. パッケージ管理は簡単そうな Scoop を使うことにした。 Scoopをインストール > iwr -useb get.scoop.sh | iex Dart Sassをインストール > scoop install sass 確認 > sass --version アップデートする場合 > scoop update > scoop update sass インストールされた場所 C:\Users\Daiki\scoop\apps\sass インストール済み一覧 > scoop list ヘルプ表示 > scoop -h > sass -h 圧縮したcssで出力する場合 > sass --style=compressed path\to\input.scss path\to\output.css PHPStormのFile Watchersにセットして使っている。 node-sassと比較して体感速度は変わらない。 Bootstrap v4.4.1からDart Sassでもビルドできる。 【関連記事】 Bootstrap IconsのSVGアイコンを使う CSSフレームワーク「Foundation」

ファイヤーウォールを無効にしてwebpack-dev-serverのサンプルアプリへアクセス

仮想マシン上でやっているチュートリアルをlocalhost以外からアクセスできるようにしたときの覚書。 環境: CentOS 8.1.1911, Node.js v12.16.1, webpack-dev-server@2.11.5 Material Design Components for Webのチュートリアルをやっている。 Get started - Material Design GitHubで配布されているスターターアプリはlocalhostで動かす前提なので、仮想マシンで実行してWindowsで確認する場合はwebpack-dev-serverの設定を変更する必要がある。 (ちなみにWindowsでも動くので大人しくlocalhostで試した方が早い) まずはファイヤーウォールを停止。 # systemctl stop firewalld package.jsonを編集 公式ドキュメント:  DevServer | webpack $ cd /home/httpd/httpdocs/material-components-web-codelabs/mdc-101/starter/ $ less package.json   "scripts": {     "start": "webpack-dev-server --progress --host 0.0.0.0"   }, 実行 $ npm start ブラウザでアクセスするときはIPアドレスで。 NetBIOS名でアクセスできるようにしたかったけど、うまく動かなかった。 【関連記事】 CentOS8の最小構成をインストール

CentOS8の開発環境で自前認証局のSSL署名

前にCentOS7でやったことをCentOS8の環境でやろうとしたときの覚書。 環境: CentOS 8.1.1911, nginx 1.16.1, OpenSSL 1.1.1c CentOS8の環境だと「/etc/pki/tls/misc/CA」がない。 今ならcertbotでできるんじゃない?と公式ドキュメントを読むと「minica」というツールを使えとある。 Certificates for localhost -  Let's Encrypt - Free SSL/TLS Certificates GitHub | jsha/minica: minica is a small, simple CA intended for use in situations where the CA operator also operates each host where a certificate will be used. 1.MiniCAをインストール このツールはGo言語で動くのでGolangのインストールから。 # dnf install golang # go version go version go1.12.12 linux/amd64 $GOPATHを設定しない方法でインストール。 # cd /opt/software # git clone https://github.com/jsha/minica.git # cd minica # go build 実行してみる。 # ./minica --domains dev.hoge.jp 説明を見る # ./minica ルート証明書がminica.pem。 ドメイン名のディレクトリにサーバー証明書と秘密鍵がある。 検証する # openssl verify -CAfile minica.pem dev.hoge.jp/cert.pem 2.nginxに設定 作成したサーバー証明書と秘密鍵をnginxに設定。 参考:  NginxのSSL/TLS設定を見直す(2020年版) # cd /etc/nginx/conf.d/ # vi 01_hoge.conf server {     listen  ...

NginxのSSL/TLS設定を見直す(2020年版)

SSL設定を見直したときの覚書。 環境: CentOS 8.1, nginx 1.16.1, OpenSSL 1.1.1c 既にTLSv1とTLSv1.1は古く非推奨になっている。 ついにTLS 1.0/1.1の無効化が決定!影響や確認・対応方法とは? | さくらのSSL 各ブラウザの対応状況はWikipediaで。 Transport Layer Security - Wikipedia IEは11(最終版)のみTLS 1.2対応。 ちなみに某病院ホームページでは2020年3月時で0.37%のユーザーがIE10以下を使っている(ほとんどがIE9)。 ホームページ案件だと、この人たちがアクセスできなくなりクレームがくるかもしれないのが悩みどころ。 nginxのSSL設定例は下記サイトを参考に。 Mozilla SSL Configuration Generator nginxの設定confファイルはGistに置いてあるので参考にどうぞ。 Gist | Nginx Configuration Files for WordPress. Nginx is installed by YUM. @see:https://codex.wordpress.org/Nginx 【関連記事】 CentOS8 + Nginx + PHP + MariaDB + Node.js + Certbotの環境を構築する手順まとめ NginxのSSL/TLS設定を見直す(2019年版)

コストパフォーマンスがいいVPSを探す。回線速度を測定とベンチマーク。

新しくサーバーを借りるにあたり、今ならどこがいいか調査したときの覚書。 今まではKagoya VPS OpenVZを使っていた。 参考サイト KAGOYA CLOUD2 VPSの料金/評判/特徴/性能ベンチマーク WebArena Indigoの料金/特徴/評判/性能ベンチマーク VPS比較:回線速度が速い順ランキング これからは5G(第5世代移動通信システム)が当たり前になり、ネットワーク回線がボトルネックになると思う。 なので回線速度が圧倒的に速いWebArenaが有力候補。 実際に試してみて決める。 → ベンチマークとってみたら大したことなかった。CPUが古いのがダメだと思う。 回線速度を測定する方法 speedtest-cliが簡単便利。 GitHub | sivel/speedtest-cli: Command line interface for testing internet bandwidth using speedtest.net LinuxでもSpeedtestがしたい(speedtest-cli) - Qiita CentOS7はyum経由でインストール。 # yum install python2-speedtest-cli CentOS8はpip経由でインストール。 # pip3 install speedtest-cli 計測実行 # speedtest-cli 自身のIPアドレスから近くのサーバーを自動選択する。 比較する際は同じサーバーを指定した方がいいと思う。 (2021/04/03追記) ローカル仮想マシン上で下記エラー [root@vm-dev4 ~]# speedtest-cli Traceback (most recent call last):   File "/usr/bin/speedtest-cli", line 5, in <module>     from pkg_resources import load_entry_point ImportError: No module named pkg_resources 必要なモジュールがないのでインストールする。 # dnf install python-setuptools Apache Be...

NginxからPHP-FPMのアクセスをTCPからUnix Socketに変更

CentOS8をセットアップしている時にdnf経由でインストールすると、nginxからphp-fpmのアクセスがUnix Socketを使っていたので、CentOS7の環境でもやってみた。 環境: CentOS 7.7.1908,  nginx 1.16.1, PHP 7.3.17 PHP-FPMの設定変更 # less /etc/php-fpm.d/www.conf listen = /run/php-fpm/www.sock listen.owner = nginx listen.group = www listen.mode = 0660 nginxの設定変更 # less /etc/nginx/conf.d/global/fastcgi_php.conf fastcgi_pass unix:/run/php-fpm/www.sock; 再起動 # nginx -t # systemctl restart php-fpm # systemctl restart nginx ついでにnginxの設定に「tcp_nopush」を追加。 これもCentOS8でdnf installしたらデフォルトでonになっていたから。 # less /etc/nginx/nginx.conf     sendfile            on;     tcp_nopush          on;     tcp_nodelay         on;     keepalive_timeout   65;     types_hash_max_size 2048; tcp_nodelayはデフォルトでonだけれども一応書いておく。 全文はGistに置いてある。 Gist: Nginx Configuration Files for WordPress. Nginx is installed by YUM. @see:https://codex...

CentOS8 + Nginx + PHP + MariaDB + Node.js + Certbotの環境を構築する手順まとめ

CentOS8の開発環境をセットアップしているときの覚書。 環境: Mac mini(Mid 2010), VMware Fusion 8.5.10, CentOS 8.1 インストールまでは前の記事を参考に。 CentOS8の最小構成をインストール epelリポジトリをインストールしておく。 # dnf install epel-release 1.nginxのインストール nginxのモジュール一覧 # dnf module list nginx mainlineのバージョン確認 # dnf module info nginx:mainline 最新のStableをインストール # dnf module install nginx:1.16/common 起動、自動起動ON、確認 # systemctl start nginx # systemctl enable nginx # systemctl list-unit-files -t service | grep nginx CPU数の設定がautoになっているか確認 # less /etc/nginx/nginx.conf GitLabから共通設定をcloneしておく(プライベートリポジトリです)。 # cd /etc/nginx/conf.d/ # git clone git@gitlab.com:dksg-settings/nginx-global.git global nginx.confは前の記事のGistを参考に。 静的WordPress向けNginxのfastcgi_cache設定 ユーザーグループ「www」を追加。 # groupadd www # usermod -G www nginx 修正後、確認して反映させる。 # nginx -t # systemctl reload nginx 2.PHPのインストール phpのモジュール一覧 # dnf module list php php7.3をインストール # dnf module install php:7.3/common その他のPHPモジュールをインストール # dnf install php-mysqlnd php-gd 起...

CentOS8の最小構成をインストール

CentOS8を最小構成でインストールしたときの覚書。 環境: Mac mini(Mid 2010), VMware Fusion 8.5.10, CentOS 8.1 1.ダウンロード isoを直接ダウンロードすると時間がかかるので、 理化学研究所のミラーサイト から「CentOS-8.1.1911-x86_64-dvd1.torrent」をダウンロードしてきて、BitTorrentクライアントでisoファイルをダウンロードする。 2.インストール Mac上のVMware FUsionにインストールした。 Keyboard: Japanese, English(US) Language Support: English(United States), 日本語 Time & Date: Asia/Tokyo Software Selection: Minimal Install 仮想マシンの設定のNetwork Adapterを「Ethernet」を選択して、ネットワークを繋げてある。 Root Passwordを設定するときはキーボードをusに設定してから入力(使っているキーボードがUS配列だから) インストール完了後、再起動するときはマウントしたisoファイルを解除しておく。 とりあえずrootでログインして各種確認 yumはdnf(Dandified YUM)変わったけどコマンド自体はdnfコマンドに内部変換して使える。 # yum update CentOS7までは公式リポジトリに古いアプリケーションしかなく、最新のソフトを使うためには他のリポジトリを追加する必要があった。 それがCentOS8からはある程度新しいソフトウェアも公式で配布されるようになった。詳しくは下記。 CentOS 8のサポート期間の考え方は6や7とは異なります | そど RHEL 8/Fedora 28で導入されたModularity - 赤帽エンジニアブログ 例えばnginxは1.14系と1.16系が配布されている。 # dnf module list nginx どんなデーモンが起動しているか確認 # systemctl list-unit-files -t service IPアドレス確認 # ip a IPアドレスを確認したらteratermを使ってSSH経由で作業。 ...

git pull --theirs?ローカルの環境をリポジトリの最新に強制アップデート

masterに戻ってgit pullしたら最新になってくれなかった時の覚書。 環境: Windows 10, git 2.24.1  参考サイト git pull を強制し、リモートでローカルを上書きする方法 | WWWクリエイターズ リモートの最新を取得 $ git fetch origin master ローカルのmasterをリモート側に合わせる $ git reset --hard origin/master 邪魔なUntracked filesのファイルとディレクトリを削除する。 $ git clean -fd 【関連記事】 よく検索するGitコマンドの覚書。自分用 既存のディレクトリ(フォルダ)にgit cloneして上書きしたい