Webmin+VSFTPd for CentOS 5 32bit

本篇文章為個人架設紀錄用

[code]wget http://prdownloads.sourceforge.net/webadmin/webmin-1.520-1.noarch.rpm
rpm -ivh webmin-1.520-1.noarch.rpm[/code]
MySQL請登入webmin模組即可自動安裝

安裝PHP模組 PHP 5.1
yum -y install php php-devel php-mysql

由於webmin內建的FTP模組我不會設定
所以改使用vsftpd。

yum -y install vsftpd
設定vsftpd開機啟動
chkconfig vsftpd on

PHP 5.2對應
CentOS 5.x 32bit PHP 5.2模組安裝

vi /etc/yum.repos.d/CentOS-Base.repo
檔案最底下加入

[code]
[php5_2]
name=php5_2
baseurl=http://dev.centos.org/centos/$releasever/testing/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://dev.centos.org/centos/RPM-GPG-KEY-CentOS-testing[/code]

執行安裝
[code]yum –disablerepo=\* –enablerepo=php5_2 install php[/code]

新增FTP使用者並設定密碼
adduser 帳號
passwd 帳號(會提示輸入密碼)

設定網站目錄,一般設定完畢的使用者會再home目錄,
新增該用戶專用目錄,進入該用戶目錄後再設定一個
www目錄當作網域訪問時的網頁。[code]cd /home
chmod 777 userdir
mkdir www
chmod 777 www[/code]

設定vsftpd 禁止anonymous訪問
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES 改NO

#設定禁止訪問跟目錄
#尋找chroot_list_enable, chroot_list_file去除掉#字號chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

vi /etc/vsftpd/chroot_list
設定禁止訪問跟目錄帳號,填入剛剛設定的帳號
以防止經由FTP訪問主機跟目錄。

登入webmin開設新的網站
文件根目錄 設定/home/userdir/www
新增虛擬伺服器到檔案 /etc/httpd/conf.d/user.conf

PS:可以用預設也可以自行新增,

由於預設apache再啟動時會讀取conf.d資料夾
所有副檔名conf設定檔,因此採分開設定,
以方便往後編輯上方便,而且預設httpd.conf
無法再webmin控制台直接編輯。

如需要複寫模組請設定以下
vi /etc/httpd/conf/httpd.conf
在此段將AllowOverride None 改 All
# First, we configure the “default” to be a very restrictive set of
# features.
#
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>

修改剛剛新增的虛擬主機
[code]<Directory “/home/user/”>
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
ServerName     domain.com #(此處為設定域名用)
DocumentRoot  /home/user/www
CustomLog     /home/user/www.access_log combined #(訪問網站的log檔案)[/code]

MySQL其他設定
my-huge.cnf: 適合 1GB – 2GB RAM的主機使用。
my-large.cnf: 適合 512MB RAM的主機使用。
my-medium.cnf: 只有 32MB – 64MB RAM 的主機使用
my-small.cnf: 記憶體少於 64MB 時適用這個,MySQL 會佔用較少資源。

cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
service mysqld restart
vi /etc/my.cnf
加入
skip-innodb
skip-bdb
skip-name-resolve

以下配置可以占用更少但不建議
[code][mysqld]
skip-innodb
skip-bdb
skip-locking
skip-name-resolve
port            = 3306
socket          = /var/lib/mysql/mysql.sock
key_buffer = 32K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 128K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K

[mysqldump]
quick
max_allowed_packet = 12M
 
[mysql]
no-auto-rehash
#safe-updates

[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

 
[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M
 
[mysqlhotcopy]
interactive-timeout[/code]
新增httpd,MySQL,FTP重啟批次檔
vi www.sh
加入[code]service httpd restart
service mysqld restart
service vsftpd restart[/code]

設定權限
chmod 777 www.sh

排入系統排程自動執行

vi /etc/crontab 在# run-parts後新增
# run-parts
0 23 * * * root ./www.sh(此設定為每日23時從起httpd/mysqld/vsftpd服務)

crond重啟/讀入設定
service crond restart
service crond reload

完成設定

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *