使用Ubuntu+apache设置带验证的http服务器
安装apache2
sudo apt-get update
sudo apt-get install apache2
apache2安装成功后,我们可以在/var/www/目录下看到一个html文件夹
重启apache2
sudo /etc/init.d/apache2 restart
使用同一局域网的设备登录ubuntu的ip地址就能访问到此页面了
管理文件
需要在/var/www/html目录下建立一个文件夹快捷方式(需要在网页上显示的文件的目录)
sudo ln -sf /home/your/source_file whatever_file
使用http://192.168.88.88/whatever_file
可访问该文件夹了
创建密码文件
首先输入
sudo htpasswd -c /etc/apache2/.htpasswd your_login_name
之后会提示要求输入设定的密码和再次re-type一遍密码。
如果我们查看文件的内容,我们可以看到每条记录的用户名和加密的密码:
cat /etc/apache2/.htpasswd
>>>your_login_name:$apr1$.0CAabqX$rb8lueIORA/p8UzGPYtGs/
配置Apache密码身份验证
对于我这种只用来访问一些个人文件的使用场景,只有我一个用户,所以不用考虑多复杂的情况。直接用最简便的部署方法即可。
首先打开一个文件并且编辑
sudo gedit /etc/apache2/apache2.conf
找到下面这块内容,把AllowOverride后面的None改为All
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
完成后保存并关闭文件。
第二步打开这个文件
sudo gedit /var/www/html/.htaccess
把下面的内容复制粘贴进去并保存
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
之后重启apache2
sudo systemctl restart apache2
确认密码验证
这之后再访问http://192.168.88.88
就需要输入用户名和密码了