投稿

2月, 2021の投稿を表示しています

Apache上のWordPressのアップロード上限サイズを変更

 久しぶりにapache環境の設定変更をしたときの覚書。 デフォルトのアップロードサイズ上限は2MB。 環境: CentOS 8.3.2011, Apache 2.4.37, PHP 7.3.20 apacheのバージョンとサービス状況を確認。 # apachectl -v # systemctl status httpd 設定ファイルを確認 # less /etc/httpd/conf.d/php.conf php-fpmを使っている。 phpのバージョン確認 # php --version php.iniの場所確認。現在のアップロード上限サイズ確認 # php -i | less # php -i | grep max phpの設定変更 # less /etc/php.ini memory_limit = 128M upload_max_filesize = 10M post_max_size = 12M php-fpmの再読み込み。 # systemctl reload php-fpm モジュール版PHPの場合はhttpdを再読み込み # systemctl reload httpd WordPressの管理画面でファイルをアップロードして確認。 できない場合はエラーログを確認 # less /var/log/httpd/error_log apacheの設定でLimitRequestBody制限がかかっている場合もある。 (デフォルトは0で制限なし) core - Apache HTTP サーバ バージョン 2.4 ウェブサーバー(Apache)の実行結果をコマンドラインで確認したい場合はcurlコマンドを使う。 # cd /var/www/html/ # vi phpinfo.php <?php phpinfo(); # curl http://localhost/ phpinfo .php | less # rm phpinfo.php 【関連記事】 ファイルをアップロードするためのapacheとphp.iniの設定

無料のファイル共有サービスNextcloudをCentOS8にインストール

イメージ
Googleドライブ( Google Workspace のBusiness Starter)とOneDrive(Microsoft 365 family)ではアカウントなしのゲストユーザーが共有フォルダにファイルをアップロードできなかったので、お客様から簡単に大容量のファイルを 外部サービスを使わず 送ってもらう方法を考えたときの覚書。 ちなみにfirestorageのアップロードスペースを使えばアカウントなしで簡単にできる。 容量無制限の無料オンラインストレージ firestorage 1.Nextcloudとは オープンソースのファイル共有サービスを自サーバーに構築できる。 Nextcloud Nextcloud - Wikipedia Nextcloud · GitHub DropboxやGoogle Driveのようなオンラインストレージを自サーバーで構築できる。 PHPとJavaScriptで作られているのでカスタマイズも出来そう。 デスクトップアプリやAndroidアプリ、iOSアプリも配布している。 ライセンスはGPL。 開発も活発的に行われているので今後も期待できる。 2.CentOS8にインストール 公式サイトのドキュメントが十分に詳しい。 Example installation on CentOS 8 | Nextcloud latest Administration Manual latest documentation 環境: CentOS Stream 8, nginx 1.16.1, PHP 7.4.6 必要なツールをインストール。 # dnf install -y epel-release yum-utils unzip curl wget bash-completion policycoreutils-python-utils mlocate bzip2 nginx, php, mariadbはインストール済み。 PHPの必要なモジュールをインストール。 # dnf install -y php php-gd php-mbstring php-intl php-pecl-apcu php-mysqlnd php-opcache php-json php-zip RedisとImagemagickを使うためのモジュールをインストール

CentOS8でdnf updateしたらnpmがエラー

 CentOS8の環境でdnf updateしたらnpmのインストールで失敗する。 環境: CentOS8, nodejs v12.19.1 # dnf update Failed:   npm-1:6.14.8-1.12.19.1.1.module_el8.3.0+610+8a0c1add.x86_64 Error: Transaction failed clean allを試しても失敗。 # dnf clean all # dnf update npmを実行すると 下記エラー # npm internal/modules/cjs/loader.js:834   throw err;   ^ Error: Cannot find module '../lib/utils/unsupported.js' Require stack: - /usr/lib/node_modules/npm/bin/npm-cli.js     at Function.Module._resolveFilename (internal/modules/cjs/loader.js:831:15)     at Function.Module._load (internal/modules/cjs/loader.js:687:27)     at Module.require (internal/modules/cjs/loader.js:903:19)     at require (internal/modules/cjs/helpers.js:74:18)     at /usr/lib/node_modules/npm/bin/npm-cli.js:19:21     at Object.<anonymous> (/usr/lib/node_modules/npm/bin/npm-cli.js:155:3)     at Module._compile (internal/modules/cjs/loader.js:1015:30)     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)     at Module.load (internal/modul

