「ツールと設定」→「般設定」→「サーバ設定」へ移動し
「フルホスト名」で設定します。
service httpd status
Failed to start The Apache HTTP Server.
less /var/log/messages
例えば次のようなエラーがある場合
httpd: httpd: Syntax error on line 56 of /etc/httpd/conf/httpd.conf:
Syntax error on line 7 of /etc/httpd/conf.modules.d/00-proxy.conf:
Cannot load modules/mod_proxy_ajp.so into server:
/etc/httpd/modules/mod_proxy_ajp.so: undefined symbol: ap_proxy_check_connection
該当の設定ファイルを修正します。
service httpd status
service httpd start
Pleskの Mysql には rootユーザはそもそも存在しません。
admin ユーザで次のパスワードで接続します。
mysql -uadmin -p`cat /etc/psa/.psa.shadow`
sudo fail2ban-client status
jail 一覧が返ってくるのでこれを引数に指定して調べます
sudo fail2ban-client status recidive
結果例
Status for the jail: recidive
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/fail2ban.log
`- Actions
|- Currently banned: 6
|- Total banned: 8
`- Banned IP list: aaa.bbb.ccc.ddd
export N_PREFIX=/opt/plesk/node/14 && n 14
plesk sbin nodemng register /opt/plesk/node/14/bin/node
例
require("../build/output/log")
↓
require("./node_modules/next/dist/build/output/log")
require("next/dist/compiled/arg/index.js")
↓
require("./node_modules/next/dist/compiled/arg/index.js")
以上です。
あとはPleskから「アプリを起動」を実行します
リスタートは必要ないですが tmp/restart.txt を touch すれば、次回のアクセス時に自動更新されます。
touch /YOUR/APP/PATH/tmp/restart.txt
next.config.js
( NEXTJS_BUILD_DISTが設定してある場合はそのディレクトリをセット。 設定されてない場合はデフォルトの .next をセット )
module.exports = {
distDir: process.env.NEXTJS_BUILD_DIST ? process.env.NEXTJS_BUILD_DIST : '.next',
}
次のようなシェルスクリプトを用意しておいて, CI / CD から ssh で叩く。 と言うのがシンプルで良いかもしれません。
deploy.sh
(git pullして、ビルドします)
TARGET='/var/www/vhosts/YOUR/APP/PATH';
CURRENT=$(cd $(dirname $0);pwd)
if [ $CURRENT = $TARGET ]; then
echo "===== デプロイを行います ====="
echo "1. git pull します"
git pull origin master
echo ""
echo "2. npm run build します"
export NEXTJS_BUILD_DIST=.next__deploy
npm run build
echo ""
echo "3. .nextディレクトリへコピーします"
rm -rf .next
cp -r .next__deploy .next
export -n NEXTJS_BUILD_DIST
echo ""
echo "4. touch tmp/restart.txt します"
touch tmp/restart.txt
echo ""
echo "===== デプロイが完了しました ====="
else
echo "ディレクトリが違います"
echo $CURRENT
echo $TARGET
fi
yum update
を実行すると次のようなエラーとなる場合があります
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/x86_64/metalink | 9.7 kB 00:00:00
* base: d36uatko69830t.cloudfront.net
* epel: d2lzkl7pfhq30w.cloudfront.net
* extras: d36uatko69830t.cloudfront.net
* updates: d36uatko69830t.cloudfront.net
PLESK_17_PHP72 | 2.9 kB 00:00:00
PLESK_17_PHP73 | 2.9 kB 00:00:00
http://autoinstall.plesk.com/pool/PSA_18.0.24_2426/extras-rpm-CentOS-7-x86_64/repodata/repomd.xml: [Errno 14] HTTP Error 404 - Not Found
Trying other mirror.
To address this issue please refer to the below wiki article
sudo yum clean all
エラーが出ているファイルを検索する
cd /etc/yum.repos.d
grep extras-rpm-CentOS-7-x86_64 *.*
vi plesk.repo
enabled=0 にする
[PLESK_18_0_24-extras]
name=PLESK_18_0_24 extras
baseurl=http://autoinstall.plesk.com/pool/PSA_18.0.24_2426/extras-rpm-CentOS-7-x86_64/
enabled=0
gpgcheck=1
再度 update
yum update
「ウェブサイトとドメイン」 > 「対象となるドメイン」 > 「パスワード保護ディレクトリ」
から
「/plesk-stat」を選択
追加したい ID とパスワードを設定します
「ウェブサイトとドメイン」 > 「対象となるドメイン」 > 「ウェブ統計 SSL/TLS」
を実行して先ほど登録した ID とパスワードを入力して表示させます。
「拡張」から「Diskspace Usage Viewer」を検索してインストールします
インストール後に「ウェブサイトとドメイン」から調査したいドメインの「Pleskアプリ」に移動すると「ディスクスペース使用料」というメニューが追加されていますのでそれをクリックします。
ここからディレクトリ階層辿りながら各フォルダの容量をチェックすることができます。
「ApacheとNginxの設定」→ 「nginx 追加ディレクティブ」に
30日に設定する場合
location ~* \.(?:css|js|jpg|jpeg|gif|png|webp|ico|cur|gz|svg|svgz|mp4|mp3|ogg|ogv|webm|htc|woff2|woff)$ {
access_log off;
# 1 Month
expires 1M;
add_header Cache-Control "max-age=2629746, public";
}
365日に設定する場合
location ~* \.(?:css|js|jpg|jpeg|gif|png|webp|ico|cur|gz|svg|svgz|mp4|mp3|ogg|ogv|webm|htc|woff2|woff)$ {
access_log off;
# 365 Days
expires 365d;
add_header Cache-Control "max-age= 31536000, public";
}
なお、デフォルトでは 604800 = 168時間(=7日) が設定されています。
location ~ .*\.|jpg|gif|png|css|js) {
expires 7d;
}
Googleに聞いてみましょう
https://developers.google.com/speed/docs/insights/LeverageBrowserCaching
キャッシュ期間は少なくとも 1 週間、静的アセットや更新頻度の低いアセットについては最大で 1 年間とすることをおすすめします。
mysql -uadmin -p`sudo cat /etc/psa/.psa.shadow`
(注意)Pleskではデフォルトでnginxが有効になっていますのでgzip設定は nginx の設定で行います。
↓ (Plesk の nginx で gzipを有効にして高速化する)
https://pgmemo.tokyo/data/archives/1546.html
( 以下 Plesk で Apacheのみで使用している場合)
「ウェブサイトとドメイン」→(設定したいサイト)→「ホスティングとDNS」→「Apacheとnginxの設定」
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI\.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI _\.utxt$ no-gzip
</IfModule>
https://developers.google.com/speed/pagespeed/insights/?hl=JA
「ツールと設定」→「バックアップマネージャ」→「バックアップ設定」
から設定を行います。
● FTPで別サーバーへバックアップファイルを転送する
バックアップを利用したいのは運用中のサーバーが何らかの理由で破壊された時なので バックアップファイルは別サーバーへ転送して送っておくとリストア作業をすぐ行うことができます。
「ツールと設定」→「バックアップマネージャ」→「リモートストレージ設定」
から設定を行います。
https://support.plesk.com/hc/en-us/articles/115000180213
example.com の メールボックスを 250M に設定します。
plesk bin subscription_settings --update example.com -mbox_quota 250M
「拡張」メニューから「Site Import」で検索して「Site Import extension」をインストールします。
「ウェブサイトとドメイン」 → 「YOUR-HOST.COM」 → 「メールのインポート」
旧サーバ(Plesk) → 新サーバ(Plesk)間でSSL証明書を移行する。
「ウェブサイトとドメイン」→「YOUR-HOST.COM」→「SSL TLS 証明書」で表示される一覧画面からダウンロードボタンを押してダウンロードを行う
「ウェブサイトとドメイン」→「YOUR-HOST.COM」→「SSL TLS 証明書」から先ほどダウンロードした xxxxx.pem ファイルをアップロードする
以上です。
特定の IP アドレスから Plesk への管理アクセスを防ぐには:
1. [ツールと設定]>[IP アクセス制限の管理]に進みます。
2. [設定]をクリックし、[リストに含まれるネットワークを除き、アクセスを許可する]ラジオボタンをオンにして、[OK]をクリックします。
3. [ネットワークを追加]をクリックし、Plesk への管理アクセスをブロックすべき IP アドレスまたはアドレスを指定します。
個別 IP アドレス(たとえば 192.168.1.110)
4. IP アドレスのサブネット(たとえば 123.0.0.1/16 または 123.123.*.*)
[OK]をクリックします。
「ウェブサイトとドメイン」→「該当のドメイン」→「Apacheとnginxの設定」をクリック
「nginx 追加ディレクティブ」 に以下をペーストして「適用」する
gzip on;
gzip_disable "msie6";
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_comp_level 1;
gzip_proxied any;
gzip_vary on;
gzip_buffers 16 8k;
gzip_min_length 1024;
open_file_cache max=100000 inactive=20s;
open_file_cache_valid 30s;
open_file_cache_min_uses 2;
open_file_cache_errors on;
参考: http://bit.ly/32fkQkm
参考: http://bit.ly/32eRfYd
ブラウザで調査したいファイル( html , css , js )にアクセスします。 アクセスした時に返される http ヘッダーを見て
content-encoding : gzip
になっていれば OK です
または curl で
curl -I -H 'Accept-Encoding: gzip,deflate' https://your/file/path
でヘッダにgzipがあればokです。
Plesk の PHP は バージョンごとに /opt/plesk/php にあります
ls -l /opt/plesk/php
結果例(php 7.1, 7.2, 7.3 があります )
drwxr-xr-x 8 root root 4096 5月 31 11:32 7.1
drwxr-xr-x 8 root root 4096 5月 31 11:31 7.2
drwxr-xr-x 8 root root 4096 5月 31 11:32 7.3
例えば 7.3 の php を使用するには
/opt/plesk/php/7.3/bin/php --version
(バージョンが表示されます)
とします。
このパスを ホームディレクトリ直下の .bash_profile に 記述しましょう。
.bash_profile に以下の行を追加
export PATH=/opt/plesk/php/7.3/bin:$PATH
これで再度ログインすると php のバージョンが変更されています。
「ツールと設定」→「メールサーバ設定」の 「DKIM スパム防御」「送信メールの電子署名を許可する」にチェックをつけて「OK」する。
「ウェブサイトとドメイン」の「メール設定」の 「送信メールメッセージに電子署名するために DKIM スパム防御システムを使用」にチェックをつけて「OK」する。
完了するとPlesk は以下の 2 つのレコードをこのドメインの DNS ゾーンに追加します(example.com は適宜読み替えてください)。
「ウェブサイトとドメイン」の該当ドメインの「ホスティングとDNS」→「DNS設定」から確認することができます。
default._domainkey.example.com - 生成された鍵のパブリック部分が含まれます。
_ domainkey.example.com - DKIM ポリシーが含まれます。このポリシーは編集できます。
このうち
default._domainkey.example.com
の値をコピーしておきます。 (DNSサーバ設定に貼り付けます。)
SPFレコードと違って、ホスト名を必ず指定しましょう
ホスト名 (example.com)は適宜書き換えてください
default._domainkey.example.com.
名前 : default._domainkey
タイプ : TXT
値 : v=DKIM1; p=xxxxxxxxxxx................;
default._domainkey.example.com に対して digります。
example.com ではないのでご注意を。
dig default._domainkey.example.com txt
v=DKIM1; p=MIGfMA0GCSqGSIb3DQ..............................................
のようなレコードが帰って来れば成功です。
dkim=temperror (no key for signature) の場合
DNSの設定がおかしいので 公開鍵が正しく読み込めていないエラーです。 DNSの設定を見直しましょう。
DNSのDMARCレコードが設定されていないと、メールヘッダに
dmarc=bestguesspass
と表示されてしまいます。
新規に作成します。
v=DMARC1; p=none; pct=100; rua=mailto:集計レポート送信先; ruf=mailto:認証失敗レポート送信先
ホスト名 _dmarc は固定です。 ( example.com. )は適宜書き換えてください。
ホスト名 | レコード | 設定文字列 |
---|---|---|
_dmarc.example.com. | TXT | v=DMARC1; p=none; pct=100; rua=mailto:集計レポート送信先; ruf=mailto:認証失敗レポート送信先 |
参考 : http://bit.ly/2GvsT2r
http://bit.ly/2GrHlZ8
https://bit.ly/2ZiTWXj
「ツールと設定」→「サービス管理」
から複数のPHPが使用できる状態にあるかどうか確認する。
サービスが構成されていません と表示されている場合は パッケージのアップデートを行います。
「ウェブサイトとドメイン」→「変更したいドメイン」→「PHP設定」
から変更したいバージョンのPHPを選択する。
Pleskで管理しているサイトのPHPにpecl拡張「mailparse」をインストールし、WEB側、CLI側両方から使えるようにします。
php -v
PHP 5.4.16 (cli) (built: Mar 7 2018 13:34:47)
PHP 5.4.16 であることがわかります。これを5.6に変更します。
ls /opt/plesk/php/
こちらの3つであることがわかります。
5.6 7.0 7.1
今回は PHP 5.6を使用します。
cd
vi .bash_profile
.bash_profile の一番下にこれを追加します
# PHP Version 5.6
PATH=/opt/plesk/php/5.6/bin/:$PATH
一度ログアウトして、再度ログイン後にphpバージョンを確認。
php56-php-pecl-mailparse をインストールします
yum install -y php56-php-pecl-mailparse
ファイル名を z_mailparse.ini としているのは一番後ろ( mbstring より後ろ)に読み込ませるためです
vi /opt/plesk/php/5.6/etc/php.d/z_mailparse.ini
z_mailparse.ini を ↓ の内容で保存
; Enable mailparse extension module
extension=/opt/remi/php56/root/usr/lib64/php/modules/mailparse.so
ホームディレクトリの中に my_composer を作ってそこへインストールするします
cd
mkdir my_composer
curl -sS https://getcomposer.org/installer | php
.bash_profile の一番下にこれを追加します
# composer
alias composer='/opt/plesk/php/5.6/bin/php ~/my_composer/composer.phar '
composer require php-mime-mail-parser/php-mime-mail-parser
Pleskで管理しているサーバー で定期的に時刻同期を行うには Plesk 管理画面から
【ツールと設定】>【システム時間】 メニューを選択。
1.「タイムゾーン」を「GMT +0900 Asia / Tokyo」にセットする
2.「システム時間を同期する」にチェックを付ける
3.「ドメイン名もしくはIP」のところにntpサーバ名を入力
例
ntp.jst.mfeed.ad.jp
以上でOKです。