macOSで有線ネットワーク一覧を取得する
System Preferences の NSUserDefaults にplistとして保存されている。
defaults シェルコマンド か NSTask 経由で取得可能。
$ defaults read /Library/Preferences/SystemConfiguration/com.apple.airport.preferences | grep SSIDString
プロダクションのWordPressをローカルにDockerで再現する[調査中メモ]
WordPressって別に詳しくないしあまり好きではない。
できるだけ触りたくないんだけど、男には長い人生においてWordPressを触らないといけない事象がしばし発生する。
今まさにやってて、うまくいかなかったんだけど、とりあえずメモを残しておく。
いいやり方ご存知の方いらっしゃったら教えていただけますと助かります。
docker-composeの設定
まずはプロダクション環境をローカルで再現する所から始める。
docker-composeを使う。
のだけど、プロダクションのDBダンプファイルをそのまま dbのvolumeに
./db-data/mysql.dump.sql:/docker-entrypoint-initdb.d/install_wordpress.sql
とかって設定してdocker内wordpressの初期データとして入れようとしても、ちゃんと動いてくれない。
多分httpアクセスあったらhttpsで自動リダイレクトする設定が効いてるような気がしてて、
DBのそこの部分を書き換えられればちゃんと動くような気がしてるけど未調査。
docker-compose.yml
version: '2' services: db: image: mysql:5.7 volumes: - "./.data/db:/var/lib/mysql" # 下記はちゃんと動かなかった # - ./.db-data/mysql.dump.sql:/docker-entrypoint-initdb.d/install_wordpress.sql restart: always environment: MYSQL_ROOT_USER: root MYSQL_ROOT_PASSWORD: wordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest links: - db ports: - "8000:80" restart: always volumes: # テーマファイルをプロダクションからDLして./themes/my_themeに置いておく - ./themes/my_theme:/var/www/html/wp-content/themes/my_theme environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress WORDPRESS_DB_USER: wordpress WORDPRESS_DEBUG: 1 phpmyadmin: image: phpmyadmin/phpmyadmin environment: - PMA_ARBITRARY=1 - PMA_HOST=db - PMA_USER=root - PMA_PASSWORD=wordpress links: - db ports: - 8080:80 volumes: - /sessions
$ docker-compose up
phpmyadminも入れてみて、ここからプロダクションのDBダンプをインポートしてみたけど、それもうまくいかなかった。
themeファイル以外をdockerコンテナ内にぶちこむ
プロダクションから以下をDLしてきて、volumeなりを使って同じ場所に入れておく - wp-content/uploads/ - wp-content/plugins/
DBをエクスポート => dockerコンテナでインポート
管理画面でDBのエクスポート、インポートができる。
ほんとはdocker-compose.ymlでスマートにやりたいけど、一旦場当たり的に。
パーマリンク設定の反映
管理画面の設定 > パーマリング設定 より。
なぜかこれはDBインポートしても反映されてなかったので、手動で設定。
これで一旦プロダクションの状態を再現できた。
結論
WordPress触りたくない
ubuntuの勉強メモ
$ #ユーザーを作成 $ adduser <ユーザー名> $ # sudo グループに追加 $ gpasswd -a <ユーザー名> sudo $ ユーザー切り替え $ su - <ユーザー名> $ ユーザー切り替え (PATHなどの環境変数を引き継がない) $ su <ユーザー名>
Kindleでamazon.com (co.jpではなく) に接続される時の対処法
Kindle for Macを利用してKindle本を読もうとしたら、
購入した本がKindleサーバーから同期されず、全然ダウンロードされません。
何でやろ、と思ったら、どうやら日本のAmazon (amazon.co.jp) サーバーではなく、USのamazon.com サーバーにつなぎに行ってるみたいでした。
理由は全くわかりません。
が、対処法は分かりました。
amazon.comに接続される場合は、amazon.co.jpでパスワードを変更せよ
amazonのカスタマーサポートに問い合わせた所、
「原因はわかりませんが、とにかくamazon.co.jpでパスワードを変えてみてください」と言われました。
言う通りに変更してみると、kindleも即座にco.jpにつなぎに行くようになり問題解決!
技術書などはiPhone版kindleでなく、Mac版kindleの方が読みやすいのでありがたい。
またkindleロックインが進みました。
AWS EC2 + ubuntu + nginx でサーバー立ち上げてみる
サーバーの種別を整理
Webサーバー
静的コンテンツを返すサーバー。
例
- nginx
- apache
nginxはいろんなクライアントにつながっている状態をさばくのが得意。
今回はnginxを使用する。
アプリケーションサーバー
動的コンテンツを返すサーバー。
例
Railsは5からpuma推奨になった。(おそらくActionCableが入ったため)
herokuが推奨するのも以前からpuma。
AWSにログイン
AWS Console ヘッダーメニューの「サービス」からEC2にジャンプします。
キーペアを取得
左メニューの「キーペア」 => 「キーペアの作成」をクリック。
自分に分かりやすい名前をつけておきましょう。
EC2でサーバーを立ち上げる
1. ubuntu を検索して選択
2. インスタンスタイプを選択
今回はt2.micro
「確認と作成」でデフォルト設定で立ち上がります。
ssh接続
$ ssh -i ~/.ssh/YOUR_PEM_FILE_NAME.pem ubuntu@YOUR_PUBLIC_DNS
sshで接続できない場合はこちら。
otiai10.hatenablog.com
nginxをインストール
ppaで最新版を入れます。
参考)
Ubuntuに最新のnginxをインストールする
$ # root権限で対話shell起動。しかし以降のコマンドがログに残らないので注意が必要 $ sudo -s $ nginx=stable # 安定版を指定 $ add-apt-repository ppa:nginx/$nginx $ apt-get update $ apt-get install nginx
systemctl で設定と起動
参考)
systemctl コマンド
$ sudo systemctl enable nginx # サービス自動起動を有効に $ sudo systemctl start nginx # nginx起動
<< 編集中 >>