在linux下使用Apache搭建文件服务器

  • A+
所属分类:linux技术
摘要

​ 在一个项目中,如果想把公共软件或者资料共享给项目组成员,可以搭建一个简易的文件服务器来实现,只要是在局域网内的成员都可以通过浏览器或者wget命令来下载和访问资料。可以达到信息共享,软件版本一致的效果。本文讲述在linux环境下使用Apache服务搭建文件服务器。

一.关于文件服务器

​ 在一个项目中,如果想把公共软件或者资料共享给项目组成员,可以搭建一个简易的文件服务器来实现,只要是在局域网内的成员都可以通过浏览器或者wget命令来下载和访问资料。可以达到信息共享,软件版本一致的效果。本文讲述在linux环境下使用Apache服务搭建文件服务器。

二.使用Apache搭建文件服务器

1.Apache服务在linux环境下的程序叫做httpd,所以首先安装httpd服务,如果配置好了yum源的话,直接使用yum命令安装,如果没有配置好yum源的话,可以参考博客“linux 配置本地yum源,配置国内yum源,配置epel源”进行配置,网址为:https://www.cnblogs.com/renshengdezheli/p/13949693.html

[root@node5 ~]# yum -y install httpd 

2.启动httpd服务

#启动httpd服务 [root@node5 ~]# systemctl start httpd  #查看httpd服务状态 [root@node5 ~]# systemctl status httpd ● httpd.service - The Apache HTTP Server    Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)    Active: active (running) since Thu 2020-12-17 16:26:05 CST; 7s ago      Docs: man:httpd(8)            man:apachectl(8)  Main PID: 98576 (httpd)    Status: "Processing requests..."    CGroup: /system.slice/httpd.service            ├─98576 /usr/sbin/httpd -DFOREGROUND            ├─98577 /usr/sbin/httpd -DFOREGROUND            ├─98578 /usr/sbin/httpd -DFOREGROUND            ├─98579 /usr/sbin/httpd -DFOREGROUND            ├─98580 /usr/sbin/httpd -DFOREGROUND            └─98581 /usr/sbin/httpd -DFOREGROUND  Dec 17 16:26:05 node5 systemd[1]: Starting The Apache HTTP Server... Dec 17 16:26:05 node5 httpd[98576]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.110.184. Set the 'ServerName' directive globally to su...ss this message Dec 17 16:26:05 node5 systemd[1]: Started The Apache HTTP Server. Hint: Some lines were ellipsized, use -l to show in full.  #查看Apache版本 [root@node5 ~]# httpd -version Server version: Apache/2.4.6 (CentOS) Server built:   Nov 16 2020 16:18:20 

3.查看IP地址,访问Apache页面

#可以看到本机IP地址为192.168.110.184 [root@node5 soft]# ifconfig  ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500         inet 192.168.110.184  netmask 255.255.255.0  broadcast 192.168.110.255         ether 00:0c:29:11:c4:4a  txqueuelen 1000  (Ethernet)         RX packets 24682  bytes 13301526 (12.6 MiB)         RX errors 0  dropped 4  overruns 0  frame 0         TX packets 15119  bytes 2166095 (2.0 MiB)         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0  lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536         inet 127.0.0.1  netmask 255.0.0.0         inet6 ::1  prefixlen 128  scopeid 0x10<host>         loop  txqueuelen 1  (Local Loopback)         RX packets 2402  bytes 221903 (216.7 KiB)         RX errors 0  dropped 0  overruns 0  frame 0         TX packets 2402  bytes 221903 (216.7 KiB)         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0 

在浏览器里访问http://192.168.110.184/,如果出现如下界面说明Apache服务安装成功

在linux下使用Apache搭建文件服务器

4.创建共享目录/opt/soft,把需要共享的文件都放在这个目录

[root@node5 soft]# mkdir /opt/soft  #此命令把系统所有的tar.gz的压缩包都放在共享目录里 [root@node5 soft]# find / -name "*.tar.gz" -exec mv {} /opt/soft ;  [root@node5 soft]# ls /opt/soft/ amhello-1.0.tar.gz            elasticsearch-6.2.2.tar.gz         FastDFS_v5.08.tar.gz        kibana-6.2.2-linux-x86_64.tar.gz  nginx-1.19.3.tar.gz         ntp-4.2.6p5.tar.gz     tomcat-native.tar.gz apache-tomcat-8.0.51.tar.gz   fastdfs_client_java._v1.25.tar.gz  findfile.tar.gz             libopts-40.0.15.tar.gz            nginx-1.8.0.tar.gz          rarlinux-3.8.0.tar.gz  饼干.txt commons-daemon-native.tar.gz  fastdfs-nginx-module_v1.16.tar.gz  jdk-8u172-linux-x64.tar.gz  nginx-1.10.0.tar.gz               ngx_cache_purge-2.3.tar.gz  today_db.tar.gz 

