[Unix] cronの設定参考サイト

crontab(cron)設定確認方法 | server-memo.net
http://www.server-memo.net/tips/crontabfile.html

crontabの書き方 | server-memo.net
http://www.server-memo.net/tips/crontab.html

/etc/crontabと/etc/cron.d設定ファイルの書き方 | server-memo.net
http://www.server-memo.net/tips/etc-crontab.html

第25回 cron周りのベストプラクティス(1):Perl Hackers Hub|gihyo.jp … 技術評論社
http://gihyo.jp/dev/serial/01/perl-hackers-hub/002501

第25回 cron周りのベストプラクティス(2):Perl Hackers Hub|gihyo.jp … 技術評論社
http://gihyo.jp/dev/serial/01/perl-hackers-hub/002502

cronジョブをPHPで書くためのヒント

コマンドラインでPHPを使うときの11のTips | Suinasia
http://suin.asia/2011/04/03/command_line_php_11_tips

[Unix] シェル環境でUUID値を生成する

Visual StudioのGUIDGENみたいなツールがないかと探したらあったので覚え書き。

参考サイト

Man page of UUIDGEN
https://linuxjm.osdn.jp/html/e2fsprogs/man1/uuidgen.1.html

[Unix] 特定ディレクトリを複数ユーザで作業できるようにする

ウェブサーバーの設定でちょっとハマッたので覚え書き

条件

  • ウェブサーバーはユーザapacheで実行される
  • ユーザapacheはグループapacheに属する
  • ログインして作業するのはユーザsuzukiである
  • ユーザsuzukiはグループsuzukiとグループwheelに属する

問題点

ウェブページを配置するディレクトリ/var/wwwに関して

  • 所有者をapacheにするとsuzukiは操作できなくなる
  • 所有者をsuzukiにするとウェブサーバーから操作できなくなる

両方のユーザから操作できるディレクトリはどうやって設定するべきか?

解決法

ユーザsuzukiにグループapacheを追加

/var/wwwの所有者をapache、所有グループをapacheに変更

/var/wwwのパーミッションを775に変更 (グループに読み書き権限を与える)

/var/wwwにSGIDを付与する

umaskが002になっていることを確認する(なっていなければ、ログインスクリプトなどに設定する)。

以上の設定により、以降に作成されるサブディレクトリやファイルの所有グループは全てapacheとなるため、wwwディレクトリ以下はsuzukiとapacheの両方で問題なく操作できるようになる。

参考サイト

Linux|共同作業用のグループとパーミッション設定方法(UGP) | blog onk
http://blog.onk164.net/archives/272.html

Linux – グループ開発時の権限設定 – Qiita
http://qiita.com/soramugi/items/53478cbee857815c4a37

SGID(Set Group ID) – 特殊なアクセス権
http://kazmax.zpp.jp/linux_beginner/setgroupid.html

Linuxコマンド【 groups 】ユーザーの所属グループを表示 – Linux入門 – Webkaru
http://webkaru.net/linux/groups-command/

[MODx] ページにSPAMリンクを埋め込むマルウェア

長らく運営しているMODxベースのサイトがマルウェアに感染していた。見つけたのはホント偶然で、何気なくブラウザでページソースを表示してみたら、ページ末尾にSPAMリンクらしきものが埋め込まれいるのを発見。以前にも感染したことがあって、そのときはGoogleからのメールで知らされた。2度目となるとさすがにショックは隠しきれない。ネットを検索したらドンピシャの事例を見つけたので、それに倣って対処する。

MODxのバージョン

MODx Evolution 1.0.15。これは現時点の最新版。だけど、最新版がそう易々とマルウェアに感染するとは思えないので、もしかして以前に感染したときに駆除しきれずに残っていたのかも。以前の対処ではMODxを最新版にアップグレードしたんだけど、もしマルウェアがDBに仕込まれていたとしたら、駆除しきれずに残っていた可能性もある。

症状

MODxが生成したページの末尾に以下のようなSPAMリンクが埋め込まれる。

原因

マルウェアの挙動をするプラグインが仕込まれていた。DBのmodx_site_pluginsテーブルに追加されている「Quick ManagerManager」というプラグインがそれ。

対処

  1. データベースから該当プラグインのレコードを削除する。
  2. assets/cache/のコードをオリジナルに戻す (マルウェアによって書き換えられているため)

参考サイト

MODx Evolution: removing spam links | Dae’s blog
http://dae.me/blog/1697/modx-evolution-removing-spam-links/

[ホスティング] CentOS 7ベースのVPSサーバー設定手順 (DigitalOcean)

DigitalOceanはドキュメントが充実していて助かる。

初期設定

How To Use SSH Keys with DigitalOcean Droplets | DigitalOcean
https://www.digitalocean.com/community/tutorials/how-to-use-ssh-keys-with-digitalocean-droplets

Initial Server Setup with CentOS 7 | DigitalOcean
https://www.digitalocean.com/community/tutorials/initial-server-setup-with-centos-7

Additional Recommended Steps for New CentOS 7 Servers | DigitalOcean
https://www.digitalocean.com/community/tutorials/additional-recommended-steps-for-new-centos-7-servers

ウェブサーバー環境設定

How To Set Up a Host Name with DigitalOcean | DigitalOcean
https://www.digitalocean.com/community/tutorials/how-to-set-up-a-host-name-with-digitalocean

How To Set Up Apache Virtual Hosts on CentOS 7 | DigitalOcean
https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-centos-7

How To Install Linux, Apache, MySQL, PHP (LAMP) stack On CentOS 7 | DigitalOcean
https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-centos-7

How To Install and Secure phpMyAdmin with Apache on a CentOS 7 Server | DigitalOcean
https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-phpmyadmin-with-apache-on-a-centos-7-server

[ホスティング] MySQL、PHP、phpMyAdminのインストール (CentOS 7.1)

MySQL (MariaDB)

PHP

phpMyAdmin

確認: http://サーバーIP/phpMyAdmin

[ホスティング] Apacheバーチャルホストの設定 (CentOS 7.1)

Apacheのインストール

ブート時の自動起動設定

バーチャルホストごとのパブリックディレクトリを作成

バーチャルホストごとの設定ファイル格納ディレクトリを作成

バーチャルホストごとの設定ファイルを作成

バーチャルホストを公開してApacheを起動

ログローテートの設定変更

デフォルトだと標準インストールのログしかローテートされないので、バーチャルホストのログもローテートされるように設定を追加しておく。

参考サイト

Apache ウェブサーバーで .htaccess を利用するには | XpressOne Knowledge Base 「サポート技術情報」
http://kb.xpressone.net/2566

【apache】httpd.confの文法チェックを行う
http://www.kishiro.com/apache/config_syntax_check.html

Apacheのログを日毎にしてみる – yk5656 diary
http://d.hatena.ne.jp/yk5656/20140523/1402455511

[ホスティング] スワップファイルの設定 (CentOS 7.1)

2GBのスワップの作成例

topコマンドで確認