CentOS-4.2上にweb-cpを入れてウハウハになるメモ
現在進行形で構築中のサーバについての一時メモです。
細かく更新される可能性があります。
■OSの導入
CentOS-4.2を選定。
ServerCDから最小パッケージでInstall。
■web-cpインストール前の処理
▼OSのインストール後、rootで入り、ユーザを作っておく。
> useradd <任意のユーザー名>
> passwd <任意のユーザー名>
2回、任意のパスワードを入力。
これによってsshから作業できるようになり、実質的にサーバにはノータッチでも大丈夫。
私の場合はこの後、sshで外部から作成したアカウントでアクセスしている為、suコマンドで適当にユーザ名変更。
▼yumが物取ってくる先を変更する
変更:mirror.centos --> ftp.riken.jp/Linux
> vi /etc/yum.repos.d/CentOS-Base.repo
<vi上で>
:%s /mirror.centos.org/ftp.riken.jp\/Linux/g
viの置換コマンドですっきり変換。
▼必要なパッケージのinstallとかアップデート確認とか。
> yum check-update
> yum update
> yum install httpd mysql mysql-server php sendmail bind vsftpd openssl php-mysql webalizer postgresql dovecot quota mod_ssl spamassassin squirrelmail mailman php-pgsql
これでwebcpに必要な基本的な物は入る。後は任意で他に必要な物を入れる。
▼MySQL設定
まずサービスを起動。
> /sbin/service mysqld start
そしてwebcp用ユーザを追加。
> mysql -u root
mysql> GRANT ALL PRIVILEGES ON *.* TO webcp@localhost IDENTIFIED BY '<WebCPで使うパスワード>' WITH GRANT OPTION;
-> \q
これにより、webcpというユーザーがlocalhostからのみフルアクセスが出来るようになる。
▼PHPの設定
> vi /etc/php.ini
magic_quotes_gpc Offをmagic_quotes_gpc Onに変更。
php.iniは長いので、viのexモードで/<検索文字列>すると良い。勿論、先ほどのように置換しても良いが。
■web-cpのインストール
▼ユーザーとグループの作成
> /usr/sbin/groupadd webcp
> /usr/sbin/useradd -s /sbin/nologin -g webcp -d /home/webcp -c "webcp user" webcp
sshでログインしてたら、なんかsuになっても/usr/sbin等にパスが通っていない為(というかwheelグループに所属するように作らなかった俺が悪い気がしますが)こうしました。
▼ダウンロードとコードの移動
CentOS上というかFedora/RHEL由来のOSでは、基本的にwebcp-0.6以降しか動かないようなので、cvsから取ってくる。
> cd /root
> cvs -d :pserver:guest@cvs.web-cp.net:/usr/local/cvsroot login
> cvs -d :pserver:guest@cvs.web-cp.net:/usr/local/cvsroot checkout webcp-0.6
cvsにログインする際、パスワードを求められる。空で返して良い。
2個目のコマンドで、どっさりファイルが落ちてくる。待つ。
ダウンロード終了後、以下のコマンドでwebcp本体を移動。
> mv webcp-0.6/webcp/* /home/webcp -fR
> chown webcp:webcp /home/webcp -R
> chown root:root /home/webcp/server -R
> chmod 755 /home/webcp/server/webcp.php
> chmod 755 /home/webcp/server/data -R
DL終了後、/home/webcpにデータを動かしたりchownしたりchmodしたり。
▼initファイルのコピー
> cp /home/webcp/server/webcp-init.php /etc/init.d/webcp
> chmod 755 /etc/init.d/webcp
サービスの起動に必要。
▼ログファイルとかpidファイル回り。
> touch /var/log/webcp.log
> chown webcp.webcp /var/log/webcp.log
> chmod 600 /var/log/webcp.log
> mkdir -p /var/run/webcp
> chown webcp:webcp /var/run/webcp
webcp.logとか。
▼起動。
> /sbin/service webcp start
mysql回りで色々怒られるけど全て無視。
■http-cpのコンフィグ
▼httpd.confの編集
cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd-cp.conf
vi /etc/httpd/conf/httpd-cp.conf* Listen 80 を Listen 81 に変更
* User apache を User webcp に変更
* Group apache を Group webcp に変更
* DocumentRoot "/var/www/html" を DocumentRoot "/home/webcp/web" に変更
* ErrorLog logs/error_log を ErrorLog logs/webcp_error_log に変更
* CustomLog logs/access_log combined を CustomLog logs/webcp_access_log combined に変更
* Include conf.d/.conf* を Include conf.d/php.conf に変更
▼httpd-cpの編集
> cp /etc/init.d/httpd /etc/init.d/httpd-cp
> vi /et/init.d/httpd-cp* 全ての /etc/httpd/conf/httpd.conf を /etc/httpd/conf/httpd-cp.conf に変更
* 全ての pidfile: /var/run/httpd.pid を pidfile: /var/run/httpd-cp.pid に変更
* 全ての /var/lock/subsys/httpd を /var/lock/subsys/httpd-cp に変更
* /usr/sbin/httpd を /usr/sbin/httpd-cp に変更
* prog=httpd を prog=httpd-cp に変更
* 全ての CONFFILE=/etc/httpd/conf/httpd.conf を CONFFILE=/etc/httpd/conf/httpd-cp.conf に変更
* CONFFILE=/etc/httpd/conf/httpd-cp.conf を、RETVAL 表記のある行の直下に移動
* OPTIONS="-f $CONFFILE" を CONFFILE=/etc/httpd/conf/httpd-cp.conf の直下に追加。
▼httpd-cpバイナリのコピー
単にCopyコマンドしているだけ。
▼iptablesに設定追加
iptables動かしていなければ設定の必要無し。
▼httpd-cpサービスの起動
> service httpd-cp start
▼Quotaの有効化
> /etc/fstab to enable quotas
* / もしくは /home のマウントポイントについて設定している行の defaults という表示を defaults,usrquota に変更
▼再マウント
> mount -o remount / or mount -o remount /home_
▼Quotaチェック
> quotacheck -cvugamf
▼QuotaをONにする
> quotaon -a
▼vsftpdのコンフィグ
> vi /etc/shells ( nano /etc/shells )
* 一番最後の行に /bin/false を追加。
▼vsftpdの起動
> service vsftpd start
これで、http://自分のIPアドレス:81/で初期設定が出来るようになる。