5.因为访问Apache页面默认读取的是/var/www/html/页面,所以把共享目录链接到/var/www/html/下就可以了

[root@node5 ~]# ln -s /opt/soft /var/www/html/file  [root@node5 ~]# ll /var/www/html/file lrwxrwxrwx 1 root root 9 Dec 17 16:29 /var/www/html/file -> /opt/soft 

6.重启Apache服务,查看页面

[root@node5 ~]# systemctl restart httpd 

使用浏览器访问http://192.168.110.184/file/,如果出现如下界面,就说明文件服务器搭建好了

在linux下使用Apache搭建文件服务器

7.通过网页我们发现中文是乱码,可以修改配置文件使中文正常显示

#在Apache配置文件的末尾追加一行 [root@node5 ~]# echo "IndexOptions Charset=UTF-8" >> /etc/httpd/conf/httpd.conf  [root@node5 ~]# systemctl restart httpd 

再次访问网页http://192.168.110.184/file/,发现页面的中文正常显示了

在linux下使用Apache搭建文件服务器

三.测试文件服务器是否可用

1.在windows上使用浏览器访问http://192.168.110.184/file/,如果页面可以打开,并且点击软件会自动下载,说明通过windows下载文件成功。

2.在局域网内的另外一台linux机器上测试是否可以下载文件

#首先在node8机器上使用root账户测试下载文件 #使用wget命令下载文件 [root@node8 ~]# wget http://192.168.110.184/file/饼干.txt --2020-12-17 16:53:00--  http://192.168.110.184/file/%E9%A5%BC%E5%B9%B2.txt Connecting to 192.168.110.184:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1181 (1.2K) [text/plain] Saving to: ‘饼干.txt’  100%[=======================================================================================================================================================================>] 1,181       --.-K/s   in 0s        2020-12-17 16:53:00 (130 MB/s) - ‘饼干.txt’ saved [1181/1181]   [root@node8 ~]# wget http://192.168.110.184/file/today_db.tar.gz --2020-12-17 16:53:26--  http://192.168.110.184/file/today_db.tar.gz Connecting to 192.168.110.184:80... connected. HTTP request sent, awaiting response... 200 OK Length: 767 [application/x-gzip] Saving to: ‘today_db.tar.gz’  100%[=======================================================================================================================================================================>] 767         --.-K/s   in 0s        2020-12-17 16:53:26 (268 MB/s) - ‘today_db.tar.gz’ saved [767/767]  #发现文件能正常下载 [root@node8 ~]# ls 饼干.txt today_db.tar.gz today_db.tar.gz  饼干.txt  #使用node8机器上的普通账户file1测试下载文件 [root@node8 ~]# useradd file1  [root@node8 ~]# echo "123456" | passwd --stdin file1 Changing password for user file1. passwd: all authentication tokens updated successfully.  [root@node8 ~]# su - file1  [file1@node8 ~]$ pwd /home/file1 [file1@node8 ~]$ ls [file1@node8 ~]$ wget http://192.168.110.184/file/饼干.txt --2020-12-17 17:44:10--  http://192.168.110.184/file/%E9%A5%BC%E5%B9%B2.txt Connecting to 192.168.110.184:80... connected. HTTP request sent, awaiting response... 200 OK Length: 1181 (1.2K) [text/plain] Saving to: ‘饼干.txt’  100%[=======================================================================================================================================================================>] 1,181       --.-K/s   in 0s        2020-12-17 17:44:10 (254 MB/s) - ‘饼干.txt’ saved [1181/1181]  [file1@node8 ~]$ wget http://192.168.110.184/file/today_db.tar.gz --2020-12-17 17:44:20--  http://192.168.110.184/file/today_db.tar.gz Connecting to 192.168.110.184:80... connected. HTTP request sent, awaiting response... 200 OK Length: 767 [application/x-gzip] Saving to: ‘today_db.tar.gz’  100%[=======================================================================================================================================================================>] 767         --.-K/s   in 0s        2020-12-17 17:44:20 (216 MB/s) - ‘today_db.tar.gz’ saved [767/767]  #发现能正常下载文件 [file1@node8 ~]$ ls today_db.tar.gz  饼干.txt 

自此文件服务器搭建成功,功能正常。