ブログ

  • systemdについて”

    コマンドの使い方

    • systemctl command XXの形。
    • commandにはやりたいコマンド。XXには、systemdのserviceや、timerなどを指定する。
    • XXはスペース区切りで、複数に対して一括でコマンド実行できる。

    コマンドの種類

    systemctl status XX

    XXの状況を調べることができる。

    systemctl start XX

    XXを起動する。

    systemctl stop XX

    XXを停止する。

    systemctl enable XX

    XXのOS起動時の自動起動を有効にする。
    初期構築で使うものであり、statusやstart、stopとは少し経路が違う。

    systemctl disable XX

    XXのOS起動時の自動起動を無効にする。
    初期構築で使うものであり、statusやstart、stopとは少し経路が違う。

  • wordpressのwp-cliでの公開方法

    wordpressのwp-cliでの公開方法

    wordpressでwp-cliを使ってvscodeのMarkdownで作成した記事をマッハで公開する方法を考えた。

    記事を書く流れ

    概要図はこんな感じ。白いオブジェクトが記事を執筆するためのWindows端末など。
    ピンクの方はWorpressサーバ。

    aa

    記事をかく

    ここは普通にGitでコミットするだけなので省略。

    Gitで同期

    Windows端末などで記事をマークダウン形式で執筆する。執筆したらGitでコミットする。
    その後、Wordpressサーバ側では、git pullすることで、執筆したマークダウン記事をサーバに同期する。

    マークダウンをHTMLに変換

    同期したmdファイルをpandocでHTMLファイルに変換する。

    WordPressに投稿

    wp-cliを使ってWordpressに投稿設定をする。
    このとき、front matterと呼ばれる考え方を使って、記事を書いておくことで、投稿時に有用な変数をWordpress側にスムーズに渡すことが可能となる。

    /usr/local/bin/wp-cli.phar post create --post_type=post --post_title="test" --post_name="test" --post_status=publish --post_content="$(cat /root/content/test2.html)" --path=/data/wordpresspublic/html/
    cd /data/wordpresspublic/html
    
    Success: Created post 53.
  • WordPressで Postgresqlに接続してデータを取得する

    WordPressのサイトページに、Postgresqlのデータを抽出して表示したい。

    php-pgsqlのインストール

    下記コマンドでPHPのPostgres拡張機能をインストールする。
    こうすると、Postgres DBに接続するためのコマンドが利用できるようになる。

    yum install php-pgsql

    サイトページで呼び出す

    pg_connectに接続情報を渡すと接続できる。接続後はpg_queryでクエリーを渡すと結果が得られる。
    ただし、この結果に対してechoなどしても、DBの内容はえられない。

           $connStr=sprintf(
                    "host=%s port=5432 dbname=%s user=%s password=%s",
                    getenv('PDBHOST'),
                    getenv('PDBNAME'),
                    getenv('PDBUSER'),
                    getenv('PDBPASS')
            );
    
            $db_connection=@pg_connect($connStr);
            if (!$db_connection){
                    die('unable:'.(error_get_last()['message']??'unknown'));
            }
    
            $sql="SELECT * FROM nanntara";
            $res = pg_query($db_connection,$sql);
    
            print_r($count);

  • phpで環境変数を表示する

    <?php
    echo getenv("HOME")

    とりあえずこれで表示できたが、今現在は、HOMEと、USERしか表示する方法がわからない。

    ちなみにコマンドを実行するにはこう。

    return exec('echo test');
    return exec('echo $PATH');

    こうすると、apacheのPATHが取れる。でも、$TESTなどを/profileとかに定義しても拾えない。

    セキュリティのため、通常は変数取れないようになっているみたい

    ここで解除できる模様。
    /etc/php-fpm.d/www.conf

    ; Clear environment in FPM workers
    ; Prevents arbitrary environment variables from reaching FPM worker processes
    ; by clearing the environment in workers before env vars specified in this
    ; pool configuration are added.
    ; Setting to "no" will make all environment variables available to PHP code
    ; via getenv(), $_ENV and $_SERVER.
    ; Default Value: yes
    clear_env = yes

    この最後のyesをnoにすると、環境変数が取れるようになる。

    また、このwww.confに環境変数を定義すると、各ページで使えるようだ。

  • phpでpostgresql接続

    WordPressで作成したホームページに、別のサーバに配置したpostgresqlからデータを取り出して、表かなんかで表示したい。

  • 株大好き

    株大好きなので、個人的な情報まとめて行きたいと思います。

    これから頑張って書きます。