假設所有網站都放在 /home/www ,例如
/home/www/www.aaa.com
/home/www/www.bbb.com
先關閉防火牆及 selinux,稍後再打開。
# setenforce 0
# service iptables stop
建立共用帳號
# useradd www -g www -d /home/www -s /sbin/nologin
# chmod 775 /home/www -R
建立網站資料夾
# mkdir /home/www/www.aaa.com
# mkdir /home/www/www.bbb.com
# chown www:www /home/www/* -R
# chmod 2775 /home/www/* -R
設定 ftp
本篇ftp使用 vsftpd + mysql,參考本站另一篇:
vsftpd 虛擬帳號設定 - 使用檔案清單或 MySQL
假設帳號密碼
wwwaaa / mypassword
wwwbbb / mypassword
在mysql新增ftp帳號
# mysql -u root -p
mysql> USE vsftpd;
mysql> INSERT INTO `accounts` (`username`, `pass`, `group`) VALUES ('wwwaaa', md5('mypassword'), 'www');
mysql> INSERT INTO `accounts` (`username`, `pass`, `group`) VALUES ('wwwbbb', md5('mypassword'), 'www');
mysql> exit;
建立 vsftpd 設定檔
# vim /etc/vsftpd/userconf/wwwaaa
local_root=/home/www/www.aaa.com
guest_username=www
# vim /etc/vsftpd/userconf/wwwbbb
local_root=/home/www/www.bbb.com
guest_username=www
修改 httpd.conf
# vim /etc/httpd/conf/httpd.conf
ServerAdmin mymail@gmail.com
修改虛擬網站
# vim /etc/httpd/conf.d/vhosts.conf
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin mymail@gmail.com
DocumentRoot "/home/www/www.aaa.com/httpdocs"
ServerName www.aaa.com
ServerAlias aaa.com
ErrorLog "logs/www.aaa.com-error.log"
CustomLog "logs/www.aaa.com-access.log" combined
<Directory />
Options FollowSymLinks Includes ExecCGI
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAdmin mymail@gmail.com
DocumentRoot "/home/www/www.bbb.com/httpdocs"
ServerName www.bbb.com
ServerAlias bbb.com
ErrorLog "logs/www.bbb.com-error.log"
CustomLog "logs/www.bbb.com-access.log" combined
<Directory />
Options FollowSymLinks Includes ExecCGI
AllowOverride All
</Directory>
</VirtualHost>
以上應該就可以了。
設定防火牆
# system-config-firewall
開啟 http port。
# service iptables start
設定selinux
# semanage fcontext -a -t httpd_sys_content_t "/home/www(/.*)?"
# semanage fcontext -a -t httpd_sys_rw_content_t "/home/www/([^/]+)(/.*)?";
# restorecon -Rv /home/www
# setenforce 1
查詢
# getsebool -a | grep httpd
沒有留言:
張貼留言