OS

[Kusanagi] プラグインの更新や削除ができない

KUSANAGIのWordPressを使用していると、プラグインの更新/削除ができない時があります。

更新中にエラーが発生しました: 古いプラグインを削除できませんでした。

こんな感じのエラーですね。
所有者やグループをwww-data, nginxに変えたりパーミッションを変えたりしても更新/削除がどうにもできませんでした。
そこで所有者とグループをkusanagiに戻してパーミッションを775にしてみると更新/削除ができるようになりました。
よかったよかった。


$ sudo chown kusanagi.kusanagi -R wp-content
$ sudo chmod 775 -R wp-content


セキュリティ的にはちょっとゆるくなるので、更新/削除の時のみ775に変更してそれ以外は755に戻すなどいいかもしれません。

dpkg: error processing package google-cloud-sdk (–configure)

GCEでf1-microでインスタンスを立ててログインすると、まずはとりあえずアップデートをすると思います。

$ sudo apt-get update; sudo apt-get upgrade -y;

するとなんと、

dpkg: error processing package google-cloud-sdk (–configure):
subprocess installed post-installation script returned error exit status 137

えっ。って感じです。ここ数日立てたf1-microはこうなりました。
遺憾です。依存関係かなと思いとりあえず

$ sudo apt-get -f install

をしましたが解決しません。

そこでググるとStack Overflowに

The direct cause may be a lack of memory. Try to add swap before upgrading.

Upgrading google-cloud-sdk Fails on Configure

とあったので、まさかと思いスワップファイルを作成。

$ sudo dd if=/dev/zero of=/swap bs=1024k count=2048
$ sudo mkswap /swap
$ sudo chmod 0600 /swap
$ sudo swapon /swap

その後アップグレードすると成功しました。
ところでGCEはデフォルトでスワップがないので、fstabに今回作ったスワップファイルを書いておきましょう。

$ sudo vim /etc/fstab

/swap swap swap defaults 0 0

これで再起動してもスワップが保持されます。

[template id=”99″]

Kusanagi for ConoHa で最低限しておきたいSSHのセキュリティ設定

昨日ぐらいにGCEのf1-micro(とロリポップ)からConoHaに乗り換えました。

 
このはちゃん可愛い…

普段はDebianを使っているのですがWordPressやらの環境を整えるのが面倒くさいので、手抜きでKUSANAGI for ConoHaを使うことにしました。
CentOSがベースなんですね…うぅ…

では、KUSANAGI for ConoHaに限らず本当に最低限しておきたいセキュリティ設定です。
続きを読む

[Debian] certbot のエラー pkg_resources.DistributionNotFound


$sudo certbot
Traceback (most recent call last):
  File "/usr/bin/certbot", line 6, in 
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3019, in 
    @_call_aside
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3003, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 3032, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 655, in _build_master
    ws.require(__requires__)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 963, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 849, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'ndg-httpsclient' distribution was not found and is required by requests

Let’s Encryptのcertbotを実行したときにこんな感じのエラーが出る時、
python-pkg-resourcesを再インストールすることで(多分)解決します。

$ sudo apt-get remove --purge python-pkg-resources
$ sudo apt-get install python-pkg-resources