![]() |
LINUX |
webサーバの管理
*WEBサーバを管理します
*proftpdとopensshでサーバにアクセスします
*suexecオプションを有効にしています
*最初にhttpd/phpのインストールを参照して下さい
*運営・管理は各自の考えをもとにお願いします
**以降はコメントです
*ソースの取得、削除は省略します
*エディタ、ファイラーの操作は省略します
*Enterキーを省略します
*ログイン端末で "#" はroot、"$" は一般ユーザのプロンプトの記号です
*設定ファイルで "#" で始まる行はコメントとして解釈されます
参照ファイル:最初の設定 (Xen)
:proftpdのインストール
:httpd/phpのインストール
仮設定| :User | apache |
| :Group | apache |
| :DocumentRoot | /home/www/htdocs |
| :一般ユーザ | sola |
apacheサーバの管理
仮想設定のユーザー権限*(注意) ログインshellに/sbin/nologinを設定している場合、
*パスワードを設定するとFTPログインできるようになります
| ユーザ名 | ftpログイン | sshログイン | 通常のログイン | |
| :管理者 | root | NO | YES | YES |
| :一般ユーザ | sola | YES | YES | YES |
| :openssh (chroot) ユーザ | umi | YES (sftp) | NO | NO |
| :proftpd専用ユーザ | apache | YES | NO | NO |
| :httpdユーザ | apache | NO | NO | NO |
ディレクトリのパーミッション*suexecオプションを有効にしています
*複数の一般ユーザが存在する場合は、proftpd専用ユーザ・OpenSSH(chroot)を利用します
*buildディレクトリはDSOの作成に使われるのでパーミッションに注意します
*新規のファイルは、sshでログインしてユーザ・グループを一括変更します
| home/www/htdocs | home/www/cgi-bin | home/sola/public_html | |
| ディレクトリ | (apache apache 711) | (apache apache 711) | (sola sola 711) |
| 一般ファイル | (apache apache 640) | (sola sola 644) | |
| CGIスクリプト | (apache apache 750) | (sola sola 751) | |
| CGIライブラリ | (apache apache 640) | (sola sola 644) | |
| 読込みデータ | (apache apache 640) | (sola sola 644) | |
| 書込みデータ | (apache apache 640) | (sola sola 644) |
オーナー変更のコマンド例
# chown apache:apache file |
特定のファイルまたはディレクトリのみ変更 |
# chown -R apache:apache /home/www |
サブディレクトリ、ファイルまで全て変更 |
パーミッション変更のコマンド例
# chmod 600 file |
パーミッションを600に設定します |
# chmod g-w,o-rwx file |
※注 664→640 755→750になります |
# chmod -R g-w,o-rwx /home/www |
サブディレクトリ、ファイルまで全て変更 |
一括変更コマンドの例*ディレクトリ777 一般ファイル666 CGIファイル777と仮定
*より厳しいパーミッションの場合は変更されません
*クライアント側で変更する場合です
*一般ユーザのディレクトリの場合
$ cd public_html $ find -type f -print0 | xargs --null chmod g-w,o-w $ find -type d -print0 | xargs --null chmod g-rw,o-rw $ find -name '*.pl' -print0 | xargs --null chmod g-w,o-rw $ find -name '*.cgi' -print0 | xargs --null chmod g-w,o-rw
*DocumentRootディレクトリの場合
$ cd htdocs $ find -type f -print0 | xargs --null chmod g-w,o-rwx $ find -type d -print0 | xargs --null chmod g-rw,o-rw
selinuxへの対応
# restorecon -RFv /home/www
ログ・ローテーション*/etc/logrotate.d/httpdでバックアップを作ります
*httpdを再起動しています
"/var/log/httpd/*log {
missingok
notifempty
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
endscript
}
:logrotationの確認
# logrotate -f /etc/logrotate.d/httpd
*うまくいかない場合、設定ファイルを修正します
*ただし、var/lib/logrotate.statusに前回rotateした日付が設定されます
*日付をエディタでweeklyなら1週間前に設定し、再トライします
httpd のレスポンスコード![]() |
Copyright(c) 528p.com All Rights Reserved. |

