最近のコメント

    RancherOS上に作ったLaradock環境にLaravel-Adminをインストールメモ

    • ComposerでLaravel-Adminをインストール

      laradockディレクトリに移動して
      ./docker-compose exec workspace bash
      composer require encore/laravel-admin
      php artisan vendor:publish –provider=”Encore\Admin\AdminServiceProvider”
      php artisan admin:install

    • php artisan admin:installで、下記エラーが出たので調査

      Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] Connection refused

    • MySQLの接続情報(.env)を修正(https://nobuhiroharada.com/2018/07/21/laravel-laradock-mysql-refused/)

      DB_HOST=127.0.0.1

      DB_HOST=mysql

    • 下記エラーが出たので調査

      Illuminate\Database\QueryException : SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client

    • MySQLの認証方式の変更(https://qiita.com/shunichi_com/items/9b09c5949233b88b9a4a)

      ./docker-compose exec mysql bash
      # mysql -u root -p
      パスワード:root
      mysql> SELECT user, host, plugin FROM mysql.user;
      認証方式をcaching_sha2_passwordからmysql_native_passwordに変更
      mysql> ALTER USER ‘default’@’%’ IDENTIFIED WITH mysql_native_password BY ‘secret’;
      mysql> \q
      # exit
      sudo vi mysql/my.cnf
      [mysqld]内に下記を追加
      default_authentication_plugin= mysql_native_password

    • 再度、php artisan admin:installを実行

      php artisan admin:install

      Nothing to migrate.
      Database seeding completed successfully.
      Admin directory was created: /app/Admin
      HomeController file was created: /app/Admin/Controllers/HomeController.php
      AuthController file was created: /app/Admin/Controllers/AuthController.php
      ExampleController file was created: /app/Admin/Controllers/ExampleController.php
      Bootstrap file was created: /app/Admin/bootstrap.php
      Routes file was created: /app/Admin/routes.php

    • こうなればOK。
    • さらにLaravel-Adminの動作確認。下記を開いて、admin/adminでログインできればOK。

      http://192.168.23.3/admin/auth/login

    • 以上

    Dockerホスト用軽量OS RancherOSでLaraDock環境構築

     

    自宅鯖でDocker環境を構築する上で、CPUやメモリなどのリソースを限りなく節約する為に軽量ホストRancherOSを試してみました。

    で、LaraDockが動くところまでをメモ。

    • VirtualBox起動
    • 新規仮想PCを下記で作成
      ・タイプ:Linux
      ・OS:Other Linux 64bit
      ・メモリ:4GB
      ・新規ディスク:8GB
      ・アダプター1:NAT、アダプター2:HostOnlyアダプタ(事前にVirtualBoxのグローバルツールで仮想アダプタを有効にしておく必要あり)
    • 下記にてダウンロードした、ブート可能なranchar.isoを光学ドライブとしてマウント
      https://releases.rancher.com/os/latest/rancheros.iso
    • 起動後、牛のアスキーアートが表示される。
    • パスワード設定
      [bash]sudo passwd rancher[/bash]
    • TeraTerm等のターミナルソフトでSSH接続
    • RancherOSをHDDにインストール
      [bash]echo ‘hostname: myrancher’ > cloud-config.yml[/bash]
      [bash]sudo ros os list[/bash] にて最新のバージョンを確認し下記でインストール
      [bash]sudo ros install -i rancher/os:v1.5.0 -c cloud-config.yml -d /dev/sda –append ‘rancher.password=mypass123′[/bash]
    • インストールが終わるとrebootされる。
    • ranchar.isoを光学ドライブから除去し、isoからブートしないようにHDDからブートする。
    • 再度、TeraTerm等のターミナルソフトでSSH接続
    • DockerComposeをインストール
      [bash]sudo wget https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m`
      sudo mv docker-compose-Linux-x86_64 docker-compose
      sudo chmod +x docker-compose[/bash]
    • gitコマンドをインストール
      [bash]alias git=”docker run -ti –rm -v $(pwd):/git bwits/docker-git-alpine”[/bash]
    • 開発用ディレクトリの準備
      [bash]git clone https://github.com/LaraDock/laradock.git
      cd laradock
      sudo cp env-example .env
      vi .env
      APP_CODE_PATH_HOST=../hoge_proj/[/bash]
    • Laradockコンテナ群をUp(20~30分位かかる)
      [bash]sudo ./docker-compose up -d nginx mysql redis[/bash]
    • コンテナが動いているか確認
      [bash]docker-compose ps[/bash]
      Name Command State Ports
      —————————————————————————————————————
      laradock_docker-in-docker_1 dockerd-entrypoint.sh Up 2375/tcp
      laradock_mysql_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp, 33060/tcp
      laradock_nginx_1 /bin/bash /opt/startup.sh Up 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
      laradock_php-fpm_1 docker-php-entrypoint php-fpm Up 9000/tcp
      laradock_redis_1 docker-entrypoint.sh redis … Up 0.0.0.0:6379->6379/tcp
      laradock_workspace_1 /sbin/my_init Up 0.0.0.0:2222->22/tcp
    • Laravelプロジェクトのインストール(10分位かかる)
      [bash]./docker-compose exec workspace bash
      composer create-project laravel/laravel ./hoge_proj –prefer-dist
      chmod -R 777 storage/[/bash]
    • ホストOSのIP(HostOnlyアダプタ側)をブラウザで開き、Laravelと表示されれば完了!
    • コンテナをリビルドするには
      [bash]sudo docker-compose up –build -d nginx mysql redis[/bash]

    XigmaNASでautoexpandをONにする

    FreeNASよりもメモリ消費が少なく、GUIが使いやすいXigmaNasで、Autoexpand(HDD交換時にPool容量を自動で拡張するオプション)をOnにする方法。

    • SSHで接続する(事前にサービス画面でチェックボックスにチェックし、SSHを有効化)
    • 下記コマンドを実行

    # zpool set autoexpand=on fileserver

    • 下記コマンドで有効になっていればOK

    # zpool get autoexpand fileserver

    ちなみに、GUIツールのコマンド実行でも上記コマンドを実行は可能。

    Windows10の更新で、エラーコード 0xc1900208 が表示され失敗

    Windows10の更新で、エラーコード 0xc1900208 が表示され失敗したら、SymantecかTrend Microのアンチウィルスソフトが悪さをしているっぽい。

    何度やり直してもWindows10のUpdateに失敗する場合は上記を疑ってみると良い。

    7zip(7za)で所定の文字列を含む(含まない)ファイルのみ解凍する

    • Install for CentOS
      yum install p7zip
    • Install for ubuntu
      sudo apt-get install p7zip-full
    • ファイル名に「PUB」が含まれるファイル以外を全て解凍
      7za x -xr\!*PUB* hoge.zip
    • ファイル名に「MOV」が含まれるファイルを全て解凍
      7za x -ir\!*MOV* fuga.zip

    mkv ⇒ mpeg2 変換を ffmpeg で簡単に

    撮りためた動画(mkv)をレグザで見たくなったので、ffmpegで変換してみた


    ffmpeg -y -i "Y:\media\hogefuga.mkv" -target ntsc-dvd -vcodec mpeg2video -s 720x480 -aspect 16:9 -r 29.97 -map 0:0 -map 0:2 "Y:\media\hogefuga.mpg"

    こんな感じでうまくいった。

    注意すべきは、音声トラックNOを指定する場合、-map にてオーディオトラック番号を指定する。 ここでは、0:0は映像を意味し、0:2が出力したい音声トラック番号となる。ちなみに、0:1が英語で、0:2が日本語であった。
    ちなにみ音声トラック番号を知るには、ffmpeg -i でファイルのメタデータを確認すればわかる。

    以上

    PostgreSQLで全テーブルのレコード数を一気にドンするやつ

    select count(*) とかだと、大量レコードのテーブルカウントは時間がかかりすぎる

    一気にドンしたい場合はこれ

    select
    	relname,
    	n_live_tup
    from
    	pg_stat_user_tables
    where
    	schemaname = 'public'
    order by
    	relname;
    以上

    ログ監視とか、ターミナルいっぱい出す時に便利なやつ発見

    キータで面白いの見つけたので共有。
    http://qiita.com/greymd/items/8744d1c4b0b2b3004147

    ログ監視とかの時、複数のログをtailしたり、ターミナルいっぱい出す時に便利そうなので使ってみた。
    CentOS7に以下で導入しました。

    [bash]
    su –
    yum install tmux
    wget https://raw.githubusercontent.com/greymd/tmux-xpanes/master/bin/xpanes -O ./xpanes
    install -m 0755 ./xpanes /usr/local/bin/xpanes

    xpanes -c ‘tail -f {}’ /var/log/{messages,maillog,yum.log,dmesg}
    [/bash]

    上記、ログは適当です・・・試した所、確かに4ペインでログが同時に見られました!!

    こんな風にすると、1~100のDHCPの接続状況を一気に確認できたりします!すごい。

    [bash]
    xpanes -c ‘ping {}’ 172.19.91.{1..100}
    [/bash]

    シェルスクリプト(sendmailコマンド)だけでメール送信

    保守監視等で、よく利用するのだが毎回忘れるので備忘録的に。

    CRONで毎日お昼の12時に実行するサンプル
    [bash]
    0 12 * * * bash /path/to/dir/hogefuga_report.sh
    [/bash]

    sendmailコマンドを使用して、SQL(postgresql)を実行して結果をメール送信するスクリプトサンプル
    hogefuga_report.sh
    [bash]
    #!/bin/sh

    #### 汎用メール送信スクリプト
    export PATH=$PATH:/usr/sbin
    export PGPASSWORD=naisyodayo

    NOWDATE=`date ‘+%m月%d日 %R ‘`

    HOGE_CNT=`psql -U postgres -d dev –tuples-only -c ‘select count(*) as hoge_cnt from hogehoge_tbl’`
    FUGA_CNT=`psql -U postgres -d dev –tuples-only -c ‘select count(*) as fuga_cnt from fugafuga_tbl’`
    HOGE_CNT=`echo ${HOGE_CNT} | tr -d ” “`
    FUGA_CNT=`echo ${FUGA_CNT} | tr -d ” “`

    MAIL_TO=”hogeko@hoge.com.jp”
    MAIL_CC=”fugasuke@fuga.com.jp”
    MAIL_BCC=”pekeo@peke.com.jp”
    MAIL_FROM=”ore@oresama.com.jp”
    SUBJECT=”俺様のレポート”
    DATA=”俺様の反響結果は以下となる”

    mail_send () {
    cat << EOD | sendmail -t
    From: ${MAIL_FROM}
    To: ${MAIL_TO}
    Cc: ${MAIL_CC}
    Bcc: ${MAIL_BCC}
    Subject: ${SUBJECT}
    MIME-Version: 1.0
    Content-Type: text/plain; charset=”UTF-8″

    俺様へ

    今日(${NOWDATE})のレポートを送るのでよく見ること。

    ${DATA}

    ・ほげ数
    ${HOGE_CNT}

    ・フガ数
    ${FUGA_CNT}

    以上

    EOD
    }

    mail_send

    exit 0
    [/bash]

    Amazon Lightsail で Magento2 やってみた

    実家が自営業やっているので商品管理をオープンソースでってことになり、Magentoというのを使ってみようということに。手っ取り早いのが、最近出来たばかりの新しいAWSのVPSサービスで、Lightsailってやつに、Magent2を組み込んだ状態でEC2みたいなサーバインスタンスが一瞬で起動できるようなので、試してみた。

    https://lightsail.aws.amazon.com

    もともとEC2でサーバ作った際に、AWSアカウントは持っているので、あとはボタンをポチポチ2回(アプリとサーバスペックを選択 画像参照)クリックでサーバで来たった!!!

    screencapture-lightsail-aws-amazon-ls-webapp-instances-create-1482032674873

     

    Magento2.1.2 と、インスタンスプランはとりあえずお試しなので、$10を選択。

    BaseOSはデフォルトのAmazonLinuxにしたが、Ubuntuがよいとの書き込みもあるようだ。

    設定したら、一番下の、「Create」をクリックして完了。

    この状態で3~4分程度したらサーバがMagentoがインストールして起動状態となる。

    試しに、画面に表示されているIPアドレスをブラウザで叩いてみると、そのうち以下のページが現れるようになる。

    screencapture-ec2-54-152-228-196-compute-1-amazonaws-1482032507245画面下のペロッとめくれた部分に「Manage」とあり、ここから、Magento2のECサイト管理画面にアクセスできる。

    ログインユーザ名は「user」パスワードはサーバー内部のログから取得する必要がある。

    以下にパスワードの取得方法を記す。

     

    screencapture-lightsail-aws-amazon-ls-webapp-instances-magento-1gb-virginia-1-connect-1482032471028AWSのこの画面から、「Connect using SSH」をクリックし、SSHコンソールを開く。

    開いたら以下を入力しEnterを押下。

     cat /home/bitnami/bitnami_application_password

    パスワードが表示されるので、これを管理画面のログインに利用すればOK。

    コンソールのキャプチャ画像は下記。

    aaa

     

     

     

     

     

     

     

     

    無事ログインすると、以下の管理画面が表示される。

    screencapture-ec2-54-152-228-196-compute-1-amazonaws-admin-admin-dashboard-index-key-c440ebc96710c4c2cb2efe6c35722b15a8b2f9b9724ca139927b0ee1b2ff6429-1482032494968

     

     

     

     

     

     

     

    一旦ここまで。日本語化はまた今度。