font-display: swapでWebフォントの読み込み設定

web.devのLighthouse でサイトのパフォーマンスを計測したときにfont-displayを使えと教えてくれたので調査したときの覚書。 font-displayはブラウザがフォントを表示するまでの動作を指定。 IE以外は主要ブラウザで対応済み。 font-display - CSS: カスケーディングスタイルシート | MDN Webフォントの場合は「displya:swap;」にして、読み込みをブロックしないように設定した方がいい。 Ensure text remains visible during webfont load | web.dev 【関連記事】 rel="preload"でWebフォント(@font-face)を先読み

FreePBX + Twilioで外線電話を着信(調査編)

クラウドのVPSにFreePBXをインストールしてTwilioと連携して外線電話を着信できるようにしようと調査したときの覚書。 環境: FreePBX 2011-5(December 2020), Asterisk 16.15.1 Twilioの公式ページにマニュアルがあるのでその通りにやれば出来そう。 Elastic SIP Trunking Configuration Guides - Twilio Twilioで電話番号を購入するには本人認証が必要。 TwilioでBundles(本人認証)の設定を行う(法人編) - Qiita 提出後、承認されるまで3営業日かかるらしい。 何となく出来ることは分かった。 【関連記事】 さくらのVPS上でFreePBX(CentOS7 + Asterisk16)をインストールして調査 UbuntuにAsteriskをインストールしてスマホで内線接続

さくらのVPS上でFreePBX(CentOS7 + Asterisk16)をインストールして調査

自作クラウドPBXで内線環境を構築しようと調査しているときの覚書。 環境: FreePBX 2011-5(December 2020), Asterisk 16.15.1 いろいろ試した結果、さくらのVPSにFreePBXをインストールするのが一番管理しやすい。 インストール方法は下記を参考に。 ISOイメージインストール | さくらの VPS ドキュメント FreePBX Distro(CentOS7 + Asterisk16)をインストール インストール後はSSHでAsterisk CLIを起動しておくと何が起こっているか分かりやすい。 詳細モードでAsterisk CLIを起動 # asterisk -rvvvvv スマホアプリは Zoiper を使う。 IAX2に対応したアプリが他になさそう。 その他分かったこと。 IAXのアカウントではビデオ通話できない (Zoiperの問題?)。 SIPだとビデオ通話のメニューは出てくる。Wi-Fiの環境だと表示されない (NATの設定で対応できそう) Zoiperの「Send message」で送ると電話が掛かってSMSできない。 (FreePBXの設定が分からない) 頑張れば自作クラウドPBXが実現できそう。 FreePBXがさらに進化することを期待。 一応Twilio連携を試してみる予定。 【関連記事】 AsteriskでIAX2内線を追加 UbuntuにAsteriskをインストールしてスマホで内線接続 FreePBX管理ページのメニュー概要【設定編】

【Ubuntu】Asteriskのファイアーウォール設定

 さくらのVPSに設定したAsteriskサーバーのファイアーウォール設定をしたときの覚書。 環境: Ubuntu 20.04.2, Asterisk 16.2.1 参考サイト Asterisk SIP セキュリティ - VoIP-Info.jp 前の記事 でIAXしか使わないことにした。 まずはデフォルトのポート4569/udpからずらす。 個人的には日付を元に決めている(変にこだわらい方がいい)。 # vi iax_general.conf bindport=14569 Asterisk再起動 # systemctl restart asterisk 他のサーバーからポートが空いているかチェック # nmap -sU -p14569 hoge.co.jp PORT     STATE         SERVICE 14569/udp open|filtered unknown ufwに設定追加 # ufw allow 14569/udp 有効にして確認 # ufw enable # ufw status verbose さくらのVPSのコンソール画面からパケットフィルタも設定しておく。 もう一度他のサーバーからポートスキャン。 # nmap -sU -p14569 hoge.co.jp 【関連記事】 AsteriskでIAX2内線を追加 UbuntuにAsteriskをインストールしてスマホで内線接続 Ubuntu 20.04のVPS初期設定

