Linux上安装sftp和php的详细教程 (linux php安装sftp)

Linux上安装SFTP和PHP的详细教程

在Linux操作系统上安装SFTP和PHP非常重要,因为SFTP是一种非常安全且可靠的文件传输协议,而PHP是一种广泛使用的脚本语言,它可以创建交互式网站和Web应用程序。在本文中,我们将详细说明如何在Linux系统上安装和配置SFTP和PHP。

一、安装SFTP

1.打开终端并以root或管理员身份登录,输入以下命令:

“`

sudo apt-get update

sudo apt-get install openssh-server

“`

2.安装完成后,启动SFTP服务,输入以下命令:

“`

sudo systemctl enable ssh

sudo systemctl start ssh

“`

3.为了更好地保护服务器,建议修改SSH配置文件并更改默认端口。输入以下命令:

“`

sudo nano /etc/ssh/sshd_config

“`

找到以下行:

“`

#Port 22

“`

将其更改为:

“`

Port 2222

“`

使用CTRL + X键保存并退出nano编辑器。

4.重启SSH服务,输入以下命令:

“`

sudo systemctl restart ssh

“`

现在您已成功安装和配置了SFTP服务。

二、安装PHP

1.打开终端并以root或管理员身份登录,输入以下命令:

“`

sudo apt-get update

sudo apt-get install php7.0

“`

2.安装完成后,您需要安装Apache Web服务器,输入以下命令:

“`

sudo apt-get install apache2

“`

3.将Apache Web服务器启动在端口80上,输入以下命令:

“`

sudo systemctl start apache2

“`

4.为了测试是否安装成功,在终端中输入以下命令:

“`

sudo nano /var/www/html/info.php

“`

将以下代码复制到打开的info.php文件中:

“`

“`

使用CTRL + X键保存并退出nano编辑器。

5.通过Web浏览器在localhost问info.php文件,输入以下链接:

“`

http://localhost/info.php

“`

如果您看到PHP信息页面,则表示PHP已成功安装。

综上所述,这是安装和配置SFTP和PHP的详细教程。在安装和配置完成之后,您可以在Linux系统上安全和可靠地传输文件,并使用PHP创建交互式Web应用程序和网站。

相关问题拓展阅读:

求,在linux 中,搭建ftp服务器的方法, 谢谢,

我最近也在研究ubuntu 9.10 搭建vsftp和proftpd.

FTP不安全,万不得已情况下,才可使用。

vsftp安全性相对较好

可采用sftp代替FTP

Linux另外常用的FTP:

proftp

vsftp

pureftp

下面以VSFTP为例:

安装方式一:源码包安装

useradd -s /bin/false -d /var/ftp ftpvirtual

cd ……

make

make install

cp vsftpd.conf /etc

/usr/local/in/vsftpd & #启动

安装方式二:rpm安装,推荐

rpm -ivh vsftpd-2.0.1-5.i386.rpm

或者 yum install vsftpd

/etc/init.d/vsftpd start

两种方式安装完成后,配置方法都一样,下面开始讲配置。

首先讲主配置文件常见配置

vi /etc/vsftpd/vsftpd.conf

anonymous_enable=NO #禁止匿名登录

local_enable=NO #禁止本地用户登录

write_enable=YES #对本地用户的写权限

local_umask=022 #本地用户文件生成掩码

dirmessage_enable=YES #显示隐藏文件

xferlog_enable=YES #启用上传和下载日志

connect_from_port_20=YES #服务器将启用FTP数据耐好端口的连接请求

xferlog_std_format=YES #服务器将使用标准的ftpd xferlog日志格式

pam_service_name=vsftpd #设置PAM认证服务的配置文件名称

userlist_enable=YES #设置文件中指定的用户是否可以访问vsftpd服务则旅器

listen=YES #FTP服务器将处于独立启动模式

tcp_wrappers=YES #使用tcp_wrappers作为主机访问控制方式

chroot_local_user=YES #将FTP本地用户禁锢在宿主目录中

chroot_list_enable=YES #将用户禁锢在宿主目录中

listen_address=192.168.0.2 #侦听地址

pasv_enable=YES #是否允使用被动模式,默认是允许的。

pasv_min_port=10000 #指定使用被动模式时打开端口的最小值

pasv_max_port=10004 #指定使用被动模式时打开端口的更大昌盯铅值。

max_clients=100 #设置FTP服务器所允许的更大客户端连接数,值为0时表示不限制

max_per_ip=5 #同一IP地址允许的更大客户端连接数,值为0时表示不限制,即线程

local_max_rate=#设置本地用户的更大传输速率,单位为bytes/sec,值为0时表示不限制

anon_max_rate=#设置匿名用户的更大传输速率,单位为bytes/sec,值为0表示不限制

use_localtime=YES #在vsftp之中的时间默认值是显式GMT时间,因此我们会发现上面的时间与我们时寄存取的时间差八小时。改了这一项就好了。

