投稿者: Despina

  • Zabbixのメモリ使用率の警告閾値の設定場所

    ZabbixでホストPCのメモリ使用率が90%を超えているアラートが飛びまくってウザい。ホスト側で90%メモリ超えてるのって割とあると思ってるので変更したい。

    メモリ使用率の閾値は{$MEMORY.UTIL.MAX}というマクロ変数に入っているらしく、これの変更方法は👇ここ

    【入門】Zabbix エージェントを Linux へインストール/セットアップ | SEの道標 (nesuke.com)

    テンプレートの中の「マクロ」の項目でいじれる

  • DBのバックアップ MySQL&Win IIS FTP&cron(めんどくさ方式)

    👇の記事の2番、SQLサーバのDBのバックアップ

    バックアップの検討 – DESPINA.WORK

    前回のWebサーバのコンテンツバックアップではWindows側でファイルを持ってきていた(Windowsがgetする方式)。

    前回記事:バックアップの設定 FTP&cron&タスクスケジューラ – DESPINA.WORK

    今回はLinux側からWindowsのFTPサーバへputする方式。理由はSQLサーバにFTPサーバとか入れてないから。(前回はWebサーバだったので管理用にvsftpd入れてた)

    1.MySQLのバックアップを吐き出す

    ファイル名:sqlbk.sh

    mysqldump -u ユーザ名 -p'パスワード' データベース名1 > データベース1.bak
    mysqldump -u ユーザ名 -p'パスワード' データベース名2 > データベース2.bak
    mysqldump -u ユーザ名 -p'パスワード' データベース名3 > データベース3.bak

    ※パスワードに記号がある場合はシングルクォーテーションで囲む必要がある。詰まった。あとこのやり方はパスワードがCLIに流れるので脆弱。

    2.FTPサーバ(IIS)側の設定

    適当にポチポチして設定する👇

    参考サイト:開発・検証用のFTPサーバ(IIS)を構築 – NDW (nextdoorwith.info)

    3.FTPクライアント側(Ubuntu)

    ファイル名:ftp1.sh

    ftp -n < /home/useraaa/ftp2

    ファイル名:ftp2

    open xx.xx.xx.xx
    user ユーザ名 パス
    prompt
    passive
    bin
    lcd /home/useraaa/
    mput *.bak
    quit

    ※自分のubuntuではアクティブモードが初期となっていて、ログインはできるのに正常に転送できなかったのでpassiveモードをオン。ここでも詰まった。

    3.cron

    テキトウに2行設定する。

    コマンド: crontab -e

    20 4 * * * sh /home/useraaa/sqlbk.sh
    22 4 * * * sh /home/useraaa/ftp1.sh
    crontab -l
    service cron start
    service cron status

    WindowsのIIS&FTPサーバ、Linux(FTPクライアント)の組み合わせはめんどくさそうと思ってたし、案の定めんどくさかった。WindowsのFWが分かりにく過ぎ。あとFTPのAcitive/Passiveモードどっちやねんってのもあるし、権限周りも。うまくいかないときに見直す箇所が多すぎる気がする。普通にパス通ってないとか凡ミスもありまくり妙に時間かかった。

    あとmysqlのバックアップは書もがなんかめんどくさかった。記号入りの複雑なパスワードにしてたからうまいこといかなくて詰まってしまった・・・

  • バックアップの設定 FTP&cron&タスクスケジューラ

    👇これで書いた中のwordpressのディレクトリごとバックアップの設定した。

    バックアップの検討 – DESPINA.WORK

    webサーバ側で定期的に圧縮ファイルを作って、それをWindows10ファイルサーバで定期的にgetする方式

    前提:zipとFTPサーバをインストール、設定しておく

    apt install zip
    apt install vsftpd

    1.Linux側:cronで対象のディレクトリをzip化する

    ファイル名:zipassyuku.sh

    zip -r 圧縮後のファイル名 圧縮したいディレクトリ

    cronを作成する

    #cron編集
    crontab -e
    
    ##--内容ここから--##
    # m h  dom mon dow   command
    ##分 時 日 月 曜日 実行コマンド
    #毎日16時に実行
    00 16 * * * sh /var/www/html/zipassyuku.sh
    ##--内容ここまで--##
    
    #確認
    crontab -l
    sudo service cron start

    2.Windows側

    ファイル名:ftp.bat

    @echo off
    ftp -ins:C:\ftp_script_1.txt > C:\log.txt

    ※「-i 対話モードオフ」、「-n 自動ログインオフ」「-s: 引数もらう」

    ファイル名:ftp_script_1.txt

    open xx.xx.xx.xx
    user ユーザ名xxx パスワードxxx
    bin
    cd ディレクトリ
    get assyuku.zip
    quit

  • バックアップの検討

    今日自鯖をいじってたらzabbixのエージェントが壊れて色々直そうとしている間にVMごと消してしまってwordpress再設定した。

    だからバックアップを考えようと思う。それぞれの選択肢はどれかひとつじゃなくて、全て行うことでそれぞれの弱点を補完する感じ。

    1.まずはHyper-Vで仮想OSごと同ストレージにエクスポートして、それを共有バックアップストレージにコピーすること。

    参考リンク: 

    仮想マシンをエクスポートおよびインポートする | Microsoft Docs

    仮想マシンのエクスポートを自動化する。 | 自鯖 (jisaba.life)

    パワーシェルを使ってエクスポートするスクリプトを書いてタスクスケジューラで実行。インポートは手動の予定。

    2.WordPressとZabbixはWEBサーバが外部DBと連携する方式になってる。仮にWordPressだけを復元したい場合、DBが同じVMに存在しているからHyper-VのエクスポートだけだとZabbixまで巻き戻ってしまう。だからDBごとにバックアップを取る。

    cronで行うと思うけど、吐き出し先の権限とリソースがめんどくさそう。バックアップ先がwindowsだから。

    参考URL

    mysqlバックアップの取り方 – Qiita

    3.WordPressはローカルにメディアファイルを抱えてる。これもバックアップとリストア対象だと思う。たぶん。2番ができればすぐできるはずだけど。プラグインはあんまり使いたくない。

    これもバックアップ先がwindowsに直投げかも

    4.任意のタイミングで手動バックアップ

    • phpMyAdminでエクスポート
    • WordPressでxml形式でエクスポート※WordPressのメディアとかはxmlだけではリストはできない
    • Hyper-Vマネージャより手動エクスポート

    5.必要フォルダ数

    • Hyper-V用
    • DB用
    • WordPressのメディアライブラリ、テーマとか用
  • WordPressのサイトURLいじって管理画面にログインすらできなくなった時に変える場所

    vim /var/www/html/わどぷれす入れてるフォルダ/wp-config.php
    
    ##以下を追記
    define('WP_HOME','https://www.despina.work/wordpress/');
    define('WP_SITEURL','https://www.despina.work/wordpress');
    
    ##HTTPS化に際して変になったときはしたのを追記してみたりする
    $_SERVER['HTTPS'] = 'on';
    

    wordpressフォルダをhtml直下じゃなくてサブディレクトリに入れてるとバグるらしい。100万回くらいばぐらせた。

    ちなみに該当の値はdefineで上書いても残り続けるから、画像のテーブルに入ってる値手動で変えれば良いと思う。(自分は気になったので手できれいにした)

    defineしちゃうとm入力ボックスが白くなっていじれなくなる。
    テーブルちょくせつ編集でなおる

  • php.iniの場所

    自分の場合このページにある返り値のものではなかった。

    もういい加減覚えよう。php.iniはどこにあるのか – Qiita

    #  php -r "echo phpinfo();" | grep "php.ini"
    Configuration File (php.ini) Path => /etc/php/7.4/cli
    Loaded Configuration File => /etc/php/7.4/cli/php.ini
    👆これ編集しても反映されない
    

    正解はこっち。「apatche2」のフォルダのものを使ってたみたい

    ls /etc/php/7.4/apache2
    conf.d php.ini

    
    
  • Ubuntuのipv6無効化

    この記事でメモしておいたんだけどこのやり方だと再起動で初期化されちゃうみたい。

    Ubuntu Server 20.04.3 LTS初期設定メモ – DESPINA.WORK – WORDPRESS

    UbuntuでIPv6を無効にする方法 | TECH+ (mynavi.jp)

    ###IPv6を無効にする設定(永続)
    ###/etc/sysctl.confを編集
    net.ipv6.conf.all.disable_ipv6=1
    net.ipv6.conf.default.disable_ipv6=1
    net.ipv6.conf.lo.disable_ipv6=1

    理由は/etc/netplanが起動後に読み込まれて、システム側の設定が宇和が枯れるから。

    ちなみに起動後「sudo sysctl -p」すると、ipv6が無効になる。

    だからどうすればいいかっていうと「/etc/netplan/*.yaml」ファイルを下記のようにする。

    network:
      ethernets:
        eth0:
          dhcp4: false
          dhcp6: false
          accept-ra: false
          link-local: [ ]
          addresses: [xxx.xxx.xxx.xxx/xx]
          gateway4: xxx.xxx.xxx.xxx
          nameservers:
                  addresses: [xxx.xxx.xxx.xxx]
                  search: []
      version: 2

  • FortiGate 60DのVPN-SSLの設定

    1.SSLの項目、「ポータル」の画面いじる。

    送信元IP自動で作られる。

    「スプリットトンネリング」っていうのは、VPNクライアント側から見て、VPNの仮想IFといつものゲートウェイを分けて同時に使えるようにする時の設定みたい。設定する場合は「ルーティングアドレス」にVPNサーバ側のローカルネットワークのアドレスを入れてあげるっぽい。

    ※今回は必要ないのでオフ。VPN側のNWとほかのNWの中間にVPNクライアントが入るので、複雑になる。

    2.次は”設定”の箇所

    上の方はテキトウでいいけど赤枠部分が重要。

    3.FrotiGateのネットワーク設定の要と思うポリシーの設定。

    「送信元ユーザ」をユーザを「VPN用のポータル」が使えるユーザのグループにしてあげないとVPN張れない。ここで詰まった…

    4.適当にユーザとグループ作ってVPNに使ってあげる。

    ユーザもグループも、どっちもつくらないとだめ
  • Zabbixのagentのインストール5.5 : ubuntu 20.04.3 LTS

    wget https://repo.zabbix.com/zabbix/5.5/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.5-1+ubuntu20.04_all.deb
    #
    sudo dpkg -i zabbix-release_5.5-1+ubuntu20.04_all.deb
    #
    sudo apt install zabbix-agent
    #
    sudo vim /etc/zabbix/zabbix_agentd.conf
    #
    Server=サーバ側アドレス
    ServerActive=エージェントがActive使ってる人はここ
    #
    sudo systemctl enable zabbix-agent
    sudo systemctl restart zabbix-agent
    #FW確認
    sudo ufw status
    

    あとは、サーバ側でとうろく

  • 残作業メモ1

    ・メール送受信(Ubuntu)

    →結局Gmail連携で済ませたのでOK

    ・Zabbix(Ubuntu)
     →kubernetesはさすがにめんど
      →完了

    ・Docker(WEB)、Dcoker(メール)
     →kubernetes

     →いらないかあ一旦
    ・SQL

     →MySQLで統合DB作成済み