AsteriskでIAX2内線を追加

 SIPを使うよりIAXというプロトコルの方が通話品質がいいらしいので設定したときの覚書。 環境: Ubuntu 20.04, Asterisk 16.2.1 FreePBXが日本語で分かりやすいので、FreePBXをローカル環境に構築してFreePBXの管理画面で設定後の/etc/asterisk/を参考するのが分かりやすい。 後で気づいたけど、さくらのVPSにはISOからインストールする機能があった。 参考サイト FreePBX Distro(CentOS7 + Asterisk16)をインストール Asterisk サンプル設定ファイル iax.conf - VoIP-Info.jp FreePBXの管理画面で アプリケーション → 内線 → IAX2内線タブ で新規追加する。 そうすると/etc/asterisk/iax_additional.confに反映される。 これを参考にVPS上のAsteriskに設定。 元ファイルをバックアップして作業する。 # mv iax.conf iax.conf.sample # vi iax.conf [general] #include iax_general.conf #include iax_additional.conf # vi iax_general.conf # vi iax_additional.conf 再起動 # systemctl restart asterisk スマホのZoiPerアプリのIAXアカウントを追加して繋いでみる。 Asteriskは詳細モードで状況確認しながら。 # asterisk -rvvvvv 無事PJSIPで登録した端末と通話できた。 ダイヤルするにはextensions.confに追記が必要。 登録と管理が楽なので全部IAX内線にしようと思う。 SIPのポートは閉じる。 ただIAX対応しているAndroid, iPhoneアプリが少ない。 ざっと探した感じZoiperだけ。 気付いた事 スマホでビデオ通話が出来ない。ZoiPerが対応していないせい? 【関連記事】 UbuntuにAsteriskをインストールしてスマホで内線接続 FreePBX Distro(CentOS7 + Asterisk16)をインストール VoIPプロトコルIAX(Inter-Asterisk

UbuntuにAsteriskをインストールしてスマホで内線接続

クラウドのVPS上にAsteriskをインストールしたときの覚書。 Twilioの設定は次回予定。 環境: ubuntu 20.4, Asterisk 16.2.1 参考サイト Asterisk17 + Twilioで公衆電話回線網と接続し発信・着信できるようにする - Qiita もうハマらない!Twilio × Asteriskで普通の外線電話を作る - Qiita 1.Ubuntuのインストール 別記事にした。 Ubuntu 20.04の初期設定 2. Asteriskのインストール asteriskパッケージの検索して確認 # apt search asterisk # apt show asterisk インストール実行 # apt-get install asterisk 設定ファイル確認 # cd /etc/asterisk/ # ls よく分からないので後回し。 サービス一覧 # systemctl list-unit-files --type=service asteriskが追加されている。 # systemctl status asterisk 3.設定の確認 参考サイト Connecting to the Asterisk CLI - Asterisk Project - Asterisk Project Wiki rootになって作業する $ sudo su - 全体設定の確認 # asterisk -rx "core show settings" モジュールの一覧 # asterisk -rx "module show" chan_pjsip.soが有効になっている。 PJSIPはSIPなどの通信プロトコルに対応しているマルチメディアコミュニケーションライブラリ( 公式サイト )。 SIPクライアントアプリケーションを作るためのAPIを提供している。 Asterisk16からはSIPチャンネルドライバーとしてpjsipがデフォルトで使われている。 4.SIPの設定(pjsip.conf) 参考サイト Asterisk pjsip - VoIP-Info.jp Hello World - Asterisk Project - Asterisk Project Wiki Asterisk 16 Conf