listen_port=10021 改端口

one_process_model=NO yes可增加性能,增加负载,便降低安全,建议NO

nopriv_user=nobody 默认以nobody运行vsftp

对外服务,建议使用stand alone方式启动,性能好。

仅内部人员,建议用super daemon启动,修改如下:

listen=NO

……略

vsftp默认使用GMT时间,建议修改如下:

use_localtime=YES

/etc/vsftpd.ftpusers #保存不允许进行FTP登录的本地用户帐号,提高系统的安全性

/etc/vsftpd.user_list

#禁止vsftpd.user_list中的用户

userlist_enable=YES

userlist_deny=YES

#仅允许vsftpd.user_list中的用户

userlist_enable=YES

userlist_deny=NO

日志:

vsftpd_log_file=/var/log/vsftpd.log

下面开始讲vsftp四种“用户认证”的方式

一、匿名用户 ftp anonymous

/var/ftp 默认主目录

在/etc/vsftpd/vsftpd.conf中:

anonymous_enable=YES

anon_upload_enable=YES

anon_other_write_enable=YES #可删除

chmod -R 777 /var/ftp/pub/

修改/var/ftp/pub的SELinux权限

执行以下命令,修改/var/ftp/pub这目录的类型:

chcon -R -t ftpd_anon_rw_t /var/ftp/pub/

anon_root=/var/www/html/ftp #改匿名用户的宿主目录

二、本地用户

默认支持,使用各自的宿主目录。不安全

local_root=/opt #新增这一项,改成其他路径

三、虚拟用户 PAM文件方式 推荐

建立虚拟用户口令库文件

# cat logins.txt

mike

pwabcd

john

pw1234

生成vsftpd的认证文件

db_load -T -t hash -f logins /etc/vsftpd/vsftpd_login.db

chmod 600 /etc/vsftpd/vsftpd_login.db

新创建虚拟用户所需的PAM配置文件

cat /etc/pam.d/vsftpd.vu

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

新创建虚拟用户的系统用户所要访问的目录并设置相应权限

# useradd -s /bin/false -d /home/ftpsite ftpvirtual

# chmod 700 /home/ftpsite

#设置vsftpd.conf配置文件,支持虚拟用户

guest_enable=YES

guest_username=ftpvirtual

pam_service_name=vsftpd.vu

user_config_dir=/etc/vsftpd/vsftpd_user_conf #添加用户配置文件目录设置

/etc/vsftpd/vsftpd_user_conf/mike (同名),这里没有的设置默认按vsftpd.conf的设置执行

anon_world_readable_only=NO #可以浏览FTP目录和下载文件

anon_upload_enable=YES #用户可以上传文件,等同于 write_enable=yes 允许上传

anon_mkdir_write_enable=YES #具有建立和删除目录的权利

anon_other_write_enable=YES #具有文件改名和删除文件的权限

local_root=/data/userspace #设置虚拟用户登录后的主目录

anon_max_rate=#以Bytes/s为单位,这里限8Mbit,范围大概在80%到120%之间

四、虚拟用户 mysql认证方式 推荐

1. mysql安装见mysql笔记

2.1 openssl-0.9.8e 源程序预编译时在日志中可能出现md5.h “Present But Cannot Be Compiled的错误,卸载下面某些包可能解决问题。

cyrus-sals-sql cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-devel openldap-devel

然后移除系统可能自带的:

mv /usr/bin/openssl /usr/bin/openssl.OFF

mv /usr/include/openssl /usr/include/openssl.OFF

ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl

ln -s /usr/local/ssl/include/openssl /usr/include/openssl

配置库文件搜索路径

#echo “/usr/local/ssl/lib” >> /etc/ld.so.conf

#ldconfig -v

2.2 或者安装openssl-0.9.8e的rpm包

3. pam_mysql-0.7RC1.tar.gz

#./configure –with-mysql=/usr/local/mysql –with-openssl=/usr/local/ssl

如果mysql是rpm安装的,则不带–with-mysql参数,如果openssl是rpm安装的,参数为–with-openssl

make;make install

注意pam_mysql.so路径,可能在/usr/lib/security/pam_mysql.so或/lib/security/pam_mysql.so

vi /etc/pam.d/vsftp.mysql #新建,仅两行

auth required /lib/security/pam_mysql.so user=vsftpd passwd=host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

account required /lib/security/pam_mysql.so user=vsftpd passwd=host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2

4.0 准备数据库、表和数据

mysql> create database vsftp;

mysql> grant select on vsftp.* to vsftpd@localhost identified by ‘123456’;

mysql> grant select on vsftp.* to identified by ‘123456’;

mysql> use vsftp;

mysql> create table users (

-> id int AUTO_INCREMENT NOT NULL,

-> name char(20) binary NOT NULL,

-> passwd char(48) binary NOT NULL,

-> primary key(id)

-> );

