环境:
- ubuntu18.04
- apache2
apache 安装
sudo apt install apache2
查看 apache 状态
sudo systemctl status apache2
重启 apache
sudo systemctl restart apache2
apache 配置
https://blog.csdn.net/yudelian/article/details/105200625
共需要修改两个文件
- /etc/apache2/sites-available/000-default.conf
- /etc/apache2/apache2.conf
注意 修改配置完成后要重启apache2生效设置
目标 可以直接在web访问 /home/newftpuser 文件下的所有文件
设置工作目录
在/etc/apache2/sites-available/000-default.conf中修改DocumentRoot 的目录至你想要的目录
我这里的目录是 /home/newftpuser
DocumentRoot /home/newftpuser
此时,可以 重启 apache,重新查看网页,也许会出现
Forbidden You don’t have permission to access /dir/ on this server
那么你需要解决 权限问题
解决权限问题
在文件/etc/apache2/sites-available/000-default.conf 中添加(其实在/etc/apache2/apache2.conf 中添加也一样)(我这里选000-default.conf)
<Directory /home/newftpuser>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
apache 访问 好像是用 www-data 这个用户访问的,我们在 shell 中输入以下命令,让www-data 可以被访问到
# 添加已有用户到 www-data 用户组,
sudo gpasswd -a <usermane> www-data
# 我这里是用户是 newftpuser 所以
sudo gpasswd -a newftpuser www-data
# /home/newftpuser 修改成你自己想要的文件目录
sudo chown -R www-data:www-data /home/newftpuser
sudo chmod -R g+rw /home/newftpuser
记得修改完重启 apache2
apache 文件目录 中文乱码
https://cloud.tencent.com/developer/article/1430070
如果目录乱码请调整,否则请跳过
因为我用的是ftp 文件主要是从 windows传过来的 ,中文文件出现了乱码我这边需要调整成 GB2312
在文件 /etc/apache2/sites-available/000-default.conf 中添加(其实在/etc/apache2/apache2.conf 中添加也一样)(我这里选000-default.conf)
IndexOptions Charset=GB2312
记得修改完重启 apache2
Apache 文件目录访问添加密码
核心还是改 Directory
在此之前 我们先通过htpasswd命令在 shell 创建一个登陆账号和密码
sudo htpasswd -c <you_password_file_save_path>/.htpasswd
# 这里我用的是(admin 是账户名,根据需要修改)
sudo htpasswd -c /home/hyaline/.htpasswd admin
# 后面会让你输入两边密码
修改Directory,我这是在 000-default.conf
<Directory /home/newftpuser>
Options Indexes FollowSymLinks
AllowOverride None
AuthType basic
AuthName "Authorization"
AuthUserFile /home/hyaline/.htpasswd
Require valid-user
</Directory>
ftp 上传的文件不在web显示
修改/etc/vsftpd.conf 中的 local_umask,他和我们 chmod 时的 数字效果是反过来的 例如 local_umask默认是077 翻译成 chmod时的 效果就是 700 就是除了 owner 有所有权限,其他都没有权限,这里我们用 022 也就是 翻译成 chmod时的 效果就是 755 就是让 group用户 和 其他用户拥有读和写的权利
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
添加完成后的文件(000-default.conf)
添加完之后我的是这个样子 我只修改了 000-default.conf