Ubuntu 20.04のVPS初期設定

 久しぶりにUbuntuを設定したときの覚書。 環境: さくらのVPS, Ubuntu 20.04.2 SSHで接続するための公開鍵は管理コンソールで登録済み。 rootになって作業する # sudo su - パッケージを最新にする # apt update # apt upgrade ubuntuのバージョン確認 # less /etc/os-release 1.ホスト名変更 CentOSと同じ # hostnamectl set-hostname hoge.dksg.co.jp # hostnamectl status 2.ファイヤーウォール設定 ubuntuのファイヤーウォールはufw(Uncomplicated Firewall) UFW - Community Help Wiki 現状を確認 # systemctl status ufw # ufw status Status: inactive アプリケーション一覧 # ufw app list OpenSSHを許可する # ufw allow OpenSSH 有効にする(OpenSSHを許可する前に有効にするとSSHが切断されるので注意) # ufw enable 詳細モードで確認 # ufw status verbose その他は上記公式サイトかmanコマンドで確認 # man ufw 【関連記事】 CentOS8の最小構成をインストール カゴヤ・クラウドVPS(CentOS)の初期設定 Ubuntuだけ外から接続できない(routeとNameServerの設定)

Nginxで特定のIPアドレスからのアクセスを拒否

大量のお問い合わせメールが届いたので対処したときの覚書。 環境: nginx 1.18.0, WordPress 5.6.1 ちゃんとWordPressのnonceを使っていても突破される。 他にも大量のアクセスがあるのでIPアドレスごと拒否することにした。 ちなみにアクセス元IPアドレスは「185.153.199.66」 怪しいIPアドレスは下記サイトでチェック。 AbuseIPDB - IP address abuse reports - Making the Internet safer, one IP at a time Nginxの共通設定ファイルに下記のように記述。 # # Black List # deny 185.153.199.66; allowはいらない。 確認して再読み込み。 # nginx -t # systemctl reload nginx nonceを突破されるのは痛い。 独自のチェック方法を導入した方がいいかもしれない。 参考になったサイト nginxで遮断IPアドレス一覧を外部ファイルで管理する 【関連記事】 CentOS8 + Nginx + PHP + MariaDB + Node.js + Certbotの環境を構築する手順まとめ WordPressのnonceの有効期限

Googleしごと検索のJSON-LD生成ツールサイト

 Google検索したときに求人情報が表示されるGoogleしごと検索(Google for jobs)のまとめサイトを作った。 Googleしごと検索まとめサイト 一番の売りはJSON-LD生成ツールで簡単に埋め込みタグを生成できる。 WordPressのカスタムフィールドを使って、(追加プラグインなしで)既存のサイトにも応用できると思う。 まだGoogleに求人情報を表示できること自体知らない人が多いから、これから認知されてくると思う。 【関連記事】 Googleしごと検索の採用情報がインデックス登録されたか確認 Googleしごと検索について調査

通話を録音したい(Android)

 新しくAndroid端末を買って通話録音アプリをインストールしたら相手の音声が録音されてないので調査したときの覚書。 環境: ASUS ZenFone Max (M2), Android 9 Android 9からは通話録音部分で変更があったらしく、アプリで通話録音できない報告が頻発しているらしい。 端末によっては、Googleの純正通話アプリで自動録音の機能があるらしい。 ZenFone Max M2にはない。 工場出荷状態にリセットしてみたがAndroid9のまま。 (Android9にしなければよかった。。。) 試したアプリ 通話レコーダー(Appliqato): 自分の声のみ。相手の声が録音できない。 通話レコーダー(MobileIdea Studio):インストール後に「この機種では録音できない」と表示される。 仕事で使っていると通話録音は欲しい機能。 実際、録音しておいて助かったことがある。 今回は前使っていたZenFone Live(Android 8.0.0)に戻した。 開発者向けオプションを有効にして、「自動システムアップデート」を無効にしておく。 デバイスの開発者向けオプションを設定する 安い端末で気づけたのはよかった。 【関連記事】 スマホでAsterisk16に接続して内線テスト