mysql> insert into users(name,passwd) values(‘hlc’,password(‘hlc’));

mysql> insert into users(name,passwd) values(‘holly’,password(‘holly’));

5.0 修改主配置文件

vi /etc/vsftpd/vsftpd.conf

guest_enable=YES

guest_username=vsftp

listen=YES

pam_service_name=vsftpd.mysql

以上完成了vsftp的配置,下面是补充:

dirmessage_enable=YES #设置欢迎语 在每个目录下建立.message,写入欢迎语即可。

db_load支持包(前面三个即可):

db4

db4-devel

db4-utils

db4-java

db4-tcl

Linux建议关闭selinux或征对FTP不做任何安全

setsebool -P -ftpd_disable_trans on

setsebool -P -allow_ftpd_full_access on

servie vsftpd restart

或者需要重启服务器

底下列出FTP访问中所出现数字代码的含意。

110 重新启动标记应答。

120 服务在多久时间内ready。

125 数据链路端口开启,准备传送。

150 文件状态正常,开启数据端口。

200 命令执行成功。

202 命令执行失败。

211 系统状态或是系统求助响应。

212 目录的状态。

213 文件的状态。

214 求助的讯息。

215 名称系统类型。

220 新的联机服务ready。

221 服务的控制端口关闭,可以注销。

225 数据链接开启,但无传输动作。

226 关闭数据端口,请求的文件操作成功。

227 进入passive mode。

230 用户登录。

250 请求的文件操作完成。

257 显示目前的路径名称。

331 用户名称正确,需要密码。

332 登入时需要帐户信息。

350 请求的操作需要进一部的命令。

421 无法提供服务,关闭控制连结。

425 无法开启数据链路。

426 关闭联机,终止传输。

450 请求的操作未执行。

451 命令终止:有本地的错误。

452 未执行命令:磁盘空间不足。

500 格式错误,无法识别命令。

501 参数语法错误。

502 命令执行失败。

503 命令顺序错误。

504 命令所接的参数不正确。

530 未登入。

532 储存文件需要账户登入。

550 未执行请求的操作。

551 请求的命令终止,类型未知。

552 请求的文件终止,储存位溢出。

553 未执行请求的的命令,名称不正确。

这宏毕是我自己蔽皮芹做的WORD文档握团,关于使用vsftp搭建ftp的

如何在 Linux 系统中如何更改 SFTP 端口

SFTP(SSH文件传输协议)是一种安全文件协议,用于如陵通过加密连接在两个主机之间传输文件。 它还允许您对远程文件执行各种文件操作并恢复文件传输。

SFTP可以替代旧版FTP协议。 它具有FTP的所有功能,但连接更加安全。

本文介绍了如何在Linux中更改默认的SFTP端口。 我们还将向您展示如何配置防火墙以允许在新端口上使用。

SFTP是SSH的子系统,并提供与SSH相同级别的安全性。

默认的SFTP端口为22。

更改默认的 SFTP / SSH 端口可以降低自动攻击的风险,从而为服务器增加一层额外的安全保护。

下面的步骤详细讲解了如何更改SFTP默认端口:

在Linux中,低于1024的端口号是为知名服务保留的,只能由root绑定。 尽管可以将1-1024范围内的端口用于SSH服务以避免端口分配问题,但建议选择1024以上的端口。

本示例说明如何将SFTP/SSH端口更改为2222,但是您可以选择自己喜欢的任何端口。

更改SFTP / SSH端口之前,您需要在防火墙中打开新端口。

如果您正在使用UFW(Ubuntu中的默认防火墙),请运行以下命令以打开端口:

在 CentOS 中,默认的防火墙管理工具是 FirewallD 。 要打开端口,请输入以下命令:

CentOS用户还需要调整SELinux规则以允许新的SSH端口:

如果您使用的是另一个运行 iptables 的 Linux发行版 ,请打开新的端口运行:

SSH服务器配置存储在 /etc/ssh/sshd_config 文件中。 使用文本编辑器打开虚皮文件:

搜索以端口22开头的行。通常,该行使用井号(#)注释掉。 删除哈希号,然后输入新的SSH端口号:

编辑配置文件时要非常小心。 错误的配置可能会阻止SSH服务启动。

完成后,保存文件并重新启动SSH服务以使更改生效:

在CentOS中,SSH服务名为sshd:

验证SSH守护程序正在侦听新端口:

ss -an | grep 2222

输出应如下所示:

要指定端口号,请使用 -P 选项调用 sftp 命令 ,后跟新的端口号:

如果使用的是GUI SFTP客户端渣誉戚,只需在客户端界面中输入新端口。

默认的SFTP端口为22。但是,您可以将端口更改为所需的任何数字。

如果您定期连接到多个系统,则可以通过在SSH配置文件中定义所有连接来简化工作流程。

如有任何疑问,请随时发表评论。

关于linux php安装sftp的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux上安装sftp和php的详细教程 (linux php安装sftp)