要使用PhpStorm连接CentOS的FTP服务,需先确保CentOS上已正确安装并配置FTP服务器(以vsftpd为例)。
通过yum包管理器安装vsftpd:
sudo yum install -y vsftpd
编辑vsftpd的主配置文件/etc/vsftpd/vsftpd.conf,调整以下关键参数(建议备份原文件后再修改):
sudo vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NOlocal_enable=YESwrite_enable=YESchroot_local_user=YESpasv_enable=YES、pasv_min_port=60000、pasv_max_port=61000保存并退出编辑器。
ftpuser为例)并设置主目录:sudo useradd -d /var/ftp/ftpuser -g ftp ftpuser
sudo passwd ftpuser
sudo mkdir -p /var/ftp/ftpuser/upload
sudo chown ftpuser:ftp /var/ftp/ftpuser/upload
sudo chmod 755 /var/ftp/ftpuser/upload
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --permanent --add-port-range=60000-61000/tcp
sudo firewall-cmd --reload
sudo setenforce 0
或修改SELinux配置文件/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后重启系统。完成CentOS上的FTP配置后,需在PhpStorm中添加对应的服务器配置,实现本地项目与远程服务器的同步。
File > Settings(或使用快捷键Ctrl+Alt+S)。Build, Execution, Deployment,选择Deployment。+号,选择FTP(或SFTP,若需更安全的连接)。FTP(若使用SFTP则选SFTP)。192.168.1.100)或域名。21(若修改过vsftpd的端口,需填写修改后的值)。ftpuser)。点击Test Connection按钮,验证PhpStorm是否能成功连接到CentOS的FTP服务器。若提示“Connection successful”,则表示配置正确;若失败,需检查以下问题:
systemctl status vsftpd)。firewall-cmd --list-ports)。getenforce,若为Enforcing需调整策略)。ls -ld /var/ftp/ftpuser,应属于ftpuser:ftp)。切换到Mappings标签页,设置本地项目与远程服务器目录的对应关系:
/home/user/myproject)。upload,完整路径为/var/ftp/ftpuser/upload)。/,用于PhpStorm的预览功能)。点击OK保存所有设置。此时,PhpStorm已成功配置FTP连接,可通过以下方式使用:
Settings > Build, Execution, Deployment > Deployment中,将“Upload changed files automatically to the default server”设置为On explicit save action(保存时自动上传)或Always(总是自动上传)。Deployment > Upload to [服务器名称]。Download to。pasv_enable=YES),并在PhpStorm的FTP配置中填写被动模式端口范围(Pasv port range)。chmod 755或chmod 775,避免使用777)。