文章上半部為Ubuntu安裝vsftpd的流程,
AWS後台的設定可直接瀏覽文章底部內容。
首先要安裝FTP的程式(vsftpd):
$ sudo apt-get install vsftpd
安裝好後,修改設定檔$ sudo vi /etc/vsftpd.conf
。
local_enable = YES //讓實體User可以使用FTP chroot_local_user = YES //綁User的家目錄,不能去上層目錄 write_enable = YES //讓使用者可以寫入 local_umask=022 //讓檔案權限=755
設定時有參考鳥哥:FTP伺服器設定
以下為新增帳戶的部分:
$ useradd -g 群組 -d 家目錄 帳號名稱
這個指令是新增帳號,如果是裝Apache的使用者,
家目錄參數可以設在/var/
->即網站根目錄(WWW)的上一層。
*chroot_local_user設為YES時,FTP帳戶不得有家目錄之權限,
權限必須設在家目錄的子資料夾(如上述的WWW),否則無法訪問FTP。
$ passwd 帳號名稱
這個指令用來設定帳號的密碼。
如果是多帳戶、多網站的環境,例如:
一個班級每個學生都擁有自己的網頁空間,
且每個學生的學號為一個帳戶。
實作後的網址為:http://網站.com/~學號
則可以開啟Apache的userdir功能模組。
如果不需要此功能可略過這部分。
sudo a2enmod userdir
這個指令是開啟Apache的userdir模組。
接著修改userdir的設定:sudo vi /etc/apache2/mods-enabled/userdir.conf
修改如下:
UserDir public_html UserDir disabled root AllowOverride FileInfo AuthConfig Limit Indexes Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Order allow,deny Allow from all Order deny,allow Deny from all
做到這裡,此時PHP的檔案應都開不起來,
我們還要修改PHP的設定檔。
$ sudo vi /etc/apache2/mods-available/php5.conf
打開後,註解有提到要re-enable php要註解<IfModule>這個標籤的內容。
修改後如下:
<FilesMatch ".ph(p3?|tml)$"> SetHandler application/x-httpd-php <FilesMatch ".phps$"> SetHandler application/x-httpd-php-source # To re-enable php in user directories comment the following lines # (from to .) Do NOT set it to On as it # prevents .htaccess files from disabling it. # # # php_admin_value engine Off # #
最後,在每個帳號的家目錄底下建立資料夾public_html
,
重新啟動apache後,試試看http://網站.com/~帳號
,
此時應可正常運作。
下述是AWS的設定:
在Security Groups的Inbound開啟21port,
再使用上述建立的帳號、密碼去連Public IP即可。